import { CSSProperties, ForwardRefExoticComponent, PropsWithoutRef, ReactNode, RefAttributes } from 'react'; export interface WebComponentProps { /** Color mode (`auto` follows prefers-color-scheme). */ theme?: 'light' | 'dark' | 'auto'; className?: string; style?: CSSProperties; id?: string; /** Light-DOM children passed through to the element (slots). */ children?: ReactNode; } /** Eagerly register ALL kai-* elements (the register-all bundle). Opt-in escape * hatch for consumers who prefer no first-mount upgrade delay. Browser-only; * a no-op on the server. */ export declare function registerAll(): Promise | undefined; export declare function createWebComponent

(tagName: string, /** DOM-property names to assign from props (incl. `theme`). */ propNames: readonly string[], /** Map of React handler prop → DOM event name. */ eventMap: Record, /** Client-only thunk that loads + registers this element (a literal dynamic * import of its `@kitn.ai/ui/elements/` chunk). */ register?: () => Promise): ForwardRefExoticComponent & RefAttributes>;