import React from "react";
export declare const sizes: readonly ["small", "large"];
export type ModalSize = (typeof sizes)[number];
interface ModalProps extends React.HTMLAttributes<HTMLDivElement> {
    /** Action buttons in footer */
    actions?: React.ReactNode[];
    /** Full height on XS */
    fullHeight?: boolean;
    /** Sticky footer is visible when modal content is too long */
    hasStickyFooter?: boolean;
    /** Html id attribute. */
    id: string;
    /** isActive controls if modal is opened or closed */
    isActive?: boolean;
    /** Callback fired when modal is closed */
    onHide?: () => void;
    /** Custom header renderer. Receives id as function param. Returned element(s) must contain a header with close button. */
    renderHeader?: (id: string) => React.ReactNode;
    /** Custom body renderer. Receives title as function param. Returned element(s) must contain a title. */
    renderBody?: () => React.ReactNode;
    /** Custom footer renderer. Receives actions as function param. Returned element(s) must contain the actions. */
    renderFooter?: () => React.ReactNode;
    /** Custom main title renderer. Receives id as function param. Returned element must be a heading and use this id for accessibility purposes */
    renderTitle?: (id: string) => React.ReactNode;
    /** Modal dialog size */
    size?: ModalSize;
    /** Main title */
    title?: string;
    /** Child elements */
    children?: React.ReactNode;
    /** Additional CSS classes */
    className?: string;
    /** Disables header paddings */
    disableHeaderSpacing?: boolean;
    /** Disables footer paddings */
    disableFooterSpacing?: boolean;
}
declare const Modal: React.FC<ModalProps>;
export { Modal };
