import { ITreeNode } from "@blueprintjs/core";
import React from "react";
import { AlignLineGroupRecord } from "../../DatabaseServices/AlignLine/AlignLineGroupRecord";
import "./AlignLineGroupCSS.less";
import { AlignLineGroupModalStore } from "./AlignLineGroupStore";
interface AlignLineGroupModalState {
    nodes: ITreeNode[];
    rightNodes: ITreeNode[];
    canAlertOpen1: boolean;
    alertType: number;
}
declare class NodeIDGenerator {
    protected _nextID: number;
    get nextID(): number;
}
export declare class AlignLineGroupPanel extends React.Component<{
    store: AlignLineGroupModalStore;
}, AlignLineGroupModalState> {
    _RemoveFuncs: Function[];
    _CanCreateGroup: import("mobx").IObservableValue<boolean>;
    _CategoryMap: Map<string, number>;
    _SearchTypeInputRef: React.RefObject<HTMLInputElement>;
    _SearchGroupInputRef: React.RefObject<HTMLInputElement>;
    _GetNodeID: NodeIDGenerator;
    _NeedUpdate: boolean;
    constructor(props: any);
    componentDidMount(): void;
    componentWillUnmount(): void;
    ParseNodes: () => ITreeNode<{}>[];
    RecoverSelectedNode: (nodes: ITreeNode[], leftNodes: ITreeNode[]) => void;
    ForEachNode(nodes: ITreeNode[], callback: (node: ITreeNode) => void): void;
    HandleNodeCollapse: (nodeData: ITreeNode, isCollapse: boolean) => void;
    HandleNodeSelect: (node: ITreeNode, _nodePath: number[], e: React.MouseEvent<HTMLElement> | MouseEvent) => void;
    ClearSelect: () => void;
    ShowGroups: () => void;
    AddAlignLineGroup: () => Promise<void>;
    AddProcessGroup: (name: string) => void;
    DelGroup: (alignLineGroup: AlignLineGroupRecord) => void;
    DelAlertConfirm: () => void;
    ShowSelectBoards: () => Promise<void>;
    _Return: () => void;
    render(): JSX.Element;
}
export {};
//# sourceMappingURL=AlignLineGroupPanel.d.ts.map