import React from "react";
import { ITreeNode } from "@blueprintjs/core";
import '../../Css/ProcessingGroupModal.less';
import { ProcessingGroupRecord } from "../../../DatabaseServices/ProcessingGroup/ProcessingGroupRecord";
import { Entity } from "../../../DatabaseServices/Entity/Entity";
import { CADObject } from "../../../DatabaseServices/CADObject";
import { Singleton } from "../../../Common/Singleton";
import { Board } from "../../../DatabaseServices/Entity/Board";
import { IConfigStore } from "../../Store/BoardStore";
import { IConfigOption } from "../Board/UserConfig";
interface EntityNodeData {
    self: CADObject;
    parent: ProcessingGroupRecord;
}
interface TemplatePgData {
    nodeName: string;
    brarr: Board[];
}
interface ProcessingGroupModalState {
    nodes: ITreeNode[];
    rightNodes: ITreeNode[];
    canAlertOpen1: boolean;
    canAlertOpen2: boolean;
    alertType: number;
}
export declare class ProcessingGroupModalStore extends Singleton implements IConfigStore {
    flag: number;
    addEnts: Entity[];
    checkEnts: Entity[];
    selectedLeftNodeSet: Set<string>;
    selectedRightNodeSet: Set<string>;
    selectedGroupSet: Set<ProcessingGroupRecord>;
    selectedObjectSet: Set<EntityNodeData>;
    selectedTempPgs: TemplatePgData[];
    tempPgs: TemplatePgData[];
    expandedNodesId: any[];
    processGroupCategory: string[];
    InitOption: () => void;
    SaveConfig: () => IConfigOption<import("../../Store/BoardInterface").AnyObject>;
    ResetData: () => void;
    configName: string;
    configsNames: string[];
    UpdateOption: Function;
}
export declare class ProcessingGroupModal extends React.Component<{
    store: ProcessingGroupModalStore;
}, ProcessingGroupModalState> {
    private canCreateGroup;
    private pgCategoryMap;
    private getNodeID;
    private removeFuncs;
    constructor(props: any);
    UNSAFE_componentWillMount(): Promise<void>;
    componentDidMount(): void;
    componentWillUnmount(): void;
    CheckSelect: () => void;
    /**
     *  添加已选择的实体
     *  type:number
     *  0: 覆盖, 1: 新增
     */
    private AddChildFromSelect;
    private parseNodes;
    RecoverSelectedNode: (nodes: ITreeNode[], leftNodes: ITreeNode[]) => void;
    private HandleNodeSelect;
    private forEachNode;
    private HandleNodeCollapse;
    _Return: () => void;
    private AddProcessGroup;
    DelGroup: (g: ProcessingGroupRecord) => void;
    private DelAlertConfirm;
    private ShowGroups;
    private ClearSelect;
    private Exec;
    private ShowSelectBoards;
    private AddProcessingGroup;
    private UpdateProcessingGroup;
    render(): JSX.Element;
}
export {};
//# sourceMappingURL=ProcessingGroupModal.d.ts.map