import type { LayoutProps, NamedLayoutProps } from './types'; export interface LayoutDefinition { component: Component; props: Record; name?: string; } export type LayoutCallbackReturn = C | [C, Record?] | C[] | (C | [C, Record?])[] | { component: C; props?: Record; } | Record?] | { component: C; props?: Record; }> | Partial; export interface LayoutPropsStore { set(props: Partial): void; setFor(name: K, props: Partial): void; get(): { shared: Record; named: Record>; }; reset(): void; subscribe(callback: () => void): () => void; } export declare function createLayoutPropsStore(): LayoutPropsStore; type ComponentCheck = (value: unknown) => value is T; export declare function isPropsObject(value: unknown, isComponent: ComponentCheck): boolean; export declare function isPropsObjectOrCallback(value: unknown, isComponent: ComponentCheck): boolean; /** * Normalizes layout definitions into a consistent structure. */ export declare function normalizeLayouts(layout: unknown, isComponent: ComponentCheck, isRenderFunction?: (value: unknown) => boolean): LayoutDefinition[]; export {};