export interface IRecipeLineItemProps {
    recipeLineItem: IRecipeLineItem;
    isRecipePage?: boolean;
    showProductModal: (sku: string) => void;
    disableTprPrice: boolean;
}
export interface IDispatchProps {
    getProduct: (RecipeLineItem: any) => void;
}
export interface IRecipeLineItemStyledProps {
    promoBadge: boolean;
}
export interface IRecipePromoBadgeStyledProps {
    recipePage?: boolean;
}
export interface IRecipeLineItem extends IRecommendationsLineItem {
    attributes: {} | null;
    available: boolean;
    brand: string;
    categories: [];
    defaultCategory: [];
    description: string;
    image: IProductImageSizes;
    isFavorite: boolean;
    isPastPurchases: boolean;
    name: string;
    pointsBasedPromotions: IPromotion[];
    price: string;
    priceLabel: string;
    pricePerUnit: string;
    productId: string;
    promotions: IPromotion[];
    quantity?: number;
    sellBy: string;
    shoppingRuleMessages: IMappedShoppingRuleMessage[];
    sku: string;
    unitOfMeasure: IUnitOfMeasure;
    unitOfPrice: IUnitOfPrice;
    unitOfSize: IUnitOfSize;
    wasPrice: string;
    weightIncrement: IWeightIncrement;
    recommendationName?: string;
}
export interface IRecommendationsLineItem {
    recommendationSourceId?: string;
    recommendationId?: string;
    recommendationName?: string;
    recommendationContainerId?: string;
}
export interface IMappedShoppingRuleMessage extends IShoppingRuleMessage {
    type: string;
    sku: string;
}
export interface IShoppingRuleMessage {
    header: string;
    detail: string;
    messageId: string;
}
export interface IRecommendationsLineItem {
    recommendationSourceId?: string;
    recommendationId?: string;
    recommendationName?: string;
    recommendationContainerId?: string;
}
export interface IPromotion {
    additionalInformation: string;
    description: string;
    endDate: string;
    id: string;
    imageUrl: string;
    limit: string;
    minimumQuantity: number;
    name: string;
    startDate: string;
    threshold: number;
}
export interface IWeightIncrement {
    abbreviation: string;
    type: string;
    label: string;
    size: number;
    maxSize: number;
    minSize: number;
    range: number[];
}
export interface IUnitOfPrice {
    abbreviation: string;
    type: string;
    label: string | null;
    size: number;
}
export interface IUnitOfMeasure {
    abbreviation: string;
    type: string;
    label: string | null;
    size: number;
}
export interface IUnitOfSize {
    abbreviation: string;
    type: string;
    label: string | null;
    size: number;
}
export interface IProductImageSizes {
    default: string;
    cell: string;
    details: string;
    zoom: string;
    template: string;
}
