import type { OptionAxis, ProductVariant, StockState, VariantSelection } from "./commerceTypes"; export declare const LOW_STOCK_THRESHOLD = 5; export declare function stockState(variant: Pick | undefined, threshold?: number): StockState; export declare function selectionComplete(axes: OptionAxis[], selection: VariantSelection): boolean; export declare function findVariant(axes: OptionAxis[], variants: ProductVariant[], selection: VariantSelection): ProductVariant | undefined; /** A value is offered when some sellable variant has it alongside the other axes' current picks. */ export declare function isOptionAvailable(variants: ProductVariant[], selection: VariantSelection, axisId: string, valueId: string): boolean; export declare function remainingStock(variants: ProductVariant[], selection: VariantSelection, axisId: string, valueId: string): number | undefined; export declare function priceRange(variants: ProductVariant[]): { min: number; max: number; } | null; export declare function firstAvailableSelection(variants: ProductVariant[]): VariantSelection;