import { InterventionHandler, InterventionActions, type BeforeToolCallEvent, type JSONValue } from "@strands-agents/sdk"; export type ToolApprovalDecision = "allow" | "always"; export type ToolApprovalResult = ToolApprovalDecision | "reject" | { decision: "reject"; reason?: string; }; export type ToolApprovalRequest = { toolName: string; description?: string; input: unknown; inputPreview: string; prompt: string; }; type ToolApprovalCallbacks = { onPromptStart?: (request: ToolApprovalRequest, event: BeforeToolCallEvent) => Promise | void; onApproved?: (request: ToolApprovalRequest, event: BeforeToolCallEvent, decision: ToolApprovalDecision | "auto") => Promise | void; onRejected?: (request: ToolApprovalRequest, event: BeforeToolCallEvent, reason: string) => Promise | void; }; export type ToolApprovalAsk = (request: ToolApprovalRequest, event: BeforeToolCallEvent) => Promise; export type HoomanToolApprovalInterventionConfig = ToolApprovalCallbacks & { ask: ToolApprovalAsk; }; export declare class HoomanToolApprovalIntervention extends InterventionHandler { readonly name = "hooman:tool-approval"; private readonly ask; private readonly onPromptStart?; private readonly onApproved?; private readonly onRejected?; constructor(config: HoomanToolApprovalInterventionConfig); beforeToolCall(event: BeforeToolCallEvent): Promise | ReturnType>; private buildRequest; } export declare function normalizeApprovalResponse(response: JSONValue): ToolApprovalResult; export {};