import { type ReactNode } from 'react';
type ModalProps = {
    header: string | ReactNode;
    subHeader?: string | ReactNode;
    children: ReactNode;
    confirmButton?: TButton;
    cancelButton?: TButton;
    size?: 'base' | 'lg' | 'xl';
    handleCloseIcon: TButton['callback'];
};
export type TButton = {
    text: string;
    callback: (close: (closeAction: () => void) => void) => void;
    disabled?: boolean;
};
type ModalRef = {
    handlerClose: (callback: TButton['callback']) => void;
};
/**
 * Modal component for displaying a modal dialog with customizable header, content, and buttons.
 *
 * @component
 * @example
 * // Example usage of Modal component
 * <Modal
 *   header="Modal Header"
 *   handleCloseIcon={ (close) => close(() => console.log("closed")) }
 *   cancelButton={{ text: "Cancel", callback: (close) => close(() => console.log("Cancelled")) }}
 *   cancelButton={{ text: "Cancel", callback: (close) => close(() => console.log("Cancelled")) }}
 *   classHeader="bg-gray-1"
 *   size="lg"
 * >
 *   <p>Modal content goes here.</p>
 * </Modal>
 *
 * @param {Object} props - The properties of the Modal component.
 * @param {string} props.header - The header text of the modal.
 * @param {ReactNode} props.children - The content to be displayed inside the modal.
 * @param {Object} [props.confirmButton] - Configuration for the confirm button.
 * @param {Function} props.confirmButton.callback - Callback function triggered on confirm.
 * @param {boolean} [props.confirmButton.disabled] - Whether the confirm button is disabled.
 * @param {Object} [props.cancelButton] - Configuration for the cancel button.
 * @param {string} props.cancelButton.text - Text displayed on the cancel button.
 * @param {Function} props.cancelButton.callback - Callback function triggered on cancel.
 * @param {boolean} [props.cancelButton.disabled] - Whether the cancel button is disabled.
 * @param {'base' | 'lg' | 'xl'} [props.size='base'] - The size of the modal.
 * @param {string} props.classHeader - Class header.
 * @param {Function} [props.handleCloseIcon] - Handle close icon close
 * @param {boolean} [props.isHandleOverlayClick] - Is handle overlay click outside modal
 * @param {boolean} [props.isHandleCloseIcon] - Show close icon in modal header
 *
 * @returns {ReactNode} The rendered Modal component.
 */
export declare const Modal: import("react").ForwardRefExoticComponent<ModalProps & import("react").RefAttributes<ModalRef>>;
export {};
//# sourceMappingURL=Modal.d.ts.map