import { ITreeNode } from "@blueprintjs/core";
import React from "react";
import { Singleton } from "../../../Common/Singleton";
import { CADObject } from "../../../DatabaseServices/CADObject";
import { Board } from "../../../DatabaseServices/Entity/Board";
import { Entity } from "../../../DatabaseServices/Entity/Entity";
import { ProcessingGroupRecord } from "../../../DatabaseServices/ProcessingGroup/ProcessingGroupRecord";
import '../../Css/ProcessingGroupModal.less';
import { IConfigStore } from "../../Store/BoardStore";
import { ProcessingGroupOption } from "../../Store/OptionInterface/IOptionInterface";
interface EntityNodeData {
    self: CADObject;
    parent: ProcessingGroupRecord;
}
interface TemplatePgData {
    nodeName: string;
    brarr: Board[];
}
interface ProcessingGroupModalState {
    nodes: ITreeNode[];
    rightNodes: ITreeNode[];
    canAlertOpen1: boolean;
    alertType: number;
}
export declare class ProcessingGroupModalStore extends Singleton implements IConfigStore {
    configName: string;
    configsNames: string[];
    flag: number;
    checkEnts: Entity[];
    addAlone: boolean;
    selectedLeftNodeSet: Set<string>;
    selectedRightNodeSet: Set<string>;
    selectedGroupSet: Set<ProcessingGroupRecord>;
    selectedObjectSet: Set<EntityNodeData>;
    selectedTempPgs: TemplatePgData[];
    tempPgs: TemplatePgData[];
    expandedNodesId: any[];
    processGroupCategory: string[];
    InitOption: () => void;
    UpdateOption: (config: any) => void;
    SaveConfig: () => ProcessingGroupOption;
    ResetData: () => void;
}
export declare class ProcessingGroupModal extends React.Component<{
    store: ProcessingGroupModalStore;
}, ProcessingGroupModalState> {
    private canCreateGroup;
    private pgCategoryMap;
    private getNodeID;
    private removeFuncs;
    private _SearchTypeInputRef;
    private _SearchGroupInputRef;
    private filterTypes;
    constructor(props: any);
    UNSAFE_componentWillMount(): void;
    componentDidMount(): void;
    componentWillUnmount(): void;
    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 ShowSelectBoards;
    private AddProcessingGroup;
    render(): JSX.Element;
}
export {};
//# sourceMappingURL=ProcessingGroupModal.d.ts.map