import { EventEmitter, OnInit, ElementRef, OnChanges, AfterViewChecked, OnDestroy } from '@angular/core';
import { FormControl, FormGroup } from '@angular/forms';
import { Subject, Observable } from 'rxjs';
import * as i0 from "@angular/core";
declare type Item = {
    id?: string;
    name: string;
    type?: string;
    viewType?: string;
    hidden?: boolean;
    countryName?: boolean;
    global?: boolean;
    subcategories?: Array<Item>;
    value?: any;
    parent?: string;
    disableAdd?: boolean;
    expanded?: boolean;
    filterType?: string;
    isRemovable?: boolean;
};
export declare class PopupSelectComponentClass implements OnInit, OnChanges, AfterViewChecked, OnDestroy {
    filtersArr: Array<Item>;
    isDisabled: boolean;
    selectedSet: Set<Item>;
    itemType: string;
    popupType: string;
    limitSelection: number;
    inputInclude: boolean;
    sortField: string;
    isCountrySelect: string;
    countryData: any;
    isShowMoreAvailable: any;
    showFilter: any;
    emptyListMessage: string;
    rightColumnTitle: string;
    zeroSelectedItemsText: string;
    zeroLeftColumnItemsText: string;
    popupSelectOutput: EventEmitter<any>;
    updateData: EventEmitter<any>;
    isSearchDelay: boolean;
    offsetHandler: EventEmitter<number>;
    searchHandler: EventEmitter<string>;
    search: ElementRef<HTMLInputElement>;
    popUpContent: ElementRef<HTMLDivElement>;
    searchString: string;
    include: boolean;
    protected type: string;
    filteredItems: Array<Item>;
    countryCode: string;
    private _searchData$;
    offset: number;
    filterInput: Observable<any>;
    activeFiltersToShow: string;
    form: FormGroup<{
        country: FormControl<string>;
    }>;
    readonly search$: Subject<string>;
    private readonly destroy$;
    ngOnInit(): void;
    ngAfterViewChecked(): void;
    ngOnChanges(): void;
    addToSelected(item: Item, index: number, type?: string): void;
    expand(item: Item, index: number): void;
    clearSelected(): void;
    deleteFromSelected(item: Item, updateNeeded?: boolean): void;
    swapInclude(): void;
    onSearchInput(): void;
    filter(): void;
    filterData(): void;
    onCountryChanged(cCode: any, cName: any, showMore?: boolean, search?: boolean): void;
    showMore(): void;
    clearSearchInput(): void;
    filterChanged(filterTypes: any, cName: any): void;
    updateIsAddDisabled(item: Item, selectedArray: Item[]): void;
    isLeftColumnHidden(): boolean;
    ngOnDestroy(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<PopupSelectComponentClass, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<PopupSelectComponentClass, "epom-popup-select", never, { "filtersArr": "filtersArr"; "isDisabled": "isDisabled"; "selectedSet": "selectedSet"; "itemType": "itemType"; "popupType": "popupType"; "limitSelection": "limitSelection"; "inputInclude": "includeType"; "sortField": "sortField"; "isCountrySelect": "isCountrySelect"; "countryData": "countryData"; "isShowMoreAvailable": "isShowMoreAvailable"; "showFilter": "showFilter"; "emptyListMessage": "emptyListMessage"; "rightColumnTitle": "rightColumnTitle"; "zeroSelectedItemsText": "zeroSelectedItemsText"; "zeroLeftColumnItemsText": "zeroLeftColumnItemsText"; "isSearchDelay": "isSearchDelay"; }, { "popupSelectOutput": "popupSelectOutput"; "updateData": "updateData"; "offsetHandler": "offsetHandler"; "searchHandler": "searchHandler"; }, never, never, false>;
}
export {};
