import type { ComponentFactory, ComponentType, ComponentTypeHandle, ComponentTypeDictionary } from './types.js'; export declare const MERGE_SYMBOL = "/"; export declare const EmptyComponentHandle = "$$fragment$$"; /** * The default implementation of the ComponentFactory interface, which works both * client and server side. */ export declare class DefaultComponentFactory implements ComponentFactory { private registry; private dbg; private withFallback; /** * A list of interfaces to ignore when resolving components. Adjust this * list if you're experiencing issues with resolving components due to * contracts. Values **must be** provided lowercase and without leading * underscore. For example `_Item` must be provided as `item`. * * The default value includes the common ones for SaaS CMS. */ readonly ignoredContracts: string[]; readonly defaultVariant: string; /** * Create a new instance of the DefaultComponentFactory * * @param initialComponents If provided, this dictionary will be registered * with the factory. */ constructor(initialComponents?: ComponentTypeDictionary, withFallback?: boolean); register(type: ComponentTypeHandle, component: ComponentType, useSuspense?: boolean, loader?: ComponentType, variant?: string): void; registerAll(components: ComponentTypeDictionary): void; has(type: ComponentTypeHandle, variant?: string): boolean; resolve(type: ComponentTypeHandle, variant?: string): undefined | ComponentType; private _get; private _has; extract(): ComponentTypeDictionary; remove(type: ComponentTypeHandle): boolean; /** * Process the component variant handle into * * @param handle * @param variant * @returns */ private processComponentTypeHandle; private processComponentTypeHandleForLookup; }