/// <reference types="react" />
export interface ModalOptions {
    title?: string;
    content: React.ReactNode;
    width?: number;
    height?: number;
    measurement?: '%' | 'px';
}
export type ModalInstance = {
    id: string;
    options: ModalOptions;
    anchorEl: HTMLElement;
    resolve: () => void;
};
export type OpenModalFn = (options: ModalOptions) => Promise<string>;
export type CloseModalFn = (modalId?: string) => void;
type ModalSettings = {
    openModal: OpenModalFn;
    closeModal: CloseModalFn;
    closeAllModals: () => void;
    getModalStack: () => ModalInstance[];
    isModalOpen: (modalId: string) => boolean;
};
export declare const ModalContext: import("react").Context<ModalSettings | null>;
/**
 * Hook to get the modal context (modal API)
 *
 * @returns The modal context
 * @internal
 */
export declare const useModalContext: () => ModalSettings | null;
export {};
