import type { EntityHandle, HandleLayout } from './codec.js'; /** * Record sentinel for an index not yet placed into any archetype. Normatively owned by * declared here as the value the record arrays carry pre-placement. */ export declare const ARCHETYPE_NONE = 4294967295; export interface EntityRecordArrays { /** recordArchetypeId[index] = the ArchetypeId the entity currently lives in. */ readonly recordArchetypeId: Uint32Array; /** recordArchetypeRow[index] = the row within that archetype's SoA columns. */ readonly recordArchetypeRow: Uint32Array; } export interface EntityLocation { readonly archetypeId: number; readonly row: number; } export declare class EntityRecord { #private; constructor(layout: HandleLayout, arrays: EntityRecordArrays); rebind(arrays: EntityRecordArrays): void; commitRecord(index: number, archetypeId: number, row: number): void; resolveLocation(handle: EntityHandle): EntityLocation; /** The archetype id of an entity by its (already-decoded) index — the storage RecordSurface. */ archetypeIdOf(index: number): number; /** The row of an entity within its archetype by its index — the storage RecordSurface. */ rowOf(index: number): number; } //# sourceMappingURL=record.d.ts.map