import type { PendingToolCallInfo } from "./ToolCallDisplay";
import type { ApprovalCardItem } from "./ApprovalCard";
export type ApprovalBusyAction = "approve" | "reject" | "autonomous" | {
    type: "allowance";
    toolCallId: string;
} | null;
/**
 * State wrapper around approvalActions for the approval card: one busy action
 * at a time, and an inline error message the user can retry from.
 */
export declare function useApprovalActions(params: {
    agentId?: string;
    readOnly?: boolean;
    onSwitchToAutonomous?: () => void;
}): {
    busyAction: ApprovalBusyAction;
    error: string | null;
    clearError: () => void;
    approveAll: (pending: PendingToolCallInfo[]) => Promise<void>;
    rejectAll: (pending: PendingToolCallInfo[]) => Promise<void>;
    switchToAutonomous: (pending: PendingToolCallInfo[]) => Promise<void>;
    approveWithAllowance: (item: ApprovalCardItem) => Promise<void>;
};
