import { type RiskDecision } from "../safety/classifier.js"; import type { EngagementScope } from "../store/scope.js"; import type { SessionInput, SessionTransportKind } from "./types.js"; export interface InputPolicyContext { readonly ownerId: string; readonly sessionId: string; readonly transport: SessionTransportKind; readonly input: SessionInput; readonly scope?: EngagementScope | undefined; } export declare function classifyInteractiveInput(context: InputPolicyContext): RiskDecision; export declare function describeInput(input: SessionInput): string; export interface ApprovalBinding { readonly ownerId: string; readonly sessionId: string; readonly input: SessionInput; readonly decision: RiskDecision["level"]; } export declare class ApprovalTokenVault { private readonly now; private readonly tokens; constructor(now?: () => number); mint(binding: ApprovalBinding): string; consume(token: string | undefined, binding: ApprovalBinding): boolean; private sweep; }