import { LineItemDTO, LineItemDTOLineItemModeEnum, LineItemDTOStatusEnum, MoneyDTO, SelectedOptionDTO, ShippingDataDTOUnitOfMetricEnum, ShippingDataDTOUnitOfWeightEnum } from '@sentecacommerce/sdk';
import { BaseProductType } from '../../useLineItem';
import { SelectedOptionType } from '../../useProduct/utils';
import { AssetsMap } from '../../../utils/assetsToMap';
interface BasketLineItemProps extends BaseProductType {
    productId: string;
    lineItemId: string;
    quantityInBasket: number;
    unitPrice?: MoneyDTO;
    unitDiscountedPrice?: MoneyDTO;
    totalPrice?: MoneyDTO;
    totalDiscountedPrice?: MoneyDTO;
    lineItemMode: LineItemDTOLineItemModeEnum;
    status: LineItemDTOStatusEnum;
    mappedSelectedOptions?: SelectedOptionType[];
    selectedOptions?: SelectedOptionDTO[];
    isPriceChanged: boolean;
    brand?: {
        assets?: AssetsMap;
        name?: string;
    };
    unitOfWeight?: ShippingDataDTOUnitOfWeightEnum;
    height?: number;
    width?: number;
    unitOfMetric?: ShippingDataDTOUnitOfMetricEnum;
    thumbnail: string;
    getAttributeByKey: (key: string) => {
        _id: string;
        label: string;
        value: string;
        extra: any;
    };
}
export declare const useBasketLineItem: (props: {
    item: LineItemDTO;
    expiry?: number;
}) => BasketLineItemProps;
export {};
