/// <reference types="react" />
export declare const ModalIcons: {
    FdSave: (props: import("react").SVGProps<SVGSVGElement>) => JSX.Element;
    FdWarningDanger: (props: import("react").SVGProps<SVGSVGElement>) => JSX.Element;
    FdInfoCircle: (props: import("react").SVGProps<SVGSVGElement>) => JSX.Element;
    FdInfoBold: (props: import("react").SVGProps<SVGSVGElement>) => JSX.Element;
};
export type ModalIcon = keyof typeof ModalIcons;
export declare enum ModalType {
    ALERT = "alert",
    CONFIRM = "confirm"
}
export declare enum ModalColor {
    PRIMARY = "primary",
    WARNING = "warning",
    DANGER = "danger"
}
export declare enum ModalCloseReason {
    CONFIRMED = "confirmed",
    CANCELED = "canceled"
}
export interface IModal {
    /**
     * Id of the modal
     */
    id: string;
    type: ModalType;
    color?: ModalColor;
    /**
     * title displayed at the header of the modal
     */
    title?: string;
    /**
     * The message to be displayed at the center of the modal.
     */
    message: string;
    views?: {
        /**
         * additional warnings to be displayed in a list view under the message.
         */
        tips?: {
            type: 'warning' | 'error' | 'info';
            message: string;
        }[];
        toggles?: Record<string, {
            key: string;
            value: boolean;
            title: string;
            warnings?: {
                type: 'warning' | 'error' | 'info';
                message: string;
            }[];
        }>;
    };
    icon?: ModalIcon;
    zIndex?: number;
    isOpen: boolean;
    closeReason?: ModalCloseReason;
}
