import { TipserProductVariantModel, TipserProductModel } from './model';
import { ShoppingCart } from '../../api/cart-types';
export declare type ProductAvailability = 'LOADING_VARIANTS' | 'SELECT_VARIANTS' | 'AVAILABLE' | 'LAST_IN_STOCK' | 'ONLY_ONE_MORE' | 'ALL_AVAILABLE_IN_USER_CART' | 'CANT_SHIP_TO_YOUR_COUNTRY' | 'UNAVAILABLE' | 'NOT_IN_SALE' | 'OUT_OF_STOCK';
export declare enum OnlyXLeftMode {
    ONLY_1_LEFT = 0,
    ONLY_1_2_3_LEFT = 1
}
export declare const ProductAvailability: {
    LOADING_VARIANTS: ProductAvailability;
    SELECT_VARIANTS: ProductAvailability;
    AVAILABLE: ProductAvailability;
    ONLY_ONE_MORE: ProductAvailability;
    ONLY_TWO_MORE: ProductAvailability;
    ONLY_THREE_MORE: ProductAvailability;
    ALL_AVAILABLE_IN_USER_CART: ProductAvailability;
    CANT_SHIP_TO_YOUR_COUNTRY: ProductAvailability;
    UNAVAILABLE: ProductAvailability;
    OUT_OF_STOCK: ProductAvailability;
    isButtonClickable: (availability: ProductAvailability) => boolean;
    isOutOfStock: (availability: ProductAvailability) => boolean;
};
export declare const compareItemsInCartToVariantStockCount: (userCart: ShoppingCart, variant: TipserProductVariantModel, onlyXLeftMode: OnlyXLeftMode) => ProductAvailability;
export declare const compareItemsInCartToStockCount: (userCart: ShoppingCart, product: TipserProductModel, variant: TipserProductVariantModel) => ProductAvailability;
export declare const getAvailabilityWarningMessage: (availability: ProductAvailability) => any;
//# sourceMappingURL=product-availability-utils.d.ts.map