import { IconName } from '@blueprintjs/core';
import React, { Component } from 'react';
import { IConfigStore } from '../../Store/BoardStore';
import { BoardModalType } from "../Board/BoardModalType";
import { Config_ModalType } from '../Board/UserConfigComponent';
interface IModalProps {
    modalId?: string;
    className?: string;
    title: string;
    close: () => void;
    icon?: IconName;
    hasConfig?: boolean;
    store?: IConfigStore;
    children?: JSX.Element | (JSX.Element[]);
    footerChildren?: JSX.Element | (JSX.Element[]);
    type?: BoardModalType;
    bodyClass?: string;
    bodyStyle?: React.CSSProperties;
    hasFooter?: boolean;
    footerStyle?: React.CSSProperties;
    footerRootStyle?: React.CSSProperties;
    containerEl?: (el: any) => void;
    logo?: boolean;
    helpUrlName?: string;
    isImpExp?: boolean;
    configurationType?: string;
    configType?: Config_ModalType;
    isNotUpdateStore?: boolean;
}
export declare class CommonModal extends Component<IModalProps> {
    static defaultProps: {
        hasFooter: boolean;
        hasConfig: boolean;
    };
    render(): JSX.Element;
}
interface IModalContainer {
    containerEl?: (el: any) => void;
    modalId?: string;
    className?: string;
    children?: JSX.Element | JSX.Element[];
}
export declare class ModalContainer extends Component<IModalContainer> {
    render(): JSX.Element;
}
interface IModalHeaderProps {
    title: string;
    close: () => void;
    icon?: IconName;
    isMaxBtn?: boolean;
    isPinBtn?: boolean;
    logo?: boolean;
    helpUrlName?: string;
    isBBSModel?: boolean;
}
export declare class ModalHeader extends Component<IModalHeaderProps> {
    private isPin;
    private isMax;
    private pinBtnEl;
    static defaultProps: {
        logo: boolean;
    };
    onPinBtnClick: (e: any) => void;
    ChangeModalSize: (isBBSModel?: boolean) => void;
    private renderIcon;
    render(): JSX.Element;
}
interface IModalBodyProps {
    bodyStyle?: React.CSSProperties;
    children?: JSX.Element | JSX.Element[];
    className?: string;
}
export declare class ModalBody extends Component<IModalBodyProps> {
    static defaultProps: {
        className: string;
    };
    render(): JSX.Element;
}
interface IModalFooterProps {
    style?: React.CSSProperties;
    store?: IConfigStore;
    children?: JSX.Element | (JSX.Element[]);
    type?: BoardModalType;
    isImpExp?: boolean;
    rootStyle?: React.CSSProperties;
    hasConfig?: boolean;
    configType?: Config_ModalType;
    configurationType?: string;
    isNotUpdateStore?: boolean;
}
export declare class ModalFooter extends Component<IModalFooterProps> {
    static defaultProps: {
        hasConfig: boolean;
        isImpExp: boolean;
        rootStyle: {};
    };
    render(): JSX.Element;
}
export {};
//# sourceMappingURL=ModalContainer.d.ts.map