/**
 * Audit Trail Module
 *
 * SPARC Architecture Reference: §6.1 (SPARC_PSEUDOCODE)
 *
 * PURPOSE: Record CLI operations for compliance and debugging
 *
 * FORBIDDEN:
 * - State Modification (audit is append-only)
 * - Error Recovery (errors recorded but not handled)
 * - Data Transformation (raw data recorded)
 */
import type { AuditEntry, BaseReference, DownstreamCall } from '../types/index.js';
export interface IAuditTrail {
    /**
     * Record a command execution
     */
    record(entry: AuditEntryInput): AuditEntry;
    /**
     * Get audit entries for a trace
     */
    getByTraceId(traceId: string): AuditEntry[];
    /**
     * Format audit entry for output
     */
    format(entry: AuditEntry): string;
}
export interface AuditEntryInput {
    command: string;
    inputs: unknown;
    outputs: BaseReference | null;
    dependencies: DownstreamCall[];
    duration_ms: number;
    status: 'SUCCESS' | 'FAILED';
    error_code?: string;
    error_message?: string;
    trace_id: string;
    parent_id?: string;
}
export declare class AuditTrail implements IAuditTrail {
    private readonly version;
    private readonly entries;
    /**
     * Record a command execution
     * SPARC: Append-only, no modification of existing entries
     */
    record(input: AuditEntryInput): AuditEntry;
    /**
     * Get audit entries for a trace
     */
    getByTraceId(traceId: string): AuditEntry[];
    /**
     * Format audit entry for output (JSON format)
     */
    format(entry: AuditEntry): string;
    private hashInputs;
    private sortKeys;
    private redactSensitive;
    private computeChecksum;
}
export declare class AuditLogger {
    private readonly destination;
    constructor(destination?: 'stdout' | 'stderr');
    log(entry: AuditEntry): void;
}
export declare function createAuditTrail(): IAuditTrail;
export declare function createAuditLogger(destination?: 'stdout' | 'stderr'): AuditLogger;
//# sourceMappingURL=audit-trail.d.ts.map