import React from 'react';
import ReactModal from 'react-modal';
import { IButtonProps } from '../button/Button';
import { IUseModal } from '../../hooks/hook';
import { IPropsModalHeadProps } from './components/ModalHeadSection';
import { TElements } from '../../types/interface';
export declare type TAlertConfig = {
    falseMessage?: string;
    trueMessage?: string;
    confirmCallBackFn?(flag: boolean): any;
};
declare type TPannel = {
    buttons: IButtonProps[];
};
export interface JDmodalConfigProps {
    /** 헤드 와 푸터 스티키로 변경 */
    sticky?: boolean;
    /** 헤드 설정 */
    head?: IPropsModalHeadProps;
    /** 헤드 설정 */
    center?: boolean;
    /** 로딩 모드로 전환 */
    loading?: boolean;
    /** 모달을 Alert처럼 사용합니다. */
    alert?: TAlertConfig;
    /** 모달을 Confrim처럼 사용합니다. */
    confirm?: boolean;
    /** 바텀부분 엘리먼트 */
    foot?: TElements;
    /** right 만들기 */
    pannel?: TPannel;
    /** 헤더아래로 붙일지 결정 */
    isUnderHeader?: boolean;
    /** 최소 넓이 고정 */
    minWidth?: string;
    /** 콘텐츠 최소넓이 고정 */
    minContentsWidth?: string;
    /** 모바일 일때 가득찬 화면으로 전환함 */
    fullInMobile?: boolean;
    /** 패딩 사이즈 조절 */
    paddingSize?: 'large' | 'no';
    /** --- */
    visibleOverflow?: boolean;
    /** --- */
    contentClassName?: string;
    /** --- */
    contentWrapStyle?: React.CSSProperties;
}
export interface IProps extends ReactModal.Props, IUseModal, JDmodalConfigProps {
}
export declare const JDmodal: React.FC<IProps>;
export default JDmodal;
declare const JDtoastModal: React.FC<IProps>;
export { JDtoastModal };
