import { TemplateResult } from "lit"; import { ComponentApi, ComponentContext, InferredComponentApiSchemaType, ResolveA2uiProps, SurfaceModel } from "@a2ui/web_core/v0_9"; import { ZodObject, ZodRawShape, z } from "zod"; //#region src/web-components/types.d.ts type LitRenderable = TemplateResult | Node | string | number | boolean | null | undefined | LitRenderable[]; interface LitComponentImplementation extends ComponentApi { render: (context: ComponentContext, buildChild: (id: string, basePath?: string) => LitRenderable) => LitRenderable; } interface LitA2UIComponentProps { props: T; buildChild: (id: string, basePath?: string) => LitRenderable; context: ComponentContext; state: S; requestUpdate: () => void; } type LitRendererFn = (componentProps: LitA2UIComponentProps>, S>) => LitRenderable; interface RendererProps> { props: T; children: (id: string, basePath?: string) => LitRenderable; dispatch?: (action: unknown) => void; } type ComponentRenderer> = (props: RendererProps) => LitRenderable; interface CatalogComponentDefinition { props: ZodObject; description?: string; } type CatalogDefinitions = Record>; type PropsOf = z.infer; type CatalogRenderers = { [K in keyof D]: ComponentRenderer> }; interface A2UISurfaceElement extends HTMLElement { operations: unknown[]; catalog?: unknown; theme?: Record; surfaceId?: string; loadingComponent?: unknown; } interface A2UINodeElement extends HTMLElement { surface?: SurfaceModel; componentId?: string; basePath?: string; } //#endregion export { A2UINodeElement, A2UISurfaceElement, CatalogComponentDefinition, CatalogDefinitions, CatalogRenderers, ComponentRenderer, LitA2UIComponentProps, LitComponentImplementation, LitRenderable, LitRendererFn, PropsOf, RendererProps }; //# sourceMappingURL=types.d.mts.map