export function tracker(target: T): Track; /** * Track class — per-key reactive signal store. * * Use the `tracker(target)` factory for trackers memoized per target * (typical case: main proxy tracker). Instantiate directly via `new * Track(identity)` when the tracker is handler-private and should NOT * be memoized — e.g. Map/Set's `trackSlot`. */ export class Track { constructor(identity: any); isIdentity: boolean; /** * Keeps track of: a value for a `key` * * @param {PropertyKey} key * @param {any} value * @returns {any} Value */ valueRead(key: PropertyKey, value: any): any; /** * Keeps track of: a value for a `key` * * @param {PropertyKey} key * @param {any} value * @returns {boolean} Indicating if the value changed */ valueWrite(key: PropertyKey, value: any): boolean; /** * Keeps track of: if a `key` is in an object. * * @param {PropertyKey} key * @param {boolean} value - Indicating if the property is `in` */ keyRead(key: PropertyKey, value: boolean): void; /** * Keeps track of: if a `key` is in an object. * * @param {PropertyKey} key * @param {boolean} value - Indicating if the property is `in` */ keyWrite(key: PropertyKey, value: boolean): void; /** * Keeps track of: if value is undefined, regardless if the `key` * exists in the object or not. * * @param {PropertyKey} key * @param {boolean} value */ isUndefinedRead(key: PropertyKey, value: boolean): void; /** * Keeps track of: if value is undefined, regardless if the `key` * exists in the object or not. * * @param {PropertyKey} key * @param {any} value */ isUndefinedWrite(key: PropertyKey, value: any): void; /** * Keeps track of: the getter function identity for an accessor * `key`. Subscribers are effects reading through a signalified * accessor wrapper; the signal fires when `defineProperty` swaps in * a getter with a different identity. * * @param {PropertyKey} key * @param {any} value - The getter function */ getterRead(key: PropertyKey, value: any): void; /** * Writes the getter function identity for `key`. * * @param {PropertyKey} key * @param {any} value - The getter function */ getterWrite(key: PropertyKey, value: any): any; /** * Adds a key. * * 1. Sets `has` state to `true` * 2. Sets `undefined` state * 3. Sets `value` * * @param {PropertyKey} key * @param {any} value */ add(key: PropertyKey, value: any): void; /** * Modifies a key. * * 1. Sets `value` * 2. Sets `undefined` state * * @param {PropertyKey} key * @param {any} value */ modify(key: PropertyKey, value: any): boolean; /** * Deletes a key. * * 1. Sets `has` state to `false` * 2. Sets `undefined` state to true * 3. Sets `value` to `undefined` * * @param {PropertyKey} key */ delete(key: PropertyKey): void; /** To indicate keys have been read */ keysRead(): void; /** To indicate keys have changed */ keysWrite(): void; /** To indicate values have been read */ valuesRead(): void; /** To indicate values have changed */ valuesWrite(): void; #private; } //# sourceMappingURL=tracker.d.ts.map