import { type CloseEventReason } from '../../../types/CloseEventReason';
/**
 * айдишка модалки/поппера/тултипа
 */
type PopId = string;
declare class BackdropStackManager {
    private stack;
    /**
     * сохраняем информацию о том какой был предыдущий вызов pop,
     * нужен для предотвращения синхронного закрытия при последовательности 'blur' и 'backdropClick' в рамках одного клика
     */
    private previousPopInfo;
    /**
     * крайняя айдишка клика по странице
     */
    private currentPointerId;
    constructor();
    /**
     * метод проверки на конфликт причины закрытия с предыдущим
     */
    private checkOn;
    /**
     * метод генерации случайной айдишки
     */
    generateID: () => string;
    /**
     * форс метод для удалении подписанного компонента из очереди,
     * может быть полезно при массовом анмаунте компонентов
     */
    remove: (id: PopId) => void;
    /**
     * метод добавления в стек
     */
    push: (id: PopId) => void;
    /**
     * метод для запроса на выход из очереди,
     * если все ок, то вернется true, что означает разрешение на выход и компонент будет вычеркнут из очереди,
     * соответственно возврат false означает запрет, и компонент остается в очереди
     */
    pop: (id: PopId, reason?: CloseEventReason) => boolean;
}
export declare const backdropStackManager: BackdropStackManager;
export {};
