/** * APS v2 HumanEscalationFlag — per-action-class owner confirmation. * * Tactical circuit breaker for high-stakes action classes where the * provisional/binding distinction isn't enough. The owner (delegator) * must sign a confirmation before the action can execute. * * Default flagged action classes (documented, not enforced here): * org_creation, third_party_attribution, spend_above_threshold, * charter_amendment, delegation_scope_expansion * * Additive to the existing delegation verify chain — when a scope has * no escalation_requirements, behavior is unchanged. */ import type { V2Delegation, EscalationRequirement, ConfirmationRequest, OwnerConfirmation } from './types.js'; export interface EscalationAction { action_class: string; action_details: Record; session_id?: string | null; } export interface EscalationCheck { required: boolean; reason?: string; requirement?: EscalationRequirement; } export declare function hashActionDetails(details: Record): string; /** Write-boundary twin of hashActionDetails(). * * This commitment is minted by requestOwnerConfirmation and recomputed by * isConfirmationValid and by the payment-rails hook, so the helper is shared and * cannot be guarded in place. * * Note it does NOT canonicalize: it hashes JSON.stringify output, so no canonicalizer * census could see it. The guard therefore VALIDATES ONLY and still hashes the exact * same JSON.stringify bytes, which keeps every existing commitment reproducible. */ export declare function hashActionDetailsForWrite(details: Record): string; export declare function checkEscalationRequired(delegation: V2Delegation, action: EscalationAction): EscalationCheck; export declare function requestOwnerConfirmation(delegation: V2Delegation, action: EscalationAction): ConfirmationRequest; export interface RecordConfirmationParams { request: ConfirmationRequest; delegation: V2Delegation; owner_private_key: string; } export declare function recordOwnerConfirmation(params: RecordConfirmationParams): OwnerConfirmation; export declare function isConfirmationValid(confirmation: OwnerConfirmation, now?: Date): boolean; export interface ConfirmationVerdict { valid: boolean; reason?: string; } export declare function verifyOwnerConfirmation(confirmation: OwnerConfirmation, action: EscalationAction, delegation: V2Delegation, now?: Date): ConfirmationVerdict; export interface VerifyForActionResult { valid: boolean; reason?: string; escalation_required?: boolean; } export declare function verifyV2DelegationForAction(delegation: V2Delegation, action: EscalationAction, confirmations?: OwnerConfirmation[], now?: Date): VerifyForActionResult; export declare const DEFAULT_FLAGGED_ACTION_CLASSES: readonly string[]; //# sourceMappingURL=human-escalation.d.ts.map