import { Item, ItemConfig, OtherItemDetail } from './types'; import { SelectionStrategy } from './selection-strategies'; import { SortDirection, SortStrategy } from './sort-strategies'; import { SplitStrategy } from './split-strategies'; export declare type Bin = { binHeight: number; binWidth: number; binWeightLimit?: number; }; export declare type PackStrategyOptions = { bin: Bin; items: Item[]; itemConfig: ItemConfig[]; selectionStrategy: SelectionStrategy; splitStrategy: SplitStrategy; sortStrategy: SortStrategy; sortOrder: SortDirection; kerfSize: number; allowRotation: boolean; allowWeightLimitSplit: boolean; }; export declare type PackedItem = { otherDetail: OtherItemDetail; name: string; width: number; height: number; weight: number; count: number; x: number; y: number; bin: number; }; export declare function PackStrategy({ bin, items, itemConfig, selectionStrategy, splitStrategy, sortStrategy, sortOrder, kerfSize, allowRotation, allowWeightLimitSplit }: PackStrategyOptions): { sortStrategy: SortStrategy; sortOrder: SortDirection; packedItems: PackedItem[][]; splitStrategy: SplitStrategy; selectionStrategy: SelectionStrategy; };