import React from 'react';
import './Modal.css';
import { Breakpoints } from '../../constants/Breakpoint.js';
export type ModalInitialFocusTarget = React.RefObject<HTMLElement | null> | (() => HTMLElement | null);
export interface ModalProps {
    children?: React.ReactNode;
    className?: string;
    /** Callback to be triggered when modal needs to close. */
    closeHandler?: () => void;
    /** If true, modal will close when pressing the `Esc` key. */
    escPressClose?: boolean;
    /** Title of the modal. */
    header?: React.ReactNode;
    /**
     * Element to focus when the modal opens. Accepts either a ref or a getter.
     * Use the getter form when the target is conditionally rendered or attached
     * asynchronously — the getter is called on the rAF tick after mount.
     *
     * If omitted (or it resolves to null), the modal respects any descendant
     * that claims focus via `autoFocus`, falling back to focusing the dialog
     * container itself.
     */
    initialFocus?: ModalInitialFocusTarget;
    /** If true, will not render children's card wrapper. */
    overlayOnly?: boolean;
    /** If true, modal will close when clicking the surrounding backdrop. */
    outsideClickClose?: boolean;
    /** Show a close button in the header. */
    showClose?: boolean;
    /** The max width of the modal, the default is "md" */
    width?: Breakpoints | string;
}
declare const Modal: (modalProps: ModalProps) => React.JSX.Element;
export { Modal };
