import { IBaseOption, IHightDrillOption } from "./OptionInterface/IOptionInterface";
import { ITemplateParam } from "./RightPanelStore/ITemplateParam";
export interface IDoorAndDrawerConfigOption extends IBaseOption {
    col: number;
    row: number;
    isAllSelect: boolean;
    topOffset: number;
    bottomOffset: number;
    doorPosType: DoorPosType;
    offset: number;
    topExt: number;
    bottomExt: number;
    leftExt: number;
    rightExt: number;
    topSpace: number;
    bottomSpace: number;
    leftSpace: number;
    rightSpace: number;
    midSpace: number;
    verticalBoardName: string;
    thickness: number;
    depth: number;
    isAuto: boolean;
    isFloor50?: boolean;
    boardName: string;
    handleAngle: number;
    handleHorPos: HandleHorPos;
    horSpacing: number;
    handleVePos: HandleVePos;
    veSpacing: number;
    upOffsetExpr: string;
    downOffsetExpr: string;
    lbSealedUp: number;
    lbSealedDown: number;
    lbSealedLeft: number;
    lbSealedRight: number;
    lbHightDrillOption: IHightDrillOption;
    useBoardProcessOption?: boolean;
    isModifyHardwareMaterial: boolean;
    boardMatName: string;
    material: string;
    color: string;
    roomName: string;
    cabinetName: string;
    goodMaterialId: string;
}
/**
 * 门板数据接口
 */
export interface IDoorConfigOption extends IDoorAndDrawerConfigOption {
    doorThickness: number;
    topBrSeal: number;
    bottomBrSeal: number;
    leftBrSeal: number;
    rightBrSeal: number;
    topDoorSeal: number;
    bottomDoorSeal: number;
    leftDoorSeal: number;
    rightDoorSeal: number;
    hingeCount: number;
    hindeTopDist: number;
    hindeBottomDist: number;
    useRule: boolean;
    updateHingeCount: boolean;
    changeTemplateBoardNameOfOpenDir: boolean;
    frontAndBackDrill: boolean;
    layerBoardName: string;
    cbHightDrillOption: IHightDrillOption;
    deviation: number;
    verticalEdgeRemarkUp: string;
    verticalEdgeRemarkDown: string;
    verticalEdgeRemarkLeft: string;
    verticalEdgeRemarkRight: string;
    layerEdgeRemarkUp: string;
    layerEdgeRemarkDown: string;
    layerEdgeRemarkLeft: string;
    layerEdgeRemarkRight: string;
    parseHinge: boolean;
    sealColorUp: string;
    sealColorDown: string;
    sealColorLeft: string;
    sealColorRight: string;
    reservedEdgeUp: string;
    reservedEdgeDown: string;
    reservedEdgeLeft: string;
    reservedEdgeRight: string;
    layerSealColorUp: string;
    layerSealColorDown: string;
    layerSealColorLeft: string;
    layerSealColorRight: string;
    layerReservedEdgeUp: string;
    layerReservedEdgeDown: string;
    layerReservedEdgeLeft: string;
    layerReservedEdgeRight: string;
    verticalSealColorUp: string;
    verticalSealColorDown: string;
    verticalSealColorLeft: string;
    verticalSealColorRight: string;
    verticalReservedEdgeUp: string;
    verticalReservedEdgeDown: string;
    verticalReservedEdgeLeft: string;
    verticalReservedEdgeRight: string;
    useBoardRoomCabinetName: boolean;
}
/**
 * 铰链数据接口
 */
export interface IHingeConfigOption extends IBaseOption {
    hingeCount: number;
    hindeTopDist: number;
    hindeBottomDist: number;
    useRule: boolean;
    deviation: number;
    parseHinge: boolean;
    updateHingeCount: boolean;
}
/**
 * 抽屉数据接口
 */
export interface IDrawerConfigOption extends IDoorAndDrawerConfigOption {
    drawerTotalDepth: number;
    trackDepth: number;
    isAutoSelectTrack: boolean;
    isLockTopOffset: boolean;
    isLockBottomOffset: boolean;
    sealColorUp: string;
    sealColorDown: string;
    sealColorLeft: string;
    sealColorRight: string;
    reservedEdgeUp: string;
    reservedEdgeDown: string;
    reservedEdgeLeft: string;
    reservedEdgeRight: string;
    useBoardRoomCabinetName: boolean;
}
export declare enum DoorPosType {
    Out = 0,//外盖
    In = 1
}
export declare enum HandleHorPos {
    Left = 0,
    Right = 1,
    Mid = 2
}
export declare enum HandleVePos {
    Top = 0,
    Bottom = 1,
    Mid = 2
}
export declare enum DoorOpenDir {
    Left = "lf",
    Right = "rt",
    Top = "tp",
    Bottom = "bm",
    None = "none",//非门板
    NoOpen = "noopen"
}
export interface IDrawerInfo extends IBaseOption {
    row: number;
    col: number;
    divWidth: number;
    divHeight: number;
    showWidth: string;
    showHeight: string;
    width: number;
    height: number;
    isLockWidth: boolean;
    isLockHeight: boolean;
    isSelect: boolean;
    tempInfo: ISelectTempInfo;
    marginRight?: number;
}
export interface IDoorInfo extends IDrawerInfo {
    openDir: DoorOpenDir;
    isDrawLayer: boolean;
    isDrawVer: boolean;
}
export interface IDrawerDoorTempInfo {
    name: string;
    id: string;
    logo?: string;
    props?: ITemplateParam[];
    title?: string;
    isHandle?: boolean;
    isHinge?: boolean;
    tagName?: string;
    isKuGan?: boolean;
    diy_logo?: string;
}
export interface IWindowTempInfo {
    logo?: string;
}
/**选择的模板信息,temp-抽屉或门板,handletemp-拉手模板,windowTemp-窗户模板,其他是铰链模板 */
export interface ISelectTempInfo {
    temp: IDrawerDoorTempInfo;
    handleTemp?: IDrawerDoorTempInfo;
    hingeTemp?: IDrawerDoorTempInfo;
    [key: string]: IDrawerDoorTempInfo;
}
/**抽屉一定要有的参数 */
export declare const DrawerTempParName: string[];
/**禁止改的属性 */
export declare const DisableChangeParName: string[];
/**门板需要的参数 */
export declare const DoorNeedParamNames: string[];
//# sourceMappingURL=DoorInterface.d.ts.map