import { Disposable } from './disposable';
import type { Event } from './event';
import { Emitter } from './event';
export declare class DisposableCollection implements Disposable {
    protected readonly disposables: Disposable[];
    protected readonly onDisposeEmitter: Emitter<void>;
    constructor(...args: Disposable[]);
    get onDispose(): Event<void>;
    protected checkDisposed(): void;
    /**
     * Returns true if this collection is empty.
     */
    get disposed(): boolean;
    private disposingElements;
    dispose(): void;
    protected doPush(disposable: Disposable): Disposable;
    push(disposable: Disposable): Disposable;
    push(...disposables: Disposable[]): Disposable[];
    /**
     * @deprecated use push instead
     */
    pushAll(disposables: Disposable[]): Disposable[];
}
//# sourceMappingURL=disposable-collection.d.ts.map