import { s } from '../schema'; import type { SystemPrompt } from '../prompt/types'; import { ComponentTreeSchema, ExposedComponentDescriptor } from './expose-component'; declare const UI_KIT_SYMBOL: unique symbol; /** * @public */ export type UiKitInput = T | UiKit; /** * @public */ export interface UiKitOptions { /** * Components or other UiKit instances to compose. */ components: readonly UiKitInput[]; /** * Optional prompt-based UI examples to include in the wrapper schema description. */ examples?: SystemPrompt; } /** * @public */ export interface UiKit { /** * @internal */ readonly [UI_KIT_SYMBOL]: true; /** * The normalized list of exposed components. */ readonly components: readonly T[]; /** * A registry of component definitions keyed by name. */ readonly registry: ReadonlyMap; /** * The resolved wrapper schema for UI output. */ readonly schema: s.ObjectType<{ ui: s.ArrayType; }>; /** * Compiled UI examples used by the schema description. */ readonly examples: string | null; /** * Stable serialized form of the resolved schema. */ readonly serializedSchema: string; } /** * @public */ export declare function isUiKit(value: unknown): value is UiKit; /** * Creates a UIKit instance from exposed components and/or other UiKits. * * @public */ export declare function createUiKit(options: UiKitOptions): UiKit; export { UI_KIT_SYMBOL as ɵUI_KIT_SYMBOL }; //# sourceMappingURL=ui-kit.d.ts.map