import { type VariantProps } from 'class-variance-authority';
import type * as React from 'react';
declare const toolCallVariants: (props?: ({
    status?: "success" | "error" | "running" | "pending" | null | undefined;
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
declare const statusIconVariants: (props?: ({
    status?: "success" | "error" | "running" | "pending" | null | undefined;
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
export type ToolCallStatus = 'pending' | 'running' | 'success' | 'error';
export interface ToolCallPart {
    /** Unique tool call ID */
    toolCallId: string;
    /** Tool name */
    toolName: string;
    /** Tool input/arguments */
    args?: Record<string, unknown>;
    /** Tool output/result */
    result?: unknown;
    /** Tool status */
    status?: ToolCallStatus;
    /** Error message if status is error */
    error?: string;
}
interface StatusIconProps {
    status: ToolCallStatus;
    className?: string;
}
declare function StatusIcon({ status, className }: StatusIconProps): import("react/jsx-runtime").JSX.Element;
declare namespace StatusIcon {
    var displayName: string;
}
interface AIToolCallHeaderProps {
    toolName: string;
    status: ToolCallStatus;
    isOpen: boolean;
    onToggle: () => void;
    className?: string;
}
declare function AIToolCallHeader({ toolName, status, isOpen, onToggle, className, }: AIToolCallHeaderProps): import("react/jsx-runtime").JSX.Element;
declare namespace AIToolCallHeader {
    var displayName: string;
}
interface ToolCallSectionProps {
    title: string;
    icon: React.ReactNode;
    children: React.ReactNode;
    className?: string;
}
declare function ToolCallSection({ title, icon, children, className, }: ToolCallSectionProps): import("react/jsx-runtime").JSX.Element;
declare namespace ToolCallSection {
    var displayName: string;
}
export interface AIToolCallProps extends VariantProps<typeof toolCallVariants> {
    /** Tool call data */
    toolPart: ToolCallPart;
    /** Whether to expand by default */
    defaultOpen?: boolean;
    /** Controlled open state */
    open?: boolean;
    /** Callback when open state changes */
    onOpenChange?: (open: boolean) => void;
    /** Additional class name */
    className?: string;
}
declare function AIToolCall({ toolPart, defaultOpen, open: controlledOpen, onOpenChange, className, }: AIToolCallProps): import("react/jsx-runtime").JSX.Element;
declare namespace AIToolCall {
    var displayName: string;
}
export interface AIToolCallListProps {
    /** Array of tool calls */
    toolCalls: ToolCallPart[];
    /** Whether to expand all by default */
    defaultAllOpen?: boolean;
    /** Additional class name */
    className?: string;
}
declare function AIToolCallList({ toolCalls, defaultAllOpen, className, }: AIToolCallListProps): import("react/jsx-runtime").JSX.Element;
declare namespace AIToolCallList {
    var displayName: string;
}
export { AIToolCall, AIToolCallHeader, AIToolCallList, StatusIcon, statusIconVariants, ToolCallSection, toolCallVariants, };
