import { EqualityComparer } from "../commonFacade/deps.js"; import { IObserver, ISettableObservable, ITransaction } from "../base.js"; import { DebugNameData } from "../debugName.js"; import { BaseObservable } from "./baseObservable.js"; import { DebugLocation } from "../debugLocation.js"; /** * Holds off updating observers until the value is actually read. */ export declare class LazyObservableValue extends BaseObservable implements ISettableObservable { private readonly _debugNameData; private readonly _equalityComparator; protected _value: T; private _isUpToDate; private readonly _deltas; get debugName(): string; constructor(_debugNameData: DebugNameData, initialValue: T, _equalityComparator: EqualityComparer, debugLocation: DebugLocation); get(): T; private _update; private _updateCounter; private _beginUpdate; private _endUpdate; addObserver(observer: IObserver): void; removeObserver(observer: IObserver): void; set(value: T, tx: ITransaction | undefined, change: TChange): void; toString(): string; protected _setValue(newValue: T): void; }