/// <reference types="react" />
import PropTypes from 'prop-types';
declare type Confirm = {
    buttonYes: string;
    buttonNo: string;
    message: string;
    theme?: 'show' | 'info' | 'success' | 'error' | 'warning';
};
declare type Message = {
    theme?: string;
    icon?: React.ReactNode | null;
    title?: string | null;
    message: string;
    confirmMessage?: Confirm;
    position?: string;
    progressBar?: boolean;
    progressColor?: string;
    close?: boolean;
    timeout?: number;
    overlay?: boolean;
    overlayClose?: boolean;
    displayMode?: number | 0;
    target?: string | null;
    zindex?: number;
    maxWidth?: number | 600;
    messageType?: string;
    color?: string;
};
declare const toastMessage: {
    (messageOptions: Message): Promise<{
        confirm: boolean;
    }>;
    propTypes: {
        message: PropTypes.Validator<string>;
        theme: PropTypes.Requireable<string>;
        title: PropTypes.Requireable<string>;
        icon: PropTypes.Requireable<PropTypes.ReactNodeLike>;
        confirmMessage: PropTypes.Requireable<PropTypes.InferProps<{
            buttonYes: PropTypes.Requireable<string>;
            buttonNo: PropTypes.Requireable<string>;
            message: PropTypes.Requireable<string>;
            theme: PropTypes.Requireable<string>;
        }>>;
        position: PropTypes.Requireable<string>;
        progressBar: PropTypes.Requireable<boolean>;
        progressColor: PropTypes.Requireable<string>;
        close: PropTypes.Requireable<boolean>;
        timeout: PropTypes.Requireable<number>;
        overlay: PropTypes.Requireable<boolean>;
        overlayClose: PropTypes.Requireable<boolean>;
        displayMode: PropTypes.Requireable<number>;
        target: PropTypes.Requireable<string>;
        zindex: PropTypes.Requireable<number>;
        maxWidth: PropTypes.Requireable<number>;
        messageType: PropTypes.Requireable<string>;
        color: PropTypes.Requireable<string>;
    };
};
export default toastMessage;
