import { ProductSchema } from '@byondrnd/showroom-schemas';
import { TDefaultProducts, 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);
    setFavoriteSets(input: unknown): undefined;
    setFavoriteProducts(input: any): undefined;
    getUserDisplayedProducts(): TDefaultProducts;
    addUserDisplayedProduct(productSku: string, application: string): Promise<void>;
    displayProduct(productSku: string, application: string, fromFavorites?: boolean): 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 | undefined;
    removeProductFromFavorites(productSku: string, application: string): IProduct | undefined;
    getFavoriteSets(): IFavoriteScene[];
    addFavoriteScene(sceneId: string): Promise<IFavoriteScene>;
    removeFavoriteScene(setId: string): IFavoriteScene | undefined;
    getDisplayedProduct(_application: IApplication | string): IProduct | undefined;
    getDisplayedFormatedProduct(): Array<IProduct>;
    getApplicationLayerDisplay(application: string, renderOrder: number): Promise<LayerDisplay | undefined>;
    getDisplayedProducts(): Array<ProductSchema.IProduct>;
}
