import { Vector3 } from "three";
import { CylinderHole } from "../../DatabaseServices/3DSolid/CylinderHole";
import { Board } from "../../DatabaseServices/Entity/Board";
import { Entity } from "../../DatabaseServices/Entity/Entity";
import { IHardwareType } from "../../Production/Product";
import { ISealingData } from "../../UI/Store/OptionInterface/IHighSealedItem";
export interface ICountType<T = IHardwareType> {
    name?: string;
    count: number;
    entity?: T;
    count2?: number | string;
    unit?: string;
    length?: number;
    goodsId?: string;
    goodsSn?: string;
}
export type GetCountOption = {
    sealGruopKey: (key: string, block: Board, thickness: string, data: ISealingData) => void;
    getHoles?: (name: string, hole: CylinderHole) => void;
};
declare class LookOverBoardInfosTool {
    private drillTypeMap;
    private sealMap;
    private boardMap;
    GetCount(brs: (Board | IHardwareType)[], options?: GetCountOption, IsBbsCountChaidan?: boolean): {
        drillCount: ICountType<IHardwareType>[];
        hardwareCount: ICountType<IHardwareType>[];
        sealCount: ICountType<IHardwareType>[];
        areaCount: ICountType<Board>[];
    };
    private Update;
    ParseSpec(en: IHardwareType | Vector3, spec: string, len?: number): string;
    ParseHardwareCount(k: string, v: IHardwareType[], hardwareCount: ICountType[]): void;
    ParseProcessingGroupTags: (entity: Entity) => string[];
    private UpdateBoardMap;
    GetTranslatedHardwareRemarks: (entity: IHardwareType, dataLength: number) => string[];
    GetBoardThickness(br: Board): string;
    GetBoardsArea(brs: Board[]): string;
}
export declare const lookOverBoardInfosTool: LookOverBoardInfosTool;
export {};
//# sourceMappingURL=LookOverBoardInfosTool.d.ts.map