import type { Experimental_DecisionModel as DecisionModel } from "ai"; import type { ApprovalPolicy } from "#approval/definition.js"; export interface AutoApprovalOptions { /** Decision model instance or ID. Defaults to TypeSafe Jev. */ readonly model?: DecisionModel; /** Instructions used to classify the exact tool call. */ readonly instructions?: string; /** Descriptions of the fixed approval outcomes. */ readonly criteria?: { readonly clear?: string; readonly caution?: string; }; } /** * Returns an `approval` callback that asks an AI SDK decision model whether * the exact tool call presents concrete security danger. Defaults to TypeSafe Jev. * Unavailable or invalid decisions require user approval. */ export declare function auto(options?: AutoApprovalOptions): ApprovalPolicy; /** * Returns an `approval` callback that always requires user approval before * the tool executes. */ export declare function always(): ApprovalPolicy; /** * Returns an `approval` callback that never requires user approval before * the tool executes. */ export declare function never(): ApprovalPolicy; /** * Returns an `approval` callback that requires approval until the user * approves this tool once in the current session. A tool is recorded as * approved only on an explicit approval; a denial (or continuing without * responding) leaves it unrecorded, so the next call prompts again. Keys off * the bare tool name, so it ignores compound approval keys. */ export declare function once(): ApprovalPolicy;