import { OnInit, EventEmitter, OnDestroy } from '@angular/core';
import { Observable, Subscription } from 'rxjs';
import { Filters, FilterService, FilterField } from '@vendasta/uikit';
import { StoreItem, CategoryToItemListMap } from '../store-item';
import { HeimdallServiceTokenInterface } from '../heimdall-client-token';
import { TranslateService } from '@ngx-translate/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 userEvents;
    private filterService;
    private translateService;
    set categories(value: StorefrontCategory[]);
    set categoryIdToStoreItemListMap(value: CategoryToItemListMap);
    useCustomCase: boolean;
    showFilters: boolean;
    initialFilteredStoreItems: InitialFilteredStoreItems;
    showAllPrices: boolean;
    categorySelected: EventEmitter<StorefrontCategory>;
    packageIdSelected: EventEmitter<string>;
    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(userEvents: HeimdallServiceTokenInterface, filterService: FilterService, translateService: TranslateService);
    ngOnInit(): void;
    ngOnDestroy(): void;
    onSearchTermChanged(term: string): void;
    onFieldValueChanged(filterField: FilterField<any>): void;
    storeItemClicked(item: StoreItem): void;
}
