import { ProductSchema } from '@byondrnd/showroom-schemas';
import { Visualizer } from '../../../Visualizer';
import { LayerDisplay } from './LayerDisplay';
import { IFavorite, IFavoriteScene, IApplication, IProduct } from '../../../EventSystem/EventTypes';
export declare class ProductsManager {
    visualizer: Visualizer;
    displayedProductsMap: Map<string, LayerDisplay>;
    favoriteProducts: Array<IFavorite>;
    favoriteSets: Array<IFavoriteScene>;
    private userDisplayedProducts;
    cart: string[];
    constructor(visualizer: Visualizer);
    getUserDisplayedProducts(): Record<string, string>;
    addUserDisplayedProduct(productSku: string, application: string): Promise<void>;
    displayProduct(productSku: string, application: string): Promise<void>;
    unDisplayAll(): void;
    unDisplayProduct(product: ProductSchema.IProduct): void;
    addProductToCart(sku: string): void;
    removeProductFromCart(sku: string): void;
    getFavoriteProducts(): Array<IFavorite>;
    addProductToFavorites(productSku: string, application: string): IProduct;
    removeProductFromFavorites(productSku: string, application: string): IProduct;
    getFavoriteSets(): IFavoriteScene[];
    addFavoriteScene(sceneId: string): Promise<IFavoriteScene>;
    removeFavoriteScene(setId: string): IFavoriteScene;
    getDisplayedProduct(application: IApplication): IProduct;
    getDisplayedFormatedProduct(): Array<IProduct>;
    getApplicationLayerDisplay(application: string, renderOrder: number): Promise<LayerDisplay>;
    getDisplayedProducts(): Array<ProductSchema.IProduct>;
}
