import { CSSProperties, ReactNode, MouseEventHandler } from 'react';
import { ModalLayoutContextProps } from './BaseModalLayoutContext';
import { CloseButtonSize, CloseButtonSkin } from '../CloseButton';
export type ModalSkin = 'standard' | 'premium' | 'destructive';
export type ModalTheme = ModalSkin;
export type ModalControlButtonProps = {
    /** Defines a callback function which is called every time a control button is clicked. */
    onClick?: MouseEventHandler<HTMLButtonElement>;
    /** Skin of control button. */
    skin?: CloseButtonSkin;
    /** Size of control button. */
    size?: CloseButtonSize;
};
export interface BaseModalLayoutProps extends ModalLayoutContextProps {
    children?: ReactNode;
    /**
     * Specifies a CSS class name to be appended to the component’s root element.
     * @internal
     */
    className?: string;
    style?: CSSProperties;
    /** Applies a data-hook HTML attribute to be used in the tests. */
    dataHook?: string;
    /** Close button props. */
    closeButtonProps?: ModalControlButtonProps;
    /** Help button props. */
    helpButtonProps?: ModalControlButtonProps;
    /** @deprecated use `closeButtonProps` instead. */
    onCloseButtonClick?: MouseEventHandler<HTMLButtonElement>;
    /** @deprecated use `helpButtonProps` instead. */
    onHelpButtonClick?: MouseEventHandler<HTMLButtonElement>;
}
export * from './LayoutBlocks';
//# sourceMappingURL=BaseModalLayout.types.d.ts.map