import type { SWDRunResult } from './swd.js'; export declare const RECEIPTS_DIR = ".kelyra/receipts"; export declare const RECEIPT_OUTPUT_TAIL_MAX_CHARS = 500; export declare function redactReceiptSecrets(text: string): string; export declare function sanitizeReceiptOutputTail(output: string): string; export interface ReceiptProvider { providerId: string; modelId: string; fallbackTriggered?: boolean; incomplete?: boolean; latencyMs?: number; } export interface ReceiptUsage { inputTokens: number; outputTokens: number; totalTokens: number; } export interface ReceiptBudget { sessionInputTokens: number; sessionOutputTokens: number; sessionTotalTokens: number; sessionTurns: number; estimatedCostUSD: number; } export interface ReceiptSkill { id: string; name: string; version: string; source: 'project' | 'global' | 'official' | 'path'; path?: string; } export type ReceiptTestStatus = string; export interface ReceiptTestResult { command: string; passed: boolean; attempts: number; status: ReceiptTestStatus; outputTail?: string; } export interface ReceiptSnapshot { path: string; exists: boolean; size: number; mtime: number; sha256: string; } export interface ReceiptFileResult { path: string; operation: string; intent: string; status: string; detail: string; before?: ReceiptSnapshot; after?: ReceiptSnapshot; expected?: ReceiptSnapshot; expectedSource: 'before' | 'after' | 'none'; } export interface ReceiptFileVerification { path: string; status: 'ok' | 'drifted' | 'missing' | 'unknown'; detail: string; expected?: ReceiptSnapshot; actual?: ReceiptSnapshot; } export interface ReceiptVerification { ok: boolean; files: ReceiptFileVerification[]; } export interface ReceiptChainLink { previousId?: string; previousIntegritySha256?: string; } export interface ReceiptChainVerification { ok: boolean; checked: number; links: Array<{ id: string; previousId?: string; ok: boolean; detail: string; }>; } export interface ReceiptSignature { algorithm: 'ed25519'; payload: 'integrity.sha256'; keyId: string; publicKeyPem: string; signatureBase64: string; } export interface ReceiptSigningKeyPair { privateKeyPem: string; publicKeyPem: string; keyId: string; } export interface ReceiptSummary { id: string; timestamp: string; summary: string; fileCount: number; success: boolean; rolledBack: boolean; provider?: string; model?: string; branch?: string; skills?: string[]; } export interface SWDReceiptInput { request: string; summary: string; result: SWDRunResult; provider?: ReceiptProvider; usage?: Omit | ReceiptUsage; budget?: ReceiptBudget; skills?: ReceiptSkill[]; test?: ReceiptTestResult; git?: { branch?: string; commit?: string; }; } export interface SWDReceipt { id: string; version: 1; timestamp: string; request: string; summary: string; fileCount: number; files: ReceiptFileResult[]; swd: { success: boolean; rolledBack: boolean; errors: string[]; rollbackErrors: string[]; }; provider?: ReceiptProvider; usage?: ReceiptUsage; budget?: ReceiptBudget; skills?: ReceiptSkill[]; git?: { branch?: string; commit?: string; }; test?: ReceiptTestResult; chain?: ReceiptChainLink; integrity?: { sha256: string; signature?: ReceiptSignature; }; } export declare function getReceiptsDir(rootDir?: string): string; export declare function createReceiptSigningKeyPair(): ReceiptSigningKeyPair; export declare function signReceipt(receipt: SWDReceipt, privateKeyPem: string): SWDReceipt; export declare function verifyReceiptSignature(receipt: SWDReceipt): boolean | null; export declare function createSWDReceipt(input: SWDReceiptInput): SWDReceipt; export declare function saveSWDReceipt(receipt: SWDReceipt, overwrite?: boolean): string; export declare function readReceipt(target?: string): SWDReceipt | null; export declare function listReceipts(limit?: number): ReceiptSummary[]; export declare function verifyReceipt(receipt: SWDReceipt): ReceiptVerification; export declare function verifyReceiptIntegrity(receipt: SWDReceipt): boolean; export declare function verifyReceiptChain(limit?: number): ReceiptChainVerification; export declare const createReceipt: typeof createSWDReceipt; export declare const saveReceipt: typeof saveSWDReceipt; //# sourceMappingURL=receipts.d.ts.map