export interface IDisposable { /** * Dispose this object. */ dispose(): void; } export declare class Disposable implements IDisposable { private onWillDisposeEmitter; onWillDispose: import("./event").Event; private onDidDisposeEmitter; onDidDispose: import("./event").Event; protected toDispose: IDisposable[]; isDisposed: boolean; addDisposable(disposable: T): T; onDispose(cb: () => void): void; dispose(): void; static is(arg: unknown): arg is Disposable; static create(cb: () => void): IDisposable; } /** * A store where you can track multiple disposables. Mostly a utility. */ export declare class DisposableStore implements IDisposable { static DISABLE_DISPOSED_WARNING: boolean; private _toDispose; private _isDisposed; /** * Dispose of all registered disposables and mark this object as disposed. * * Any future disposables added to this object will be disposed of on `add`. */ dispose(): void; /** * Dispose of all registered disposables but do not mark this object as disposed. */ clear(): void; add(o: T): T; }