import { ITreeNode } from "@blueprintjs/core";
import React from "react";
import { TemplateRecord } from "../../../DatabaseServices/Template/TemplateRecord";
import { ITemplateParam } from "../../Store/RightPanelStore/ITemplateParam";
import { TemplateParamPanelStore } from "../../Store/RightPanelStore/TemplateParamPanelStore";
declare enum HighlightingType {
    This = 0,
    Child = 1
}
export declare class TemplateParamPanel extends React.Component<{}, {}> {
    store: TemplateParamPanelStore;
    componentDidMount(): void;
    componentDidUpdate(): void;
    private UpdateTreeScroll;
    private HandleNodeCollapse;
    private ShowContextMenu;
    private AddSpace;
    private RotateSpace;
    private BatchModifyCurrentLayerCabinetName;
    ModifyCabinetName: (tr: TemplateRecord, cabinetName: string) => void;
    private BatchModifyCurrentChildrenCabinetName;
    private HandleNodeSelect;
    private GetAllChildFromThisTemplate;
    private DeleteTreeNode;
    HightightSpace: (node: ITreeNode, type: HighlightingType) => void;
    showNode: (node: ITreeNode, isShowNode: boolean) => void;
    hiddenNode: (node: ITreeNode, isHiddenNode: boolean) => void;
    showChildrenNode: (node: ITreeNode, isShowChildrenNode: boolean) => void;
    hiddenChildrenNode: (node: ITreeNode, isHiddenChildrenNode: boolean) => void;
    SeparateSpace: (nodeData: ITreeNode) => void;
    FoldAll: () => void;
    render(): JSX.Element;
}
export declare class TemplateParamDetail extends React.Component<{}> {
    store: TemplateParamPanelStore;
    private onKeydown;
    GetAssociateBrNums(tr: TemplateRecord): number;
    ShowAssocBrs(tr: TemplateRecord): void;
    ShowSplitType: (tr: TemplateRecord) => "X" | "Y" | "Z" | "空";
    ChangeInputUIClass: (par: ITemplateParam) => void;
    CheckParamExpr: (par: ITemplateParam) => boolean;
    ApplyParamExpr: () => Promise<void>;
    AddMaterial: (data: {
        material_id: string;
        name: string;
        logo: string;
    }, opt: ITemplateParam) => Promise<void>;
    private RenderParams;
    private HandleRotateValue;
    private ButtonClickHandleRotateValue;
    private RenderPositionRotateionParams;
    render(): JSX.Element;
}
export {};
//# sourceMappingURL=TemplateParamPanel.d.ts.map