/** * Vue adapter for @a2ui/web_core v0.9 component rendering. * * Provides createVueComponent — the Vue equivalent of createReactComponent * from the React renderer. Uses GenericBinder for reactive data binding * and Vue's render functions for component output. */ import { defineComponent, type VNode } from "vue"; import { ComponentContext, type ComponentApi, type InferredComponentApiSchemaType, type ResolveA2uiProps } from "@a2ui/web_core/v0_9"; /** Props passed to a Vue A2UI component's render function. */ export interface VueA2uiComponentProps { props: T; buildChild: (id: string, basePath?: string) => VNode; context: ComponentContext; state: S; } /** * A Vue component implementation registered with the A2UI Catalog. * Mirrors ReactComponentImplementation but uses Vue's component system. */ export interface VueComponentImplementation extends ComponentApi { /** The Vue component that handles rendering. */ render: ReturnType; } /** * Creates a Vue component implementation using the GenericBinder. * This is the Vue equivalent of createReactComponent from the React adapter. */ export declare function createVueComponent(api: Api, renderFn: (componentProps: VueA2uiComponentProps>, S>) => VNode | VNode[] | null, setupState?: () => S): VueComponentImplementation; /** * Creates a Vue component implementation without the generic binder * (for components that manage their own context bindings). */ export declare function createBinderlessVueComponent(api: ComponentApi, renderFn: (componentProps: { context: ComponentContext; buildChild: (id: string, basePath?: string) => VNode; }) => VNode | VNode[] | null): VueComponentImplementation; //# sourceMappingURL=adapter.d.ts.map