import type { HookHandler } from '../hooks.js'; import { type ClosureReason, type ToolFailureClass, type TraceEvent, type TraceEventKind } from './types.js'; export declare const RECEIPT_SCHEMA_VERSION: 1; export interface ReceiptToolFailure { toolUseId: string; name: string; failureClass?: ToolFailureClass; durationMs: number; ts: string; truncated: boolean; exempt: boolean; subagentId?: string; } export interface RunReceipt { schemaVersion: typeof RECEIPT_SCHEMA_VERSION; generatedAt: string; witnessLabel: string; tracePath: string; sessionId?: string; endReason?: string; status: 'succeeded' | 'failed' | 'cancelled' | 'unknown'; closureReason?: ClosureReason; lastStopReason?: string; guidance?: string; incomplete: boolean; startedAt?: string; endedAt?: string; durationMs?: number; toolCalls: { total: number; succeeded: number; errored: number; erroredNotable: number; refused: number; circuitBreakerHits: number; byTool: Record; byFailureClass: Record; }; events: { total: number; byKind: Partial>; }; subagents: { started: number; succeeded: number; failed: number; cancelled: number; }; cost: { finalCostUsd?: number; turnCount?: number; tokens?: { input?: number; output?: number; cacheRead?: number; cacheCreation?: number; }; }; failures: ReceiptToolFailure[]; humanReviewRequired: boolean; humanReviewReasons: string[]; limitations: string[]; } export interface ReceiptMeta { tracePath: string; witnessLabel: string; sessionId?: string; endReason?: string; now?: Date; } export declare function parseTraceJsonl(raw: string): TraceEvent[]; export declare function receiptPathsFor(tracePath: string): { label: string; jsonPath: string; mdPath: string; }; export declare function generateReceipt(events: TraceEvent[], meta: ReceiptMeta): RunReceipt; export declare function renderReceiptMarkdown(r: RunReceipt): string; export interface WriteRunReceiptOptions { tracePath: string; sessionId?: string; reason?: string; now?: Date; } export declare function writeRunReceipt(opts: WriteRunReceiptOptions): Promise<{ label: string; jsonPath: string; mdPath: string; } | null>; export declare const runReceiptSessionEndHook: HookHandler;