import React, { Component, ReactNode, PropsWithChildren } from 'react';
import { css } from 'styled-components';
import Modal from 'react-modal';
type CssStyleType = ReturnType<typeof css>;
type ModalTitleProps = PropsWithChildren<{
    style?: React.CSSProperties;
    className?: string;
}>;
export declare const ModalTitle: import("styled-components").IStyledComponent<"web", import("styled-components/dist/types").Substitute<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, ModalTitleProps>>;
type ModalButtonProps = {
    style?: React.CSSProperties;
    large?: boolean;
    disabled?: boolean;
    negative?: boolean;
    children?: string;
};
type ModalFooterProps = {
    cancel: () => void;
    confirm: (data?: any) => void;
    cancelButton?: ModalButtonProps;
    confirmButton?: ModalButtonProps;
};
export declare const ModalFooter: React.FC<ModalFooterProps>;
export interface ModalDialogOwnProps {
    footer: boolean;
    close: boolean;
    isOpen: boolean;
    title?: string;
    className?: string;
    onConfirm: (...args: any) => void;
    onCancel: (...args: any) => void;
    confirmButton?: ModalButtonProps;
    confirmButtonLabel?: string;
    cancelButton?: ModalButtonProps;
    cancelButtonLabel?: string;
    cssStyle?: CssStyleType | string;
    style?: React.CSSProperties;
    theme: any;
    children?: ReactNode;
}
export type ModalDialogProps = ModalDialogOwnProps & Omit<ReactModal.Props, 'style' | 'ariaHideApp' | 'className'>;
export declare class ModalDialog extends Component<ModalDialogProps> {
    static defaultProps: {
        footer: boolean;
        close: boolean;
        onConfirm: () => void;
        onCancel: () => void;
        cancelButton: {
            link: boolean;
            large: boolean;
            children: string;
        };
        confirmButton: {
            cta: boolean;
            large: boolean;
            width: string;
            children: string;
        };
        cssStyle: never[];
    };
    render(): React.JSX.Element;
}
declare const StyledModal: import("styled-components").IStyledComponent<"web", import("styled-components/dist/types").FastOmit<ModalDialogOwnProps & Omit<Modal.Props, "className" | "style" | "ariaHideApp"> & React.RefAttributes<ModalDialog>, never>> & Omit<typeof ModalDialog, keyof React.Component<any, {}, any>>;
export default StyledModal;
