import { default as PropTypes } from 'prop-types';
/**
 * @typedef {import('../Button/wrap').ButtonProps} ButtonProps
 * @typedef {import('@mui/material').PaperProps} PaperProps
 * @typedef {{
 *   title: React.ReactNode,
 *   open: boolean,
 *   onConfirm: Function,
 *   onCancel: Function,
 *   children?: React.ReactNode,
 *   showCancelButton?: true | false,
 *   showCloseButton?: true | false,
 *   showConfirmButton?: true | false,
 *   fullScreen?: false | true,
 *   confirmButton?: {text: React.ReactNode, props?: ButtonProps}
 *   cancelButton?: {text: React.ReactNode, props?: ButtonProps}
 *   PaperProps?: PaperProps
 * }} ConfirmProps
 */
/**
 *
 * @param {ConfirmProps} props
 * @returns {import('react').ReactComponentElement}
 */
declare function Confirm({ title, children, onConfirm, onCancel, showCloseButton, showCancelButton, showConfirmButton, fullScreen, confirmButton, cancelButton, PaperProps, ...rest }: ConfirmProps): import('react').ReactComponentElement<any, Pick<any, string | number | symbol>>;
declare namespace Confirm {
    namespace propTypes {
        let title: PropTypes.Validator<NonNullable<PropTypes.ReactNodeLike>>;
        let open: PropTypes.Validator<boolean>;
        let onConfirm: PropTypes.Validator<(...args: any[]) => any>;
        let onCancel: PropTypes.Validator<(...args: any[]) => any>;
        let children: PropTypes.Validator<NonNullable<PropTypes.ReactNodeLike>>;
        let showCancelButton: PropTypes.Requireable<boolean>;
        let showConfirmButton: PropTypes.Requireable<boolean>;
        let showCloseButton: PropTypes.Requireable<boolean>;
        let fullScreen: PropTypes.Requireable<boolean>;
        let confirmButton: PropTypes.Requireable<PropTypes.InferProps<{
            text: PropTypes.Validator<NonNullable<PropTypes.ReactNodeLike>>;
            props: PropTypes.Requireable<object>;
        }>>;
        let cancelButton: PropTypes.Requireable<PropTypes.InferProps<{
            text: PropTypes.Validator<NonNullable<PropTypes.ReactNodeLike>>;
            props: PropTypes.Requireable<object>;
        }>>;
        let PaperProps: PropTypes.Requireable<object>;
    }
}
export default Confirm;
export type ButtonProps = import('../Button/wrap').ButtonProps;
export type PaperProps = import('@mui/material').PaperProps;
export type ConfirmProps = {
    title: React.ReactNode;
    open: boolean;
    onConfirm: Function;
    onCancel: Function;
    children?: React.ReactNode;
    showCancelButton?: true | false;
    showCloseButton?: true | false;
    showConfirmButton?: true | false;
    fullScreen?: false | true;
    confirmButton?: {
        text: React.ReactNode;
        props?: ButtonProps;
    };
    cancelButton?: {
        text: React.ReactNode;
        props?: ButtonProps;
    };
    PaperProps?: PaperProps;
};
