import type React from 'react';
import EventEmitter from 'eventemitter3';
interface StackInfo {
    emitter: EventEmitter;
    mounted: React.Component[];
}
export interface ModalStackSubscription {
    remove: () => void;
}
export declare class ModalStack {
    static add(component: React.Component, onChange: (stack: readonly React.Component[]) => void): ModalStackSubscription;
    static remove(component: React.Component): void;
    static rerender(): void;
    /**
     * Determines if stack component is allowed to block background
     */
    static isBlocking(component: React.Component): boolean;
    static getStackInfo(): StackInfo;
    private static wantsToBlock;
}
export {};
