import { CatalogSummary } from "./catalog";
import { Offer } from "./offer";
export declare class Product {
    sellerSku: string;
    productId: string;
    condition: string;
    provider: string;
    tags?: Array<string>;
    nickname?: string;
    favourite: number;
    offers?: Offer[];
    cluster?: ProductCluster;
    isFavourite(): boolean;
    getBrand(): string;
    getTags(): Array<string>;
    getClusterTags(): Array<string>;
    getParentClusterTags(): Array<string>;
    getMergedTags(): Array<string>;
    getBin(): string;
    getTitle(): string;
    getDescription(): string;
    getImage(): string;
}
export declare class ProductCluster {
    bin: string;
    nickname?: string;
    brand?: string;
    parentId?: string;
    parent?: ProductCluster;
    children?: Array<ProductCluster>;
    isParent: boolean;
    tags?: Array<string>;
    favourite: number;
    summary?: CatalogSummary;
    products?: Product[];
    productMaps?: ProductMap[];
    equals: (product: ProductCluster) => boolean;
    isFavourite(): boolean;
    getBrand(): string;
    getTags(): Array<string>;
    getParentTags(): Array<string>;
    getMergedTags(): Array<string>;
    getTitle(): string;
    getDescription(): string;
    getImage(): string;
}
export declare class ProductMap {
    bin: string;
    productId: string;
    constructor(bin: string, productId: string);
}
