import type { Event } from './event';
import { Emitter } from './event';
import { Disposable } from './disposable';
export declare class DisposableCollection implements Disposable {
    protected readonly disposables: Disposable[];
    protected readonly onDisposeEmitter: Emitter<void>;
    private disposingElements;
    constructor(...toDispose: Disposable[]);
    get disposed(): boolean;
    get onDispose(): Event<void>;
    protected checkDisposed(): void;
    dispose(): void;
    push(disposable: Disposable): Disposable;
    pushAll(disposables: Disposable[]): Disposable[];
}
