import { RotationType, type Bin3D, type Item3D, type PackedItem3D } from './types'; interface NormalizedBin { readonly name: string; readonly width: number; readonly height: number; readonly depth: number; readonly maxWeight: number; } export declare function normalizeBin(bin: Bin3D, factor: number): NormalizedBin; export declare function binVolume(bin: NormalizedBin): number; export declare function scoreRotation(bin: NormalizedBin, itemWidth: number, itemHeight: number, itemDepth: number, rotation: RotationType): number; export declare function getBestRotationOrder(bin: NormalizedBin, itemWidth: number, itemHeight: number, itemDepth: number, allowedRotations: readonly RotationType[]): RotationType[]; export declare class MutableBin3D { readonly name: string; readonly width: number; readonly height: number; readonly depth: number; readonly maxWeight: number; items: PackedItem3D[]; constructor(bin: NormalizedBin); getVolume(): number; getPackedWeight(): number; weighItem(weight: number): boolean; putItem(sourceItem: Item3D, itemWidth: number, itemHeight: number, itemDepth: number, itemWeight: number, position: readonly [number, number, number], allowedRotations: readonly RotationType[]): PackedItem3D | null; } export {}; //# sourceMappingURL=bin.d.ts.map