type ICFCurverType = "Curve" | "Polyline" | "Rect" | "Line" | "Arc" | "Circle";
type ICFEntityType = "Entity" | "ExtrudeSolid" | "Board" | "Template" | "EntityTree" | "Hardware" | "Topline";
export type ICFPolylineContour = {
    pt: [number, number];
    bul: 0;
}[];
export type ICFCircleContour = {
    Radius: number;
    Center: [number, number, number];
};
export type ICFExtrudeContour = ICFPolylineContour | ICFCircleContour;
export interface ICFDoc {
    ModelSpace: ICFEntity[];
}
export interface ICFEntity {
    Type: ICFEntityType | ICFCurverType;
    Id?: number;
    ColorIndex?: number;
    OCS?: number[];
    Pos?: [number, number, number];
    Rot?: [number, number, number];
    Qua?: [number, number, number, number];
}
export interface ICFExtrudeSolid extends ICFEntity {
    Width?: number;
    Height?: number;
    ContourCurve?: ICFExtrudeContour;
    Thickness?: number;
    GroovesAddLength?: number;
    GroovesAddWidth?: number;
    GroovesAddDepth?: number;
    KnifeRadius?: number;
    Holes?: ICFExtrudeSolid[];
}
export interface ICFBoard extends ICFExtrudeSolid {
    Name?: string;
    BrType?: number;
    PositionType?: number;
    OpenDir?: number;
    Lines?: number;
    BigHole?: number;
    ComposingFace?: number;
    RoomName?: string;
    CabinetName?: string;
    BrMatName?: string;
    Matrial?: string;
    Color?: string;
    BoardMaterialId?: string;
    UpSealed?: string;
    DownSealed?: string;
    LeftSealed?: string;
    RightSealed?: string;
    sealColorUp?: string;
    sealColorDown?: string;
    sealColorLeft?: string;
    sealColorRight?: string;
    EachSealeds?: {
        size: number;
        sealColor: string;
    }[];
    EachEdgeDrills?: string[];
    FrontDrill?: boolean;
    BackDrill?: boolean;
    Remarks?: [string, string][];
}
export interface ICFEntityTree extends ICFEntity {
    Name?: string;
    Entitys?: ICFEntity[];
    Childen?: ICFEntityTree[];
}
export interface ICFTemplate extends ICFEntity {
    TempalteId?: string;
    Name?: string;
    Lenght?: number;
    Width?: number;
    Height?: number;
    BoxSize?: [number, number, number];
    ParamMap?: {
        name: string;
        value: string;
    }[];
    RoomName?: string;
    CabinetName?: string;
}
export interface ICFHardware extends ICFTemplate {
    Name?: string;
    HardwarerId?: string;
    Unit?: string;
    ActualExpr?: string;
    Model?: string;
    Factory?: string;
    Brand?: string;
    Spec?: string;
    Comments?: string;
    IsHole?: boolean;
    Material?: string;
    Color?: string;
}
export interface ICFTopline extends ICFTemplate {
    Name?: string;
    ToplineId?: string;
    Unit?: string;
    ActualExpr?: string;
    Model?: string;
    Factory?: string;
    Brand?: string;
    Spec?: string;
    Comments?: string;
    Contour?: ICFPolylineContour;
    PathCurve?: ICFExtrudeContour;
}
export interface ICFCurve extends ICFEntity {
}
export interface ICFLine extends ICFCurve {
    StartPoint: [number, number, number];
    EndPoint: [number, number, number];
}
export interface ICFPolyline extends ICFCurve {
    ContourCurve?: ICFPolylineContour;
}
export interface ICFRect extends ICFCurve {
    Width: number;
    Height: number;
}
export interface ICFCircle extends ICFCurve {
    Radius: number;
    Center: [number, number, number];
}
export {};
//# sourceMappingURL=CFInterface.d.ts.map