export interface Modal {
modalRef?: HTMLElement | null;
mountNode?: HTMLElement | null;
}
export interface Container {
modals: Modal[];
container: HTMLElement;
restore: (() => void) | null;
hiddenSiblingNodes: HTMLElement[];
}
interface ModalProps {
disableScrollLock?: boolean;
}
export declare const ariaHidden: (node: HTMLElement, show: boolean) => void;
/**
* Proper state management for containers and the modals in those containers.
* Used by the Modal to ensure proper styling of containers.
*/
export declare class ModalManager {
modals: Modal[];
containers: Container[];
constructor();
isTopModal(modal: Modal): boolean;
add(modal: Modal, container: HTMLElement): number;
mount(modal: Modal, props: ModalProps): void;
remove(modal: Modal): number;
}
export {};