import { OnInit, EventEmitter, OnDestroy } from '@angular/core';
import { Observable, Subscription } from 'rxjs';
import { TranslateService } from '@ngx-translate/core';
import { Filters, FilterService, FilterField } from '@vendasta/uikit';
import { ProductAnalyticsService } from '@vendasta/product-analytics';
import { StoreItem, CategoryToItemListMap } from '../store-item';
import { ShoppingCartItemType } from '@vendasta/marketplace-packages';
import * as i0 from "@angular/core";
export declare const STOREFRONT_FILTER_NAME = "Store Filters";
export interface StorefrontCategory {
    id: string;
    name: string;
    packageIds: string[];
}
export interface InitialFilteredStoreItems {
    storeItemIds: string[];
    filterName: string;
}
export declare class StorefrontComponent implements OnInit, OnDestroy {
    private filterService;
    private snowplowService;
    private translateService;
    set categories(value: StorefrontCategory[]);
    set categoryIdToStoreItemListMap(value: CategoryToItemListMap);
    useCustomCase: boolean;
    showFilters: boolean;
    initialFilteredStoreItems: InitialFilteredStoreItems;
    showAllPrices: boolean;
    filtersDisabled: boolean;
    categorySelected: EventEmitter<StorefrontCategory>;
    productSelected: EventEmitter<{
        id: string;
        type: ShoppingCartItemType;
    }>;
    getDataForCategory: EventEmitter<StorefrontCategory>;
    private categories$$;
    private packagesMap$$;
    private searchTerm$$;
    private selectedCateoryId$$;
    private lmiCategoryFilter;
    filters$: Observable<Filters>;
    filteredItems$: Observable<StoreItem[]>;
    searchTermSubscription: Subscription;
    showLMIFilter$: Observable<boolean>;
    private filterByInitialStoreItemIds$$;
    constructor(filterService: FilterService, snowplowService: ProductAnalyticsService, translateService: TranslateService);
    ngOnInit(): void;
    ngOnDestroy(): void;
    onSearchTermChanged(term: string): void;
    onFieldValueChanged(filterField: FilterField<any>): void;
    storeItemClicked(item: StoreItem): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<StorefrontComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<StorefrontComponent, "app-storefront", never, { "categories": "categories"; "categoryIdToStoreItemListMap": "categoryIdToStoreItemListMap"; "useCustomCase": "useCustomCase"; "showFilters": "showFilters"; "initialFilteredStoreItems": "initialFilteredStoreItems"; "showAllPrices": "showAllPrices"; "filtersDisabled": "filtersDisabled"; }, { "categorySelected": "categorySelected"; "productSelected": "productSelected"; "getDataForCategory": "getDataForCategory"; }, never, never>;
}
