/// <reference types="react" />
import { Pick } from '../../../Add-on/Array';
import { Editor } from '../../../Editor/Editor';
import { AnyObject } from '../../Store/BoardInterface';
import { CADModal } from './CadModal';
import { ModalPosition, ModalState } from './ModalInterface';
import './ModalStyle/Modal.less';
export interface IModalResult<T = any> {
    Status: ModalState | Pick;
    Data?: T;
}
export interface IModalProps {
    position?: ModalPosition;
    /**允许缩放模态框 */
    resizable?: boolean;
    /**是否允许最小化 */
    canMinimize?: boolean;
    /**是否为模态框 */
    isModal?: boolean;
    /**是否最大化 */
    isMax?: boolean;
    /**根模态框 */
    root?: CADModal;
    /**可以在命令执行中放大 */
    canForceMax?: boolean;
}
export declare class ModalManage {
    private ed;
    m_PromisRes: (res: IModalResult) => void;
    private m_ModalContainer;
    stopKeyDownEvent: boolean;
    private _currentFocusKey;
    private _List;
    private _Show;
    IsCtrlDown: boolean;
    IsAltDown: boolean;
    constructor(ed: Editor);
    get IsModal(): Boolean;
    get CurrentModal(): CADModal;
    get CurrentModalKey(): string;
    private RegisterEvent;
    onFocus(e: FocusEvent): void;
    OnKeyDown(e: KeyboardEvent): void;
    onKeyUp(e: KeyboardEvent): void;
    RenderModeless<T extends AnyObject>(Component: React.ComponentType<T>, props?: T, option?: IModalProps): void;
    RenderModal<T extends AnyObject>(Component: React.ComponentType<T>, props?: T, option?: IModalProps): void;
    EndExecingCmd(): Promise<void>;
    SetCallback(callback: Function): void;
    ExecCmd(data?: {
        cname?: string;
        [key: string]: any;
    }): Promise<void>;
    Wait(): Promise<IModalResult>;
    get Show(): boolean;
    set Show(isShow: boolean);
    set Visible(v: boolean);
    ToggleShow(): void;
    MinAll(): void;
    ChangeFoucus(key?: string): void;
    RestoreZIndex(): void;
    private Close;
    private Clear;
    Destory(): void;
    DestoryAndExec(data?: IModalResult, isClose?: boolean): Promise<void>;
    DestoryAll(): void;
}
//# sourceMappingURL=ModalsManage.d.ts.map