import { Icons } from '../../atoms/icon/types';
import { GenericProps } from '../../utilities';
export declare type IModal = GenericProps & {
    /**
     * Prop to specify the children of the Modal.
     *
     * Default is `an empty object`.
     */
    children?: React.ReactNode;
    /**
     * Prop to specify the footer content of the Modal.
     *
     * Default is `an empty object`.
     */
    footerContent?: React.ReactNode;
    /**
     * Allows the user to set the icon used for the close button.
     *
     * Default is `Xmark`.
     */
    icon?: Icons;
    /**
     * Allows the user to set which side the close icon appears on.
     *
     * Default is `right`.
     */
    iconPosition?: 'left' | 'right';
    /**
     * Prop to set if the Modal has a close button or not.
     *
     * If set to true, the Modal will have a close button.
     * If set to false, and `isPersistent` is set to `true`, you'll need to provide an exit trigger in the children of Modal using `onCancel`.
     *
     * Default is `true`.
     */
    isCloseable?: boolean;
    /**
     * Prop to denote if the Modal will close when clicking the fade outside of the white area.
     *
     * If set to false, it allows the user to close the Modal when clicking outside of the white area.
     * If set to true it disables the above functionality.
     *
     * Default is `false`.
     */
    isPersistent?: boolean;
    /**
     * Prop to set if the Modal is visible or not.
     *
     * If set to true, the Modal will be visible.
     * If set to false, the Modal will not be visible.
     *
     * Default is `false`.
     */
    isVisible?: boolean;
    /**
     * Specifies a function that will be executed when the user clicks on the close button icon.
     *
     * Can be set to custom child elements.
     *
     * Without any specific function the modal will remain open.
     *
     * Default is `an empty object`.
     */
    onCancel?: () => void;
    /**
     * Prop to allow the user to set which side the Modal appears on.
     *
     * Default is `right`.
     */
    position?: 'center' | 'left' | 'right';
    /**
     * Prop to allow the user to set the Subtitle of the Modal.
     *
     * Default is `an empty string`.
     */
    subtitle?: React.ReactNode;
    /**
     * Prop to allow the user to set the Title of the Modal.
     *
     * Default is `an empty string`.
     */
    title?: React.ReactNode;
};
