import type { ConfirmationRequest } from "./helpers.js"; import { type SecurityGuardrails } from "./guardrails.js"; export interface RegisterConfirmationRequestResult { status: "created" | "refreshed" | "conflict"; conflict?: ConfirmationRequest; } export interface ThreadConfirmationPolicy { formatAction: (action: string) => string; registerRequest: (threadTs: string, tool: string, action: string) => RegisterConfirmationRequestResult; consumeReply: (threadTs: string, text: string, options?: { receivedAt?: string | number | Date; }) => { approved: boolean; } | null; requireToolPolicy: (toolName: string, threadTs: string | undefined, action: string) => void; } export interface CreateThreadConfirmationPolicyDeps { getGuardrails: () => SecurityGuardrails; now?: () => number; ttlMs?: number; } export declare function createThreadConfirmationPolicy(deps: CreateThreadConfirmationPolicyDeps): ThreadConfirmationPolicy;