import { type ToolActionEvent } from '../types';
interface Part {
    state: 'input-available' | 'input-streaming' | 'output-available' | 'output-error' | 'approval-requested' | 'approval-responded' | 'output-denied';
    input?: Record<string, any>;
    output?: any;
    errorText?: string;
    toolCallId: string;
    approval?: {
        id: string;
        approved?: never;
        reason?: never;
    } | {
        id: string;
        approved: true;
        reason?: string;
    } | {
        id: string;
        approved: false;
        reason?: string;
    };
}
interface GenerativeUIToolProps {
    part: Part;
    toolName: string;
    /**
     * Metadata for this tool resolved from the agent's `tools` array
     * (see `tenant_ai_tool`). When `outputRenderType === 'adaptive_card'`,
     * `outputRenderTemplate` is rendered with `part.output` as the data binding.
     */
    toolMeta?: Record<string, any> | null;
    onToolAction: (event: ToolActionEvent) => void;
    openCanvasView?: (options: {
        type: string;
        id: string;
        versionId?: string;
        title?: string;
        description?: string;
        images?: any[];
        contentJson?: Record<string, any> | null;
        loaded?: boolean;
        workId?: string;
        commands?: any[];
        fetchLatestVersion?: boolean;
        [key: string]: any;
    }) => void;
    onUseWorkResult?: (data: {
        workId?: string;
        workVersionId?: string;
        workType?: string;
        data?: any;
    }) => void;
    onSendSpreadsheetCommands?: (commands: any[]) => void;
    onForwardToAgent?: (options: {
        agentId: string;
        prompt?: string;
    }) => void;
    onInsertText?: (data: {
        text: string;
    }) => void;
    onReplaceText?: (data: {
        text: string;
    }) => void;
    workId?: string;
    /**
     * Combined list of subagents reachable from this orchestrator (direct
     * children + connected subagents). Used to resolve the `subagent` record
     * for `call*Agent` tool calls by matching the agentId on the result.
     */
    subagents?: Array<Record<string, any>>;
}
export declare function GenerativeUITool({ part, toolName, toolMeta, onToolAction, openCanvasView, onUseWorkResult, onSendSpreadsheetCommands, onForwardToAgent, onInsertText, onReplaceText, workId, subagents }: GenerativeUIToolProps): import("react/jsx-runtime").JSX.Element | null;
export {};
