import { IObservableWithChange } from "../base.js"; import { CancellationToken } from "../commonFacade/cancellation.js"; import { DisposableStore, IDisposable } from "../commonFacade/deps.js"; export type RemoveUndefined = T extends undefined ? never : T; export declare function runOnChange(observable: IObservableWithChange, cb: (value: T, previousValue: T, deltas: RemoveUndefined[]) => void): IDisposable; export declare function runOnChangeWithStore(observable: IObservableWithChange, cb: (value: T, previousValue: T, deltas: RemoveUndefined[], store: DisposableStore) => void): IDisposable; export declare function runOnChangeWithCancellationToken(observable: IObservableWithChange, cb: (value: T, previousValue: T, deltas: RemoveUndefined[], token: CancellationToken) => Promise): IDisposable;