import { BuyingOptionModel } from '@arrow/bom/core'; import { Pricing, PackageTypeRestriction } from '../ORM/types/custom/row.interface'; export enum IBuyingOptionsColumns { QUANTITY = 'quantity', PACKAGE = 'package', PRICE = 'price', MINIMUM_INCREMENT = 'minimum/increment', TARIFF = 'tariff', STOCK = 'stock', PIPELINE = 'pipeline' } export interface IBuyingOption { multiplier: number; singleBomQuantity: number; buyingOptions: BuyingOptionModel[]; partName: string; manufacturer: string; bomId: string | string[]; rowId: string; extended: boolean; pricing?: Pricing; stockInfo: IStockInformationBO; packageTypeRestrictions: PackageTypeRestriction; } export interface IStockInformationBO { priceSourceLoading: boolean; matchStatus: number; stock: number; packaging: string; shipIn: number; increment: number; minQuantity: number; totalPrice: number; } export interface IBuyingOptionSaveRequest { bomId: string; rowId: string; original: Array; multiplied?: Array; pageNum: number; perPage: number; filter: any; sorting: any } export interface IBuyingOptionInformation { sourcePartId: string; quantityRequested: number; validBuyingOption: boolean; reelOptions?: IArrowReelOptions; } export interface IArrowReelOptions { reelLength: number; reelCount: number; } export enum PackagingFilterOption { invalid = 0, cutStrip = 1, reel, other, arrowReel }