import { AAType, ViewDirType } from "../Common/SystemEnum";
import { RenderType } from "../GraphicsSystem/RenderType";
import { IConfigOption } from "../UI/Components/Board/UserConfig";
import { IBaseOption, IGrooveOption } from "../UI/Store/BoardInterface";
import { IConfigStore } from "../UI/Store/BoardStore";
import { DrillingOption } from "../UI/Store/drillInterface";
import { IWineRackOption } from "../UI/Store/WineRackInterface";
export interface IMaxSizeProps extends IBaseOption {
    height: number;
    width: number;
    isShow: boolean;
}
export interface ISystemConfig extends IBaseOption {
    aaType: AAType;
    maxHightightCount: number;
    snapSize: number;
    background: string;
    layoutBackground: string;
}
export interface ICursorConfig extends IBaseOption {
    D2: number;
    D3: number;
    SquareSize: number;
}
export declare class UserConfig implements IConfigStore {
    private readonly _version;
    _renderType: RenderType;
    maxSize: IMaxSizeProps;
    private _drillConfigs;
    openDrillingReactor: boolean;
    openAutoCuttingReactor: boolean;
    /**打开将检测排钻是否在板件内*/
    openExactDrill: boolean;
    winerackConfig: IWineRackOption;
    userConfigName: {
        [key: string]: string;
    };
    private modeling2HoleRad;
    isAdmin: boolean;
    isMaster: boolean;
    rights: any[];
    kjlConfig: IGrooveOption;
    SystemConfig: ISystemConfig;
    viewDirType: ViewDirType;
    useCtrlRotate: boolean;
    cursorSize: ICursorConfig;
    autoSaveConfig: {
        enable: boolean;
        time: number;
    };
    showLines: boolean;
    keepConfig: boolean;
    autoClearHistory: boolean;
    chaidanOption: {
        changXiuBian: number;
        duanXiuBian: number;
        useDefaultRad: boolean;
        radius: number;
        modeling2HoleRad: number;
        isCheckInterfere: boolean;
        noModeingData: string;
        statTk: boolean;
        statSt: boolean;
    };
    autoLines: boolean;
    dimTextHeight: number;
    performanceConfig: {
        fakersweep: boolean;
        disablerefcut: boolean;
        disablecheckgroove: boolean;
    };
    lineWidth: number;
    forceFilterPxl: boolean;
    checkSealing: boolean;
    sealingColorMap: [string, string][];
    constructor();
    Init(): void;
    set RenderType(t: RenderType);
    get RenderType(): RenderType;
    SetRenderTypeEvent(): void;
    get DrillConfigs(): Map<string, DrillingOption[]>;
    set DrillConfigs(config: Map<string, DrillingOption[]>);
    SetDrillConfigsEvent(): void;
    configName: string;
    configsNames: string[];
    InitOption(): void;
    SaveConfig(): {
        option: {
            version: number;
            openDrillingReactor: boolean;
            openAutoCuttingReactor: boolean;
            maxSize: IMaxSizeProps;
            kjlConfig: IGrooveOption;
            systemConfig: ISystemConfig;
            viewDirType: ViewDirType;
            useCtrlRotate: boolean;
            cursorSize: ICursorConfig;
            autoSaveConfig: {
                enable: boolean;
                time: number;
            };
            showLines: boolean;
            keepConfig: boolean;
            autoClearHistory: boolean;
            chaidanOption: {
                changXiuBian: number;
                duanXiuBian: number;
                useDefaultRad: boolean;
                radius: number;
                modeling2HoleRad: number;
                isCheckInterfere: boolean;
                noModeingData: string;
                statTk: boolean;
                statSt: boolean;
            };
            autoLines: boolean;
            dimTextHeight: number;
            lineWidth: number;
            forceFilterPxl: boolean;
            checkSealing: boolean;
            sealingColorMap: [string, string][];
        };
    };
    UpdateOption(config: IConfigOption): void;
}
export declare const userConfig: UserConfig;
//# sourceMappingURL=UserConfig.d.ts.map