/**
 * A stack of {@link Disposable} instances which itself inherits {@Disposable}.
 * When {@link DisposableStack#dispose} is called, then each item in the collection
 * is disposed in order.
 *
 * @public
 * @extends {Disposable}
 */
export default class DisposableStack extends Disposable {
    /**
     * @public
     * @static
     * @param {*} bindings
     * @returns {DisposableStack}
     */
    public static fromArray(bindings: any): DisposableStack;
    /**
     * @public
     * @static
     * @async
     * @param {*} stack
     * @param {*} promise
     * @returns {Promise}
     */
    public static pushPromise(stack: any, promise: any): Promise<any>;
    /**
     * Adds a new {@link Disposable} instance to the stack.
     *
     * @public
     * @param {Disposable} disposable - The item to add.
     */
    public push(disposable: Disposable): void;
    #private;
}
import Disposable from './../../lang/Disposable.js';
