import type { Buffers } from '../memory/index.js'; /** Synthetic component id keying the changeVersion column (never in any signature). */ declare const CHANGE_VERSION_COMPONENT_ID = 4294967293; export declare class ChangeVersionStore { #private; /** Whether trackWrite stamps at all: false ⇒ zero stamp memory, zero stamp stores. */ enabled: boolean; constructor(buffers: Buffers, initialCapacity: number); /**: record `tick` at entity `index`. No-op when stamping is disabled. */ stamp(index: number, tick: number): void; /**: the tick at which the entity was last stamped (0 if never / no column). */ versionAt(index: number): number; /**: `changeVersion[index] > since` (strict — a caller at T ignores its own T). */ changedSince(index: number, since: number): boolean; /** * ROLLBACK-ONLY (@ecsia/rollback capture): copy the stamps of entity indices [0, count) * into `out`, returning the number written — 0 when stamping is disabled or the column was never * allocated (nothing to roll back). */ captureInto(out: Uint32Array, count: number): number; /** * ROLLBACK-ONLY: write `src[0, count)` back over the stamps and zero everything above — those are * post-checkpoint writes, and a recycled index must not read a future tick as its own. `count === 0` * means the checkpoint had no stamps at all, so the whole column resets. */ restoreFrom(src: Uint32Array, count: number): void; /**: reset the column to 0 at a serial flush (once per ~2.27 years). */ resetAll(): void; } export { CHANGE_VERSION_COMPONENT_ID }; //# sourceMappingURL=change-version.d.ts.map