/** * Timing helpers for mapped persistence diagnostics. * * Timing callbacks are deliberately best-effort: observability failures must * never abort the entity transaction they describe. */ import { type SyncTimingOperationCounts, type SyncTimingOperationKind, type SyncTimingSink } from "../../../contracts/shared/observability/syncTiming.js"; import { type ScalarEntityFlushChange } from "../../../contracts/storage/scalar.js"; import type { MappedChangePlan, ResolvedWriterOptions } from "./contracts.js"; /** Converts public entity lifecycle kinds into timing operation kinds. */ export declare function timingOperationKind(value: ScalarEntityFlushChange["kind"]): SyncTimingOperationKind; /** Counts one lifecycle operation for aggregate diagnostics. */ export declare function countsForOperationKind(operationKind: SyncTimingOperationKind): SyncTimingOperationCounts; /** Counts all mapped lifecycle plans in one flush. */ export declare function countsForPlans(plans: readonly MappedChangePlan[]): SyncTimingOperationCounts; /** Lists only operation kinds represented by the supplied aggregate counts. */ export declare function operationKindsForCounts(counts: SyncTimingOperationCounts): readonly SyncTimingOperationKind[]; /** Emits diagnostics without allowing a faulty sink to affect persistence. */ export declare function emitTiming(writer: ResolvedWriterOptions, event: Parameters[0]): void; //# sourceMappingURL=timing.d.ts.map