import type { MemoryAuditEvent, MemoryAuditInitiatorSurface, MemoryId, MemoryRecord, MemoryScope, MemoryStatus } from "@oscharko-dev/keiko-contracts";
import type { MemoryTombstone } from "@oscharko-dev/keiko-memory-vault";
export declare const VAULT_DERIVED_SURFACE: MemoryAuditInitiatorSurface;
export interface BuildContext {
    readonly occurredAt: number;
    readonly newEventId: () => string;
    readonly redactString: (input: string) => string;
}
export declare function safeSummary(input: string, redactString: (s: string) => string): string;
export type SingleRecordKind = "memory:accepted" | "memory:rejected" | "memory:archived" | "memory:pinned" | "memory:unpinned" | "memory:updated";
export interface UpdateClassification {
    readonly kind: SingleRecordKind;
    readonly label: string;
}
export declare function classifyUpdate(previousStatus: MemoryStatus | undefined, previousPinned: boolean | undefined, record: MemoryRecord): UpdateClassification;
export declare function buildProposedEvent(record: MemoryRecord, ctx: BuildContext): MemoryAuditEvent;
export declare function buildInsertedEvent(record: MemoryRecord, ctx: BuildContext): MemoryAuditEvent | undefined;
export declare function buildUpdatedEvent(record: MemoryRecord, previousStatus: MemoryStatus | undefined, previousPinned: boolean | undefined, ctx: BuildContext): MemoryAuditEvent;
export declare function buildTombstonedEvent(tombstone: MemoryTombstone, ctx: BuildContext): MemoryAuditEvent;
export declare function buildDeletedEvent(memoryId: MemoryId, scope: MemoryScope, ctx: BuildContext): MemoryAuditEvent;
//# sourceMappingURL=memory-audit-event-builders.d.ts.map