import { AAType, FractionDigitsType, ViewDirType } from "../Common/SystemEnum";
import { RenderType } from "../GraphicsSystem/RenderType";
import { IConfigOption } from "../UI/Components/Board/UserConfigComponent";
import { IConfigStore } from "../UI/Store/BoardStore";
import { IBaseOption, IGrooveOption } from "../UI/Store/OptionInterface/IOptionInterface";
import { IWineRackOption } from "../UI/Store/WineRackInterface";
import { DrillingOption } from "../UI/Store/drillInterface";
import { ICursorConfig } from "./ICursorConfig";
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 IUCSGridConfig extends IBaseOption {
    isShowUCSGrid: boolean;
    size: number;
    divisions: number;
    color1: string;
    color2: string;
}
export interface IChat {
    username?: string;
    password?: string;
    timeStamp?: number;
}
export declare class UserConfig implements IConfigStore {
    private readonly _version;
    designer: string;
    _renderType: RenderType;
    maxSize: IMaxSizeProps;
    _drillConfigs: Map<string, DrillingOption[]>;
    openDrillingReactor: boolean;
    openReDrilling: boolean;
    openAutoCuttingReactor: boolean;
    /**打开将检测排钻是否在板件内*/
    winerackConfig: IWineRackOption;
    userConfigName: {
        [key: string]: string;
    };
    isNeedUpdataOption: boolean;
    _modeling2HoleRad: number;
    isAdmin: boolean;
    isMaster: boolean;
    rights: any[];
    uese: string;
    chat: IChat;
    kjlConfig: IGrooveOption;
    SystemConfig: ISystemConfig;
    viewDirType: ViewDirType;
    fractionDigitsType: FractionDigitsType;
    useCtrlRotate: boolean;
    cursorSize: ICursorConfig;
    smalliconmode: boolean;
    dimensions: boolean;
    switchBackground: boolean;
    synchronousEnable: boolean;
    isLargeIcon: boolean;
    isModifyMaterial: boolean;
    isHighlightMaterial: boolean;
    cabinetSpacing: number;
    testModeSpacing: number;
    ConceptualEdgeColor: number;
    ConceptualOpacity: number;
    ConceptualTransparentOpacity: number;
    ConceptualOpacityUI: number;
    ConceptualColorUI: string;
    Physical2EdgeColor: number;
    titleWidthMap: Map<string, number>;
    autoSaveConfig: {
        enable: boolean;
        time: number;
    };
    showLines: boolean;
    showOpenDirLines: boolean;
    doorLinesOption: {
        physicalShowLines: boolean;
        physicalShowLines2: boolean;
        reverseOpenDirLines: boolean;
    };
    show2DPathLine: boolean;
    show2DPathObject: boolean;
    keepConfig: boolean;
    autoClearHistory: boolean;
    chaidanOption: {
        changXiuBian: number;
        duanXiuBian: number;
        useDefaultRad: boolean;
        radius: number;
        modeling2HoleRad: number;
        isCheckInterfere: boolean;
        noModeingData: string;
        statTk: boolean;
        statSt: boolean;
        drillRemark: boolean;
        checkSealType: string;
        sealMaxValue: number;
        sealValues: string;
        hardwareExpressionFormattingAccuracy: number;
        partialSplitValueCanTakesEffect: boolean;
        xlineLength: number;
        cancelHoleProcessing: boolean;
        isCheckCustomBoardNumber: boolean;
        reservedEdgeCheckTip: boolean;
    };
    viewSize: {
        minViewHeight: number;
        maxViewHeight: number;
        zoomSpeed: number;
    };
    splitParams: {
        ARC_SplitLength: number;
        ARC_RADIUS_MIN: number;
        Arc_MinSplitCount: number;
        ARC_MaxSplitCount: number;
    };
    autoLines: boolean;
    dimTextHeight: number;
    boardCustomNumberTextHeight: number;
    performanceConfig: {
        fakersweep: boolean;
        disablerefcut: boolean;
    };
    lineWidth: number;
    forceFilterPxl: boolean;
    checkSealing: boolean;
    sealingColorMap: [string, string][];
    textStyleOption: {
        appointTextHight: boolean;
        noNeedAngle: boolean;
    };
    showShareModule: boolean;
    openHistoryList: boolean;
    isOpenCabinet: boolean;
    lightHelper: boolean;
    isShowSkyBox: boolean;
    openLightConfig: boolean;
    oneKeyOpenLight: boolean;
    isShowLightShadow: boolean;
    UCSGridConfig: IUCSGridConfig;
    isOpenAxisSwitch: boolean;
    isOpenCameraSetting: boolean;
    dxfImportBlock: boolean;
    dxfImportFrontView: boolean;
    printOption: {
        defaultPrint: boolean;
        pageHeaderName: string;
        pageFooterName: string;
        printResolution: number;
    };
    templateDisplayCount: number;
    isShowAxesMatrix: boolean;
    commandInfoLongDisplay: boolean;
    hingeLidRule: {
        noLid: string;
        allLid: string;
    };
    forceOpendirOrNameChange: boolean;
    throughModelSegmentedDrill: boolean;
    brRelativePosChangeCount: boolean;
    autoDeviation: boolean;
    autoDeviationMinDist: number;
    drillShortPrior: boolean;
    reservedEdgeCheckTip: boolean;
    smallGrooveThreshold: number;
    isHardwareMaterial: boolean;
    setHardwareAttribute: boolean;
    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;
            openReDrilling: 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;
                drillRemark: boolean;
                checkSealType: string;
                sealMaxValue: number;
                sealValues: string;
                hardwareExpressionFormattingAccuracy: number;
                partialSplitValueCanTakesEffect: boolean;
                xlineLength: number;
                cancelHoleProcessing: boolean;
                isCheckCustomBoardNumber: boolean;
                reservedEdgeCheckTip: boolean;
            };
            autoLines: boolean;
            dimTextHeight: number;
            lineWidth: number;
            forceFilterPxl: boolean;
            checkSealing: boolean;
            sealingColorMap: [string, string][];
            fractionDigitsType: FractionDigitsType;
            textStyleOption: {
                appointTextHight: boolean;
                noNeedAngle: boolean;
            };
            viewSize: {
                minViewHeight: number;
                maxViewHeight: number;
                zoomSpeed: number;
            };
            smalliconmode: boolean;
            dimensions: boolean;
            switchBackground: boolean;
            openHistoryList: boolean;
            synchronousEnable: boolean;
            isLargeIcon: boolean;
            isModifyMaterial: boolean;
            isHighlightMaterial: boolean;
            cabinetSpacing: number;
            ConceptualEdgeColor: number;
            Physical2EdgeColor: number;
            isShowSkyBox: boolean;
            openLightConfig: boolean;
            UCSGridConfig: IUCSGridConfig;
            isOpenAxisSwitch: boolean;
            isOpenCameraSetting: boolean;
            dxfImportBlock: boolean;
            titleWidthMap: {
                [k: string]: number;
            };
            dxfImportFrontView: boolean;
            designer: string;
            showOpenDirLines: boolean;
            testModeSpacing: number;
            printOption: {
                defaultPrint: boolean;
                pageHeaderName: string;
                pageFooterName: string;
                printResolution: number;
            };
            show2DPathLine: boolean;
            show2DPathObject: boolean;
            templateDisplayCount: number;
            hingeLidRule: {
                noLid: string;
                allLid: string;
            };
            boardCustomNumberTextHeight: number;
            forceOpendirOrNameChange: boolean;
            throughModelSegmentedDrill: boolean;
            brRelativePosChangeCount: boolean;
            autoDeviation: boolean;
            splitParams: {
                ARC_SplitLength: number;
                ARC_RADIUS_MIN: number;
                Arc_MinSplitCount: number;
                ARC_MaxSplitCount: number;
            };
            drillShortPrior: boolean;
            autoDeviationMinDist: number;
            isShowAxesMatrix: boolean;
            reservedEdgeCheckTip: boolean;
            smallGrooveThreshold: number;
            doorLinesOption: {
                physicalShowLines: boolean;
                physicalShowLines2: boolean;
                reverseOpenDirLines: boolean;
            };
            commandInfoLongDisplay: boolean;
            ConceptualOpacityUI: number;
            ConceptualColorUI: string;
            isHardwareMaterial: boolean;
            setHardwareAttribute: boolean;
        };
    };
    UpdateOption(config: IConfigOption): void;
}
export declare const userConfig: UserConfig;
//# sourceMappingURL=UserConfig.d.ts.map