export interface AuditRecord {
    id: string;
    timestamp: number;
    action: string;
    runId: string;
    reason?: string;
    config: Record<string, any>;
    metadata?: Record<string, any>;
}
export interface AuditAdapter {
    logAudit(record: AuditRecord): Promise<void>;
    logKill(runId: string, reason: string, config: Record<string, any>, metadata?: Record<string, any>): Promise<void>;
    logPolicyViolation(runId: string, policy: string, threshold: any, config: Record<string, any>, metadata?: Record<string, any>): Promise<void>;
}
export declare class FileAuditAdapter implements AuditAdapter {
    private logFile;
    private fs;
    constructor(logFile?: string);
    logAudit(record: AuditRecord): Promise<void>;
    logKill(runId: string, reason: string, config: Record<string, any>, metadata?: Record<string, any>): Promise<void>;
    logPolicyViolation(runId: string, policy: string, threshold: any, config: Record<string, any>, metadata?: Record<string, any>): Promise<void>;
    private formatLogEntry;
    private generateId;
}
export declare class ConsoleAuditAdapter implements AuditAdapter {
    logAudit(record: AuditRecord): Promise<void>;
    logKill(runId: string, reason: string, config: Record<string, any>, metadata?: Record<string, any>): Promise<void>;
    logPolicyViolation(runId: string, policy: string, threshold: any, config: Record<string, any>, metadata?: Record<string, any>): Promise<void>;
    private generateId;
}
export declare function createAuditAdapter(): AuditAdapter;
export declare const auditAdapter: AuditAdapter;
//# sourceMappingURL=audit.d.ts.map