import { FaceDirection } from "../../Add-on/DrawDrilling/DrillType";
import { EBoardKeyList } from "../../Common/BoardKeyList";
import { AddRemarkType, BoardOpenDir, ComposingType, LinesType } from "../../DatabaseServices/Entity/BoardInterface";
import { FindModifyStyle } from "../Components/Board/BoardFindInterface";
import { EMetalsType } from "../Components/RightPanel/RightPanelInterface";
import { IBaseOption } from "./OptionInterface/IOptionInterface";
export declare const DRILL_KEYS: string[];
export declare const SEAL_KEYS: EBoardKeyList[];
export declare const EDGEREMARK_KEYS: string[];
export interface IBoardFindOption extends IBaseOption {
    condition: IFindCondition;
    compareType: ICompareType;
    tolerance: ITolerance;
    [EBoardKeyList.Height]: string;
    [EBoardKeyList.Width]: string;
    [EBoardKeyList.Thick]: string;
    [EBoardKeyList.RoomName]: string;
    [EBoardKeyList.CabinetName]: string;
    brName: string;
    hardwareName: string;
    [EBoardKeyList.BrMat]: string;
    [EBoardKeyList.Mat]: string;
    [EBoardKeyList.Color]: string;
    [EBoardKeyList.Lines]: LinesType;
    [EBoardKeyList.BigHole]: FaceDirection;
    [EBoardKeyList.DrillType]: string;
    [EBoardKeyList.ComposingFace]: ComposingType;
    [EBoardKeyList.OpenDir]: BoardOpenDir;
    [EBoardKeyList.UpSealed]: string;
    [EBoardKeyList.DownSealed]: string;
    [EBoardKeyList.LeftSealed]: string;
    [EBoardKeyList.RightSealed]: string;
    hardwareDoorName: string;
    highDrill: string[];
    upDownDrill: [boolean, boolean];
    isClose: boolean;
    remarks: [string, string][];
    query: FindModifyStyle;
    extraRemarks: [string, string][];
    isChaidan: boolean;
    [EBoardKeyList.KnifeRad]: string;
    edgeRemarkUp: string;
    edgeRemarkDown: string;
    edgeRemarkLeft: string;
    edgeRemarkRight: string;
    [EBoardKeyList.SpliteHeight]: string;
    [EBoardKeyList.SpliteWidth]: string;
    [EBoardKeyList.SpliteThickness]: string;
    appendRemark: [string, string, number][];
    goodMaterialId: string;
    switchAppendRemark: [string, string, AddRemarkType, boolean][];
    updateRemarks: [string, string, boolean][];
    customBoardNumber: string;
    hardwareLength: string;
    hardwareWidth: string;
    hardwareHeight: string;
    type: EMetalsType;
    model: string;
    spec: string;
    factory: string;
    brand: string;
}
export interface IFindCondition {
    [EBoardKeyList.Height]: boolean;
    [EBoardKeyList.Width]: boolean;
    [EBoardKeyList.Thick]: boolean;
    useWood: boolean;
    useDrill: boolean;
    useNail: boolean;
    useDoor: boolean;
    useDim: boolean;
    useSpecial: boolean;
    useModeling: boolean;
    useCurve: boolean;
    useText: boolean;
    noUseBr: boolean;
    noUseHwd: boolean;
    [EBoardKeyList.RoomName]: boolean;
    [EBoardKeyList.CabinetName]: boolean;
    brName: boolean;
    hardwareName: boolean;
    [EBoardKeyList.Mat]: boolean;
    [EBoardKeyList.Lines]: boolean;
    [EBoardKeyList.BigHole]: boolean;
    [EBoardKeyList.DrillType]: boolean;
    useKeyWord: boolean;
    addRemarks: boolean;
    [EBoardKeyList.ComposingFace]: boolean;
    [EBoardKeyList.OpenDir]: boolean;
    [EBoardKeyList.UpSealed]: boolean;
    [EBoardKeyList.DownSealed]: boolean;
    [EBoardKeyList.LeftSealed]: boolean;
    [EBoardKeyList.RightSealed]: boolean;
    upDrill: boolean;
    downDrill: boolean;
    leftDrill: boolean;
    rightDrill: boolean;
    useZhengFanDrill: boolean;
    useChaidan: boolean;
    [EBoardKeyList.KnifeRad]: boolean;
    edgeRemarkUp: boolean;
    edgeRemarkDown: boolean;
    edgeRemarkLeft: boolean;
    edgeRemarkRight: boolean;
    [EBoardKeyList.SpliteHeight]: boolean;
    [EBoardKeyList.SpliteWidth]: boolean;
    [EBoardKeyList.SpliteThickness]: boolean;
    customBoardNumber: boolean;
    hardwareLength: boolean;
    hardwareWidth: boolean;
    hardwareHeight: boolean;
    type: boolean;
    model: boolean;
    spec: boolean;
    factory: boolean;
    brand: boolean;
    topline: boolean;
    metals: boolean;
    comp: boolean;
}
export interface ICompareType {
    [EBoardKeyList.Height]: ECompareType;
    [EBoardKeyList.Width]: ECompareType;
    [EBoardKeyList.Thick]: ECompareType;
    [EBoardKeyList.RoomName]: ECompareType;
    [EBoardKeyList.CabinetName]: ECompareType;
    brName: ECompareType;
    hardwareName: ECompareType;
    [EBoardKeyList.BrMat]: ECompareType;
    [EBoardKeyList.Mat]: ECompareType;
    [EBoardKeyList.Color]: ECompareType;
    [EBoardKeyList.Lines]: ECompareType;
    [EBoardKeyList.BigHole]: ECompareType;
    [EBoardKeyList.DrillType]: ECompareType;
    [EBoardKeyList.ComposingFace]: ECompareType;
    [EBoardKeyList.OpenDir]: ECompareType;
    [EBoardKeyList.KnifeRad]: ECompareType;
    edgeRemarkUp: ECompareType;
    edgeRemarkDown: ECompareType;
    edgeRemarkLeft: ECompareType;
    edgeRemarkRight: ECompareType;
    [EBoardKeyList.SpliteHeight]: ECompareType;
    [EBoardKeyList.SpliteWidth]: ECompareType;
    [EBoardKeyList.SpliteThickness]: ECompareType;
    customBoardNumber: ECompareType;
    hardwareLength: ECompareType;
    hardwareWidth: ECompareType;
    hardwareHeight: ECompareType;
    type: ECompareType;
    model: ECompareType;
    spec: ECompareType;
    factory: ECompareType;
    brand: ECompareType;
}
export interface ITolerance {
    [EBoardKeyList.Height]: string;
    [EBoardKeyList.Width]: string;
    [EBoardKeyList.Thick]: string;
    [EBoardKeyList.KnifeRad]: string;
    [EBoardKeyList.SpliteHeight]: string;
    [EBoardKeyList.SpliteWidth]: string;
    [EBoardKeyList.SpliteThickness]: string;
    hardwareLength: string;
    hardwareWidth: string;
    hardwareHeight: string;
}
export declare enum EFindType {
    Find = 0,
    Modify = 1,
    FindMaxSize = 2,
    FindSplite = 3,
    GetOption = 4,
    RemoveModeling = 5,
    RemoveSpecialShape = 6,
    RemoveModelingAndSpecial = 7,
    ModifyHardware = 8,
    FindMinSize = 9,
    GetHardWareOption = 10,
    RemoveSplitSize = 11
}
export declare enum ECompareType {
    Equal = "=",
    UnEqual = "!=",
    Greater = ">=",
    Less = "<=",
    Include = "//",//模糊匹配
    Prefix = "\u524D\u7F00",
    Suffix = "\u540E\u7F00"
}
export interface IBoardAddRemark extends IBaseOption {
    addRemarkArr: [string, string, AddRemarkType, boolean][];
}
export interface IBoardUpdataRemark extends IBaseOption {
    updataRemarkArr: [string, string, boolean][];
    queryType: FindModifyStyle;
}
//# sourceMappingURL=BoardFindInterface.d.ts.map