import { type UiWrapper } from "@hashbrownai/core"; import { type OrchestrationTool } from "@frenchfryai/core"; import { type ExposedComponent, type UiKit } from "@hashbrownai/react"; import { type ComponentType } from "react"; /** * Represents an imperative UI generation registration consumed by `VoiceAgent`. */ export type GenUiRegistration = { id: string; onToolCallDelta: (input: { callId: string; delta: string; }) => void; onToolCallDone: (input: { callId: string; name?: string; }) => void; onToolCallStart: (input: { callId: string; }) => void; orchestrationTool: OrchestrationTool; sessionTool: { description: string; name: string; parameters: unknown; type: "function"; }; }; /** * Represents configuration for `useGenUi`. */ export type UseGenUiOptions = { kit: UiKit>>; outlet: string; toolName?: string; toolNames?: readonly string[]; }; /** * Creates an outlet-targeted UI generation pipeline backed by Hashbrown parsing/rendering. * * @param options UI generation options. * @returns Registration object consumed by `VoiceAgent`. */ export declare const useGenUi: (options: UseGenUiOptions) => GenUiRegistration; /** * Determines whether a done event should be rendered for a configured tool-name filter. * * @param name Tool name from done event. * @param allowedToolNames Optional allowed list. * @returns True when the event should be rendered. */ export declare const shouldHandleToolName: (name: string | undefined, allowedToolNames: readonly string[] | undefined) => boolean; /** * Type guard for runtime values that match Hashbrown's UI wrapper shape. * * @param value Runtime value. * @returns True when value is a UI wrapper. */ export declare const isUiWrapper: (value: unknown) => value is UiWrapper; //# sourceMappingURL=use-gen-ui.d.ts.map