import * as React from 'react';
import type { HTMLProps } from '../utils/utilityTypes';
import type { BaseModalProps } from './interface';
import type { ModalActionProps } from './ModalAction';
export interface ModalCssVars {
    '--background'?: React.CSSProperties['background'];
    '--border-radius'?: React.CSSProperties['borderRadius'];
    '--shadow'?: React.CSSProperties['boxShadow'];
    '--title-font-size'?: React.CSSProperties['fontSize'];
    '--title-font-weight'?: React.CSSProperties['fontWeight'];
    '--title-text-color'?: React.CSSProperties['color'];
    '--close-size'?: React.CSSProperties['fontSize'];
    '--close-color'?: React.CSSProperties['color'];
    '--close-active-color'?: React.CSSProperties['color'];
    '--body-font-size'?: React.CSSProperties['fontSize'];
    '--body-text-color'?: React.CSSProperties['color'];
    '--body-padding'?: React.CSSProperties['padding'];
    '--button-height'?: React.CSSProperties['height'];
    '--button-font-size'?: React.CSSProperties['fontSize'];
    '--button-font-weight'?: React.CSSProperties['fontWeight'];
    '--button-text-color'?: React.CSSProperties['color'];
    '--button-background'?: React.CSSProperties['background'];
    '--button-active-background'?: React.CSSProperties['background'];
    '--button-disabled-opacity'?: React.CSSProperties['opacity'];
}
export interface ModalProps extends BaseModalProps, HTMLProps<ModalCssVars> {
    actions?: (ModalActionProps | ModalActionProps[])[];
    onAction?: (action: ModalActionProps) => void | Promise<void>;
}
declare const Modal: React.ForwardRefExoticComponent<ModalProps & React.RefAttributes<HTMLDivElement>>;
export default Modal;
