import type { MemoryAuditEvent } from "@oscharko-dev/keiko-contracts";
import type { EvidenceStore } from "@oscharko-dev/keiko-evidence";
import type { MemoryEvent } from "@oscharko-dev/keiko-memory-vault";
export interface MemoryAuditHandlerOptions {
    readonly evidenceStore: EvidenceStore;
    readonly redactString: (input: string) => string;
    readonly now?: () => number;
    readonly newEventId?: () => string;
    readonly onPersistError?: (error: unknown) => void;
}
export type MemoryAuditHandler = (event: MemoryEvent) => void;
export declare function auditRunIdFor(nowMs: number): string;
export declare function createMemoryAuditHandler(options: MemoryAuditHandlerOptions): MemoryAuditHandler;
export interface RecordMemoryAuditOptions {
    readonly evidenceStore: EvidenceStore;
    readonly now?: () => number;
    readonly redactString?: (input: string) => string;
    readonly onPersistError?: (error: unknown) => void;
}
export declare function recordMemoryAudit(options: RecordMemoryAuditOptions, event: MemoryAuditEvent): void;
export declare function createNoopMemoryAuditHandler(): MemoryAuditHandler;
//# sourceMappingURL=memory-audit-handler.d.ts.map