import { Singleton } from "../../Common/Singleton";
import { AlignLineGroupRecord } from "../../DatabaseServices/AlignLine/AlignLineGroupRecord";
import { CADObject } from "../../DatabaseServices/CADObject";
import { Board } from "../../DatabaseServices/Entity/Board";
import { Entity } from "../../DatabaseServices/Entity/Entity";
import { IConfigOption } from "../../UI/Components/Board/UserConfigComponent";
import { IConfigStore } from "../../UI/Store/BoardStore";
export interface AlignLineNodeData {
    self: CADObject;
    parent: AlignLineGroupRecord;
}
interface TemplatePgData {
    nodeName: string;
    brarr: Board[];
}
export interface AlignLineGroupOption {
    alignLineGroupCategory: string[];
    alignLineGroupSpacing: number;
}
export declare class AlignLineGroupModalStore extends Singleton implements IConfigStore {
    configName: string;
    configsNames: string[];
    m_Option: AlignLineGroupOption;
    flag: number;
    checkEnts: Entity[];
    selectedLeftNode: string;
    selectedRightNodeSet: Set<string>;
    selectedGroupSet: Set<AlignLineGroupRecord>;
    selectedObjectSet: Set<AlignLineNodeData>;
    selectedTempPgs: TemplatePgData[];
    tempPgs: TemplatePgData[];
    expandedNodesId: any[];
    InitOption: () => void;
    UpdateOption: (config: IConfigOption<AlignLineGroupOption>) => void;
    SaveConfig: () => IConfigOption<AlignLineGroupOption>;
    ResetData: () => void;
}
export {};
//# sourceMappingURL=AlignLineGroupStore.d.ts.map