import type { ApprovalRequestCategory, ApprovalRequestDetail, ApprovalRequestMetadata, ApprovalNativeRequestMetadata, ApprovalRisk, ApprovalReplyMetadata, SessionRule } from './approval-types.js'; import type { CanonUnifiedDiff } from './types.js'; export declare function generateApprovalId(): string; export declare function redactSecrets(text: string, patterns: string[]): string; export declare function buildApprovalRequest(approvalId: string, toolName: string, toolInput: Record, opts: { riskLevel?: 'normal' | 'destructive'; risk?: ApprovalRisk; category?: ApprovalRequestCategory; responseUserId?: string; runtimeId?: string; turnId?: string; native?: ApprovalNativeRequestMetadata; toolSummary?: string; details?: ApprovalRequestDetail[]; diff?: CanonUnifiedDiff; expiresAt: string; redactPatterns?: string[]; }): { text: string; metadata: ApprovalRequestMetadata; }; export declare function buildApprovalReply(approvalId: string, decision: 'allow' | 'deny', sessionRule?: SessionRule): { text: string; metadata: ApprovalReplyMetadata; }; export declare function buildApprovalOutcome(approvalId: string, toolName: string, toolSummary: string, decision: 'allow' | 'deny', reason: 'replied' | 'timeout' | 'session-rule'): string;