import React, { CSSProperties, ReactNode } from 'react';
export type ModalProps = {
    /**
     * @description Include a backdrop component. Specify 'static'
     *              for a backdrop that doesn't trigger an "onHide" when clicked.
     * @type {('static' | boolean)}
     * @default  ```true```
     *    */
    backdrop?: 'static' | boolean;
    children?: ReactNode;
    classes?: {
        container?: string;
        content?: string;
        mainContent?: string;
    };
    disableClick?: boolean;
    /**
     * enable keyboard functionality
     */
    keyboard?: boolean;
    /**
     * callback when click on X icon
     */
    onClose?: () => void;
    /**
     * @description A callback fired when the `escape` key is pressed. if `keyboard` is `true`
     * @default ```onClose```
     */
    onEscapeKeyDown?: (e: KeyboardEvent) => void;
    /**
     * element to be render in
     */
    portalElement?: HTMLElement;
    /**
     * show close icon
     */
    showCloseIcon?: boolean;
    /**
     * **sm - ``min-width: 300px``**
     * md - ``css min-width: 500px``
     * lg - min-width: 800px
     */
    size?: 'xsm' | 'sm' | 'md' | 'lg';
    /**
     * inline styles
     */
    style?: CSSProperties;
    type?: 'default' | 'transparent';
};
export declare function Modal({ backdrop, children, disableClick, showCloseIcon, keyboard, style, onClose, onEscapeKeyDown: _onEscapeKeyDown, type, size, portalElement: _portalElement, classes, }: ModalProps): React.ReactPortal;
export declare namespace Modal {
    var Description: React.FC<React.PropsWithChildren<{
        className?: string;
    }>>;
    var Header: React.FC<React.PropsWithChildren<{
        className?: string;
        contentPlacement?: "end" | "center" | "start";
        type?: "none" | "secondary" | "danger";
    }>>;
    var SubTitle: React.FC<React.PropsWithChildren<{
        color?: string;
    }>>;
    var Title: React.FC<React.PropsWithChildren<{
        className?: string;
        color?: string;
    }>>;
    var Body: React.FC<React.PropsWithChildren<{
        children: React.ReactNode;
        className?: string;
    }>>;
    var Footer: React.FC<React.PropsWithChildren<{
        className?: string;
        isTransparent?: boolean;
        justifyContent?: string;
        style?: React.CSSProperties;
    }>>;
}
