/** * DirtyFlags -- bitmask dirty tracking. * * Maps string keys to bit positions in a 32-bit integer mask, * enabling O(1) mark/clear/check operations for change tracking. * * @module */ interface DirtyFlagsShape { mark(key: K): void; clear(key: K): void; clearAll(): void; isDirty(key: K): boolean; getDirty(): readonly K[]; readonly mask: number; } /** * Creates a bitmask-based dirty tracker for the given keys (max 31). * Enables O(1) mark, clear, and check operations for change tracking. * * @example * ```ts * const flags = DirtyFlags.make(['position', 'color', 'opacity'] as const); * flags.mark('position'); * flags.mark('color'); * flags.isDirty('position'); // true * flags.isDirty('opacity'); // false * flags.getDirty(); // ['position', 'color'] * flags.clearAll(); * flags.mask; // 0 * ``` */ declare function _make(keys: readonly K[]): DirtyFlagsShape; /** * DirtyFlags -- bitmask-based dirty tracking for up to 31 named keys. * O(1) mark/clear/check operations using bitwise integer operations. * * @example * ```ts * const flags = DirtyFlags.make(['transform', 'style'] as const); * flags.mark('transform'); * flags.isDirty('transform'); // true * flags.clear('transform'); * flags.isDirty('transform'); // false * ``` */ export declare const DirtyFlags: { make: typeof _make; }; export declare namespace DirtyFlags { /** Structural shape of a {@link DirtyFlags} instance keyed by flag name `K`. */ type Shape = DirtyFlagsShape; } export {}; //# sourceMappingURL=dirty.d.ts.map