import { IObservable, IObservableWithChange, IObserver, IReaderWithStore } from "../base.js"; import { DebugNameData } from "../debugName.js"; import { DisposableStore, IDisposable } from "../commonFacade/deps.js"; import { IChangeTracker } from "../changeTracker.js"; import { DebugLocation } from "../debugLocation.js"; export declare enum AutorunState { /** * A dependency could have changed. * We need to explicitly ask them if at least one dependency changed. */ dependenciesMightHaveChanged = 1, /** * A dependency changed and we need to recompute. */ stale = 2, upToDate = 3 } export declare class AutorunObserver implements IObserver, IReaderWithStore, IDisposable { readonly _debugNameData: DebugNameData; readonly _runFn: (reader: IReaderWithStore, changeSummary: TChangeSummary) => void; private readonly _changeTracker; private _state; private _updateCount; private _disposed; private _dependencies; private _dependenciesToBeRemoved; private _changeSummary; private _isRunning; private _iteration; get debugName(): string; constructor(_debugNameData: DebugNameData, _runFn: (reader: IReaderWithStore, changeSummary: TChangeSummary) => void, _changeTracker: IChangeTracker | undefined, debugLocation: DebugLocation); dispose(): void; private _run; toString(): string; beginUpdate(_observable: IObservable): void; endUpdate(_observable: IObservable): void; handlePossibleChange(observable: IObservable): void; handleChange(observable: IObservableWithChange, change: TChange): void; private _isDependency; private _ensureNoRunning; readObservable(observable: IObservable): T; private _store; get store(): DisposableStore; private _delayedStore; get delayedStore(): DisposableStore; debugGetState(): { isRunning: boolean; updateCount: number; dependencies: Set>; state: AutorunState; stateStr: string; }; debugRerun(): void; private _checkIterations; }