export type EscalationTriggerType = 'human_authorized' | 'multi_witness'; export type ActionClass = 'tentative' | 'compensable' | 'irreversible'; export interface EscalationGrant { grantId: string; delegationId: string; grantedTo: string; grantedBy: string; ceiling: { scope: string[]; maxSpend: number; maxDurationMs: number; }; allowedTriggers: EscalationTriggerType[]; allowedActionClasses: ActionClass[]; createdAt: string; expiresAt: string; signature: string; } export interface EscalationRequest { requestId: string; grantId: string; agentPublicKey: string; trigger: { type: EscalationTriggerType; evidence: string; humanApprovalSignature?: string; }; requestedAt: string; signature: string; } export interface ActiveEscalation { escalationId: string; grantId: string; requestId: string; agentPublicKey: string; effectiveScope: string[]; effectiveSpendLimit: number; activatedAt: string; expiresAt: string; status: 'active' | 'expired' | 'revoked'; provisionalReceipts: string[]; spentDuringEscalation: number; gatewaySignature: string; } export interface EscalationVerification { valid: boolean; errors: string[]; grantValid: boolean; ceilingWithinScope: boolean; triggerAccepted: boolean; temporalValid: boolean; } export declare function createEscalationGrant(opts: { delegationId: string; grantedTo: string; grantedBy: string; granterPrivateKey: string; ceiling: EscalationGrant['ceiling']; allowedTriggers?: EscalationTriggerType[]; allowedActionClasses?: ActionClass[]; expiresAt: string; }): EscalationGrant; export declare function verifyEscalationGrant(grant: EscalationGrant, granterScope: string[]): EscalationVerification; export declare function requestEscalation(opts: { grant: EscalationGrant; agentPrivateKey: string; agentPublicKey: string; trigger: EscalationRequest['trigger']; }): EscalationRequest; export declare function activateEscalation(opts: { grant: EscalationGrant; request: EscalationRequest; gatewayPrivateKey: string; }): ActiveEscalation; export declare function checkEscalatedAction(opts: { escalation: ActiveEscalation; grant: EscalationGrant; action: string; actionClass: ActionClass; spend?: number; }): { permitted: boolean; errors: string[]; effectClass: ActionClass; }; export declare function revokeEscalation(escalation: ActiveEscalation): ActiveEscalation; export declare function isEscalationActive(escalation: ActiveEscalation): boolean; //# sourceMappingURL=escalation.d.ts.map