import { Vec2 } from "three";
import { Vec3 } from "../../../Geometry/IVec3";
/** 模型类型 */
export declare enum KJL_ModelType {
    ParamModel = 1,//参数化模型
    Max3DModel = 2,//3DMax模型
    BaseModel = 3,//元件
    VirtualModel = 4
}
export interface KJL_Parameter {
    name: string;
    value: string;
}
/** 参数模型 */
export interface KJL_ParamModel {
    modelTypeId: KJL_ModelType;
    modelName: string;
    roomId: string;
    modelBrandGoodName: string;
    parameters: KJL_Parameter[];
    profileSegments?: KJL_Topline[];
    ignoreParameters: KJL_Parameter[];
    constParameters: KJL_Parameter[];
    boxSize: Vec3;
    position: Vec3;
    center: Vec3;
    rotate: Vec3;
    baseTexture: string;
    textureName: string;
    textureAngle: number;
    absPosition: Vec3;
    absRotation: Vec3;
    subModels: KJL_ParamModel[];
    id: string;
}
/** 曲线类型 */
export declare enum KJL_LineType {
    Line = 0,
    Arc = 1
}
export interface KJL_Topline {
    lengthWithAllowance: number;
    startCornerCutDegree: number;
    startCornerCutTyp: number;
    endCornerCutDegree: number;
    endCornerCutType: number;
}
export interface KJL_Path {
    resultPoints: Vec2[];
    resultLines: {
        type: KJL_LineType;
        clockwise: boolean;
        radius: number;
    }[];
}
export interface KJL_ParamModel_Hardware extends KJL_ParamModel {
    modelProductNumber: string;
}
/** 板件数据(元件,可能) */
export interface KJL_ParamModel_Board extends KJL_ParamModel {
    thickness: number;
    points: Vec2[];
    paramPlankPath: {
        path: KJL_Path;
        holes: KJL_Path[];
    };
}
export interface KJL_DesignData {
    roomDataList: {
        roomId: string;
        name: string;
    }[];
}
export interface KJL_AssemblyModel {
    name: string;
    paramModelIds: string[];
}
export interface KJL_JsonFile {
    paramModel: KJL_ParamModel[];
    designData: KJL_DesignData;
    assemblyModels: KJL_AssemblyModel[];
}
export interface KJL_DrillData {
    bigHole: number;
    drillSides: number[];
}
//# sourceMappingURL=KJLInterface.d.ts.map