import { ResizeDirection } from "re-resizable";
import * as React from 'react';
import { ResizableDelta } from "react-rnd";
import { AnyObject } from '../../Store/BoardInterface';
import { ModalPosition } from "./ModalInterface";
import { IModalProps } from "./ModalsManage";
export declare const DATA_KEY = "data-modalkey";
export declare class CADModal {
    private _rootModal?;
    static ModalOldPosition: {
        left: string;
        top: string;
    };
    container: HTMLElement;
    IsModal: Boolean;
    rndDiv: HTMLElement;
    dragHandleEl: HTMLElement;
    dhTopEnd: number;
    dividerEl: HTMLElement;
    dividerTopLast: number;
    canMinimize: boolean;
    canResize: boolean;
    resizeSize: {
        width: number;
        height: number;
    };
    Callback: Function;
    private originDialogDisplayVal;
    private minimizeEl;
    private _mask;
    private _canForceMax;
    /**锁定后不能关闭和最大化 */
    IsLock: boolean;
    constructor(_rootContainer: HTMLElement, _rootModal?: CADModal);
    private RegisterEvent;
    private onFocus;
    static Create<T extends AnyObject>(rootContainer: HTMLElement, Component: React.ComponentType<T>, props: T, option?: IModalProps): CADModal;
    Render<T extends AnyObject>(Component: React.ComponentType<T>, props: T, option?: IModalProps): void;
    ChangeDragHandleTopValue(direction: ResizeDirection, delta: ResizableDelta): void;
    Update<T extends AnyObject>(Component: React.ComponentType<T>, props: T, option?: IModalProps): void;
    SetPosition(pos: ModalPosition): void;
    private MoveModal;
    ExecCmd(data?: {
        cname?: string;
        [key: string]: any;
    }): Promise<void>;
    Minimize(): void;
    ScaleModalSize(): void;
    ToggleCanMinimize(canMinimize?: boolean): void;
    private ShowMasking;
    private HideMasking;
    Focus(): void;
    RestoreZIndex(): void;
    Destory(): void;
    EndCmd(): void;
}
//# sourceMappingURL=CadModal.d.ts.map