import { EventEmitter, OnInit, OnChanges, SimpleChanges, TemplateRef, ElementRef, Renderer2, AfterViewInit } from '@angular/core';
import { AbstractControl, UntypedFormControl } from '@angular/forms';
import { ListRange } from '@angular/cdk/collections';
import { CdkVirtualScrollViewport } from '@angular/cdk/scrolling';
import { Subject } from 'rxjs';
import * as i0 from "@angular/core";
export declare class MultiselectComponent implements OnInit, OnChanges, AfterViewInit {
    private renderer;
    label?: any;
    placeholder?: any;
    options?: any[];
    disabled?: boolean;
    displayKey?: any;
    displayFn?: any;
    valueKey?: any;
    frmControl?: UntypedFormControl;
    errorMsg?: any;
    showErrorMsg?: boolean;
    multiple?: boolean;
    selectedOptions: any;
    required?: boolean;
    readonly?: boolean;
    filter?: (searchTerm: any) => any;
    labelCount: number;
    appearance: any;
    debounce?: number;
    fontClass?: any;
    selectionChange: EventEmitter<any>;
    selectElem: any;
    cdkVirtualScrollViewport: CdkVirtualScrollViewport;
    optionTemplateRef: TemplateRef<any>;
    optionGroupTemplateRef: TemplateRef<any>;
    searchInputRef: ElementRef<any>;
    emptyLabel: any;
    private _subscription;
    selectedValue: any;
    filteredOptions: Array<any>;
    selectAllChecked: boolean;
    displayString: string;
    initialRange: ListRange;
    inputSubject: Subject<any>;
    constructor(renderer: Renderer2);
    hasRequiredField: (abstractControl: AbstractControl) => boolean;
    ngOnChanges(changes: SimpleChanges): void;
    toggleDropdown(): void;
    toggleSelectAll: (val: any) => void;
    filterItem(value: any, clear?: boolean): void;
    filterExternal(value: any): void;
    hideOption(option: any): boolean;
    getFilteredOptionsValues(): any[];
    onDisplayString(value: any): any;
    onSelectionChange(val: any): void;
    ngOnInit(): void;
    scrolledIndexChange($event: any): void;
    openedChange(opened: any): void;
    ngAfterViewInit(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<MultiselectComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<MultiselectComponent, "eagna-multiselect", never, { "label": "label"; "placeholder": "placeholder"; "options": "options"; "disabled": "disabled"; "displayKey": "displayKey"; "displayFn": "displayFn"; "valueKey": "valueKey"; "frmControl": "frmControl"; "errorMsg": "errorMsg"; "showErrorMsg": "showErrorMsg"; "multiple": "multiple"; "selectedOptions": "selectedOptions"; "required": "required"; "readonly": "readonly"; "filter": "filter"; "labelCount": "labelCount"; "appearance": "appearance"; "debounce": "debounce"; "fontClass": "fontClass"; "emptyLabel": "emptyLabel"; }, { "selectionChange": "selectionChange"; }, ["optionTemplateRef", "optionGroupTemplateRef"], never, false>;
}
