import React from 'react';
import PropTypes from 'prop-types';
import { BaseModalLayoutProps } from './BaseModalLayout.types';
declare const BaseModalLayout: {
    ({ dataHook, className, children, style, onCloseButtonClick, onHelpButtonClick, closeButtonProps, helpButtonProps, skin, ...restProps }: BaseModalLayoutProps): React.JSX.Element;
    /** Private component to be used by all public modals. Represents the common internals of all modals */
    Header: {
        ({ dataHook, className, showHeaderDivider, titleSize, titleTag, }: import("./LayoutBlocks/Header/Header.types").HeaderProps): React.JSX.Element | null;
        Title({ titleSize, titleTag, children, }: {
            titleSize?: import("./LayoutBlocks/Header/ModalHeading").ModalHeadingProps["size"];
            titleTag?: import("./LayoutBlocks/Header/ModalHeading").ModalHeadingProps["as"];
            children?: React.ReactNode;
        }): React.JSX.Element;
        displayName: string;
        propTypes: {
            className: PropTypes.Requireable<string>;
            dataHook: PropTypes.Requireable<string>;
            title: PropTypes.Requireable<NonNullable<PropTypes.ReactNodeLike>>;
            subtitle: PropTypes.Requireable<string>;
            showHeaderDivider: PropTypes.Requireable<boolean>;
        };
    };
    Content: {
        ({ dataHook, className, children, hideTopScrollDivider, hideBottomScrollDivider, overflowY, scrollProps, }: import("./LayoutBlocks").ContentProps): React.JSX.Element | null;
        displayName: string;
        propTypes: {
            className: PropTypes.Requireable<string>;
            dataHook: PropTypes.Requireable<string>;
            content: PropTypes.Requireable<NonNullable<PropTypes.ReactNodeLike>>;
            hideTopScrollDivider: PropTypes.Requireable<boolean>;
            hideBottomScrollDivider: PropTypes.Requireable<boolean>;
            scrollProps: PropTypes.Requireable<PropTypes.InferProps<{
                onScrollAreaChanged: React.Validator<((scrollChangedData: import("../common/ScrollableContainer").ScrollAreaData) => void) | null | undefined> | undefined;
                onScrollChanged: React.Validator<((target: HTMLElement) => void) | null | undefined> | undefined;
            }>>;
            overflowY: PropTypes.Requireable<string>;
        };
    };
    Footer: {
        ({ dataHook, className, showFooterDivider, }: import("./LayoutBlocks").FooterProps): React.JSX.Element | null;
        displayName: string;
        propTypes: {
            className: PropTypes.Requireable<string>;
            dataHook: PropTypes.Requireable<string>;
            skin: PropTypes.Requireable<string>;
            actionsSize: PropTypes.Requireable<string>;
            primaryButtonText: PropTypes.Requireable<string>;
            primaryButtonOnClick: PropTypes.Requireable<(...args: any[]) => any>;
            primaryButtonProps: PropTypes.Requireable<PropTypes.InferProps<{
                as: PropTypes.Requireable<NonNullable<string | object | null | undefined>>;
                className: PropTypes.Requireable<string>;
                skin: PropTypes.Requireable<string>;
                priority: PropTypes.Requireable<string>;
                size: PropTypes.Requireable<string>;
                onClick: PropTypes.Requireable<(...args: any[]) => any>;
                fullWidth: PropTypes.Requireable<boolean>;
                suffixIcon: PropTypes.Requireable<PropTypes.ReactElementLike>;
                prefixIcon: PropTypes.Requireable<PropTypes.ReactElementLike>;
                disabled: PropTypes.Requireable<boolean>;
                children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
                ellipsis: PropTypes.Requireable<boolean>;
                showTooltip: PropTypes.Requireable<boolean>;
                tooltipProps: PropTypes.Requireable<PropTypes.InferProps<any>>;
            }>>;
            primaryButtonTooltipProps: PropTypes.Requireable<PropTypes.InferProps<any>>;
            secondaryButtonText: PropTypes.Requireable<string>;
            secondaryButtonOnClick: PropTypes.Requireable<(...args: any[]) => any>;
            secondaryButtonProps: PropTypes.Requireable<PropTypes.InferProps<{
                as: PropTypes.Requireable<NonNullable<string | object | null | undefined>>;
                className: PropTypes.Requireable<string>;
                skin: PropTypes.Requireable<string>;
                priority: PropTypes.Requireable<string>;
                size: PropTypes.Requireable<string>;
                onClick: PropTypes.Requireable<(...args: any[]) => any>;
                fullWidth: PropTypes.Requireable<boolean>;
                suffixIcon: PropTypes.Requireable<PropTypes.ReactElementLike>;
                prefixIcon: PropTypes.Requireable<PropTypes.ReactElementLike>;
                disabled: PropTypes.Requireable<boolean>;
                children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
                ellipsis: PropTypes.Requireable<boolean>;
                showTooltip: PropTypes.Requireable<boolean>;
                tooltipProps: PropTypes.Requireable<PropTypes.InferProps<any>>;
            }>>;
            sideActions: PropTypes.Requireable<PropTypes.ReactNodeLike>;
            showFooterDivider: PropTypes.Requireable<boolean>;
        };
    };
    Footnote: {
        ({ dataHook, className, children, skin, }: import("./LayoutBlocks").FootnoteProps): React.JSX.Element | null;
        displayName: string;
        propTypes: {
            className: PropTypes.Requireable<string>;
            dataHook: PropTypes.Requireable<string>;
            footnote: PropTypes.Requireable<PropTypes.ReactNodeLike>;
            skin: PropTypes.Requireable<string>;
        };
    };
    Illustration: {
        ({ dataHook, className, children, }?: import("./LayoutBlocks").IllustrationProps): React.JSX.Element | null;
        propTypes: {
            className: PropTypes.Requireable<string>;
            dataHook: PropTypes.Requireable<string>;
            illustration: PropTypes.Requireable<NonNullable<PropTypes.ReactNodeLike>>;
        };
    };
    propTypes: {
        className: PropTypes.Requireable<string>;
        dataHook: PropTypes.Requireable<string>;
        skin: PropTypes.Requireable<string>;
        helpButtonProps: PropTypes.Requireable<PropTypes.InferProps<{
            onClick: PropTypes.Requireable<(...args: any[]) => any>;
            size: PropTypes.Requireable<string>;
            skin: PropTypes.Requireable<string>;
        }>>;
        closeButtonProps: PropTypes.Requireable<PropTypes.InferProps<{
            onClick: PropTypes.Requireable<(...args: any[]) => any>;
            size: PropTypes.Requireable<string>;
            skin: PropTypes.Requireable<string>;
        }>>;
        /** @deprecated use closeButtonProps instead. */
        onCloseButtonClick: PropTypes.Requireable<(...args: any[]) => any>;
        /** @deprecated use helpButtonProps instead. */
        onHelpButtonClick: PropTypes.Requireable<(...args: any[]) => any>;
    };
    displayName: string;
};
export default BaseModalLayout;
//# sourceMappingURL=BaseModalLayout.d.ts.map