import type { MemoryAuditEvent, MemoryScope, MemoryStatus } from "@oscharko-dev/keiko-contracts";
import { MEMORY_STATUSES } from "@oscharko-dev/keiko-contracts";
import type { EvidenceStore } from "@oscharko-dev/keiko-evidence";
import type { MemoryVaultStore } from "@oscharko-dev/keiko-memory-vault";
export interface MemoryScopeCount {
    readonly scope: MemoryScope;
    readonly count: number;
}
export type MemoryStatusHistogram = Readonly<Record<MemoryStatus, number>>;
export interface MemoryDiagnostics {
    readonly schemaVersion: "1";
    readonly generatedAt: number;
    readonly scopeCounts: readonly MemoryScopeCount[];
    readonly statusHistogram: MemoryStatusHistogram;
    readonly recentAuditEvents: readonly MemoryAuditEvent[];
    readonly storagePath: string;
}
export interface ExportMemoryDiagnosticsOptions {
    readonly vault: MemoryVaultStore;
    readonly scopes: readonly MemoryScope[];
    readonly evidenceStore: EvidenceStore;
    readonly redactString: (input: string) => string;
    readonly evidenceDir: string;
    readonly lastNAuditEvents?: number;
    readonly now?: () => number;
}
export declare function exportMemoryDiagnostics(options: ExportMemoryDiagnosticsOptions): MemoryDiagnostics;
export { MEMORY_STATUSES };
//# sourceMappingURL=memory-diagnostics.d.ts.map