/** * Shared resolver configuration factory for client and server. * * @packageDocumentation */ import { ContextKey } from './context-registry.js'; /** * Service registry for dependency injection. */ export type ServiceRegistry = Map; /** * Resolver configuration for dependency injection. */ export interface ResolverConfig { resolveContext: (key: ContextKey) => unknown; resolveState: () => Record; resolveRootState?: () => Record; resolveCustom: (name: string) => unknown; mode: 'client' | 'server'; } /** * Create the resolveCustom function shared by client and server. * * @param el - The element for provider lookup * @param services - The global service registry * @returns A function that resolves custom dependencies */ export declare function createCustomResolver(el: Element, services: ServiceRegistry): (name: string) => unknown; /** * Create resolver config for client-side dependency resolution. * * @param el - The element being processed * @param resolveState - Function to resolve the current state * @param services - The global service registry * @returns Resolver configuration for client mode */ export declare function createClientResolverConfig(el: Element, resolveState: () => Record, services: ServiceRegistry): ResolverConfig; /** * Create resolver config for server-side dependency resolution. * * @param el - The element being processed * @param scopeState - The current scope state * @param rootState - The root state object * @param services - The global service registry * @returns Resolver configuration for server mode */ export declare function createServerResolverConfig(el: Element, scopeState: Record, rootState: Record, services: ServiceRegistry): ResolverConfig;