import React from 'react';
export interface ModalContextValue {
    addIdToStack: (modalId: string) => void;
    modalId: string;
    /** modalsIds will appear in the order they were opened, required for knowing which modal to close when esc key is pressed. */
    modalIdsLIFOStack: string[];
    closeHandler: () => void;
    hasParentModal: boolean;
    removeIdFromStack: (modalId: string) => void;
    setHeader?: (header?: React.ReactNode) => void;
}
export declare const ModalContext: React.Context<ModalContextValue | undefined>;
interface ModalContextProviderProps {
    modalId: string;
    children: React.ReactNode;
    closeHandler?: () => void;
    isParentModalCtx?: boolean;
    setHeader?: ModalContextValue['setHeader'];
}
export declare const ModalContextProvider: ({ modalId, children, closeHandler, setHeader, }: ModalContextProviderProps) => React.JSX.Element;
export declare const useModalContext: (opts?: {
    ctxRequired?: boolean;
}) => ModalContextValue | undefined;
export {};
