export interface PackingOutput { bins: T[][]; oversized: T[]; unpacked?: T[]; } export interface BoundOutput { bound: number; oversized: number; } export declare type InputObject = T[] | Iterable | { [index: string]: T; }; export declare type PackingFunction = (obj: InputObject, sizeOf: (item: T) => number, capacity: number) => PackingOutput; export declare type BoundFunction = (obj: InputObject, sizeOf: (item: T) => number, capacity: number) => BoundOutput; export { nextFit, firstFit, firstFitDecreasing, bestFitDecreasing } from './pack/fit-algos'; export { binCompletion } from './pack/bin-completion'; export { lowerBound1, lowerBound2 } from './pack/bounds'; export { nextFitVarCap } from './pack/fit-variable-capacity';