export declare class Product {
    itemId: string;
    varientId: string;
    businessId: string;
    storeId: string[];
    name: string;
    slugifiedName: string;
    itemCategorisation: ItemCategorisation;
    itemInventory: ItemInventory;
    itemStatus: string;
    itemType: string;
    itemVariant: ItemVariant[];
    itemImages: ItemImage[];
    itemPacks: ItemPack2[];
    addOnToItem: AddOnToItem[];
    properties: any;
    unit: Unit;
    quantity: number;
    price: Price;
    prviewIdx: number;
    whislist: boolean;
    materials: any;
    makingChargePercentage: number;
    jewelleryPrice: number;
    baseWeight: number;
    totalReviewCount: number;
    averageRating: number;
    productId?: string;
    categoryId: string;
    descriptor: Descriptor;
    rating: number;
    reviewCount: number;
    recommended: boolean;
    returnable: boolean;
    availableOnCod: boolean;
    brief: string;
    jewelryPriceBreakup: any;
    configs: any;
    constructor(json?: {
        [key: string]: any;
    });
}
export interface ItemCategorisation {
    itemCategories: ItemCategory[];
    productTags: ProductTag[];
    itemCollection: ItemCollection[];
}
export interface ItemCategory {
    refId: string;
    refName: string;
    imgUrl: string;
    maxQuantity: number;
    price: number;
}
export interface ProductTag {
    tagId: string;
    businessId: string;
    storeId: string[];
    collectionId: string;
    subCategoryId: string;
    categoryId: string;
    itemId: string;
    tagName: string;
    active: boolean;
    otherDetails: any;
    createdDetails: CreatedDetails;
}
export interface CreatedDetails {
    createdById: string;
    createdByName: string;
    createdTimeStamp: string;
    updatedTimeStamp: string;
}
export interface ItemCollection {
    refId: string;
    refName: string;
    imgUrl: string;
    maxQuantity: number;
    price: number;
}
export interface ItemInventory {
    openingStock: number;
    sku: string;
    barcode: string;
    presentStockDate: string;
    lowStockAlert: boolean;
    lowStockQuantity: number;
}
export interface ItemVariant {
    variantId: string;
    itemId: string;
    quantity: number;
    wishlist: boolean;
    variantName: string;
    variantImages: ItemImage[];
    itemPacks: ItemPack[];
    properties: any;
    itemVariantPrice: ItemVariantPrice;
    itemInventory: ItemInventory2;
    itemStatus: string;
}
export interface ItemPack {
    itemPackId: string;
    packName: string;
    active: boolean;
    actualPrice: number;
    offeredPrice: number;
    packQuantity: number;
    maxOrderQuantity: number;
}
export interface ItemVariantPrice {
    currency: string;
    value: number;
    estimatedValue: number;
    computedValue: number;
    listedValue: number;
    offeredValue: number;
    minimumValue: number;
    maximumValue: number;
    purchasePrice: number;
    wholeSalePrice: number;
    maxWholeSaleLimit: number;
    margin: number;
    profit: number;
    discountedPrice: number;
    taxRef: TaxRef;
    taxAmount: number;
    sellingPrice: number;
}
export interface TaxRef {
    taxId: string;
    taxPercent: number;
}
export interface ItemInventory2 {
    openingStock: number;
    sku: string;
    barcode: string;
    presentStockDate: string;
    lowStockAlert: boolean;
    lowStockQuantity: number;
}
export interface ItemImage {
    imgUrl: string;
    blurhash: string;
    imgDesc: string;
}
export interface ItemPack2 {
    itemPackId: string;
    packName: string;
    active: boolean;
    actualPrice: number;
    offeredPrice: number;
    packQuantity: number;
    maxOrderQuantity: number;
}
export interface AddOnToItem {
    refId: string;
    refName: string;
    imgUrl: string;
    maxQuantity: number;
    price: number;
}
export interface Unit {
    id: string;
    key: string;
    value: string;
}
export interface Price {
    currency: string;
    value: number;
    estimatedValue: number;
    computedValue: number;
    listedValue: number;
    offeredValue: number;
    minimumValue: number;
    maximumValue: number;
    purchasePrice: number;
    wholeSalePrice: number;
    maxWholeSaleLimit: number;
    margin: number;
    profit: number;
    discountedPrice: number;
    taxRef: TaxRef2;
    taxAmount: number;
    sellingPrice: number;
}
export interface TaxRef2 {
    taxId: string;
    taxPercent: number;
}
export interface CreatedDetails2 {
    createdById: string;
    createdByName: string;
    createdTimeStamp: string;
    updatedTimeStamp: string;
}
export interface Descriptor {
    name: string;
    code: string;
    symbol: string;
    shortDesc: string;
    longDesc: string;
    itemImages: ItemImage2[];
}
export interface ItemImage2 {
    imgUrl: string;
    imgDesc: string;
}
export declare class syncItemToServerDBRequest {
    businessId: string;
    userId: string;
    cartType: 'CART' | 'WISHLISH' | 'TRIAL_CART';
    cartItems: any[];
    platform: string;
    constructor(userId: string, cartType: 'CART' | 'WISHLISH' | 'TRIAL_CART', cartItems: any[]);
}
export declare class checkItemAlreadyAdded {
    itemId: string;
    variantId: string;
    userId: string;
    businessId: string;
    cartType: 'CART' | 'WISHLISH' | 'TRIAL_CART';
    constructor(itemId: string, variantId: string, userId: string, cartType: 'CART' | 'WISHLISH' | 'TRIAL_CART');
}
