/** * Unified approval/decision audit log — one book for every gate decision: * hook denies, permission prompts, and trade-plan verdicts. Append-only * JSONL at ~/.blockrun/approvals.jsonl so `franklin panel` and post-hoc * forensics read a single stream instead of three. */ export interface ApprovalRecord { ts: number; sessionId: string; /** What kind of gate produced this record. */ kind: 'hook' | 'permission' | 'trade-plan'; /** What was being decided — tool name, plan id, hook source. */ subject: string; decision: 'allow' | 'deny' | 'approve' | 'reject' | 'expire' | 'cancel'; /** Who decided: 'hook:', 'user:tui', 'user:panel', 'policy', 'flag'. */ by: string; reason?: string; } export declare function approvalsLogPath(): string; export declare function appendApprovalRecord(record: ApprovalRecord): void;