import { IConfigOption, IExportConfigData } from "../Components/Board/UserConfig";
import { BoardStore } from "./BoardStore";
import { DrillingOption } from "./drillInterface";
import { ExtrudeHole } from "../../DatabaseServices/3DSolid/ExtrudeHole";
export interface IExportDrillOption {
    [key: string]: {
        ruleMap: {
            [key: string]: DrillingOption[];
        };
    };
}
export declare class DrillStore extends BoardStore {
    m_CurrentRuleIndex: number;
    type: string;
    rules: DrillingOption[];
    m_Option: DrillingOption;
    drillConfig: Map<string, DrillingOption[]>;
    deleteHoleTemps: Set<unknown>;
    constructor();
    private GetDefaultOption;
    InitOption(): void;
    AddNewDrillType(name: string): void;
    SaveRuleOption(): void;
    SaveConfig(): IConfigOption<import("./BoardInterface").AnyObject>;
    UpdateOption(cof: IConfigOption): void;
    ChangeRules(i: number): void;
    DeleteRule: () => void;
    HasInvailValue(): string;
    /**修正就版本排钻配置,缓存排钻模板 */
    HandleDrillConfig(ruleMap: Map<string, DrillingOption[]>): void;
    CacheDrillTemp(conf: DrillingOption): Promise<void>;
    GetDrillTemp(conf: {
        tempId: string;
        tempName: string;
    }, hasToaster?: boolean): Promise<ExtrudeHole[]>;
    GetOtherConfig(conf: IExportDrillOption): Promise<{
        [key: string]: string;
    }>;
    HandleImportConfig(data: IExportConfigData): Promise<void>;
}
//# sourceMappingURL=DrillStore.d.ts.map