<?php
/**
 * Public Lite extension surface.
 *
 * @package EntryFoundry
 */

if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

use EntryFoundry\Core\Services\Extension\RegistryStore;
// Function names and types form the public extension contract.
// phpcs:disable Squiz.Commenting, Generic.Commenting.DocComment

function entryfoundry_is_pro(): bool {
	return function_exists( 'apply_filters' ) ? (bool) apply_filters( 'entryfoundry_is_pro', false ) : false;
}
function entryfoundry_register_element_type( string $type, ?callable $renderer = null ): void {
	RegistryStore::elements()->register( $type, $renderer );
}
function entryfoundry_register_hydrate_step( string $name, callable $callback, int $priority = 10 ): void {
	RegistryStore::hydrate()->register( $name, $callback, $priority );
}
/** @param array<string,mixed> $profile */
function entryfoundry_register_profile( array $profile ): void {
	RegistryStore::profiles()->register( $profile );
}
