export interface IDisposable {
    dispose: () => void;
}
export interface IValueDisposable<T> {
    value: T;
    disposable: IDisposable;
}
export declare namespace Disposable {
    const NONE: IDisposable;
}
export declare class CompositeDisposable {
    private readonly disposables;
    static from(...args: IDisposable[]): CompositeDisposable;
    constructor(...args: IDisposable[]);
    addDisposables(...args: IDisposable[]): void;
    dispose(): void;
}
export declare class MutableDisposable implements IDisposable {
    private _disposable;
    set value(disposable: IDisposable);
    dispose(): void;
}
