import { DoCheck, EventEmitter, IterableDiffers, OnInit } from '@angular/core';
import { NgModel } from '@angular/forms';
import { ElementBase } from '../../base/element-base';
import { AsyncValidatorArray, ValidatorArray } from '../../base/validate';
import { InputFormsConfig } from '../../input-forms-config';
import * as i0 from "@angular/core";
export declare class FilterMultiselectComponent extends ElementBase<any> implements OnInit, DoCheck {
    config: InputFormsConfig;
    private iterableDiffers;
    private _differModel;
    private _differOptions;
    private _options;
    showOptions: boolean;
    comboTouched: boolean;
    modelInitialized: boolean;
    search: string;
    placeholder: string;
    searchPlaceholder: string;
    displayTextProperty: string;
    valueProperty: string;
    emptyMessage: string;
    selectAllButtonLabel: string;
    clearSelectionButtonLabel: string;
    dropRight: boolean;
    onChange: EventEmitter<any>;
    model: NgModel;
    get options(): Array<any>;
    set options(value: Array<any>);
    identifier: string;
    constructor(validators: ValidatorArray, asyncValidators: AsyncValidatorArray, config: InputFormsConfig, iterableDiffers: IterableDiffers);
    ngOnInit(): void;
    ngDoCheck(): void;
    Init(): void;
    ToggleDropDown(event: MouseEvent, value?: boolean): void;
    ToggleItemSelected(item: any): void;
    ToggleAllItemsSelection(value: boolean, emitChanges: boolean): void;
    ItemSelectedCheckChanged(): void;
    RemoveItem(item: any, index: number, event: any): void;
    OnComboPressed(event: KeyboardEvent): void;
    private clearSearch;
    private updateModel;
    private setComboTouched;
    static ɵfac: i0.ɵɵFactoryDeclaration<FilterMultiselectComponent, [{ optional: true; }, { optional: true; }, null, null]>;
    static ɵcmp: i0.ɵɵComponentDeclaration<FilterMultiselectComponent, "filter-multiselect", never, { "placeholder": "placeholder"; "searchPlaceholder": "searchPlaceholder"; "displayTextProperty": "displayTextProperty"; "valueProperty": "valueProperty"; "emptyMessage": "emptyMessage"; "selectAllButtonLabel": "selectAllButtonLabel"; "clearSelectionButtonLabel": "clearSelectionButtonLabel"; "dropRight": "dropRight"; "options": "options"; }, { "onChange": "onChange"; }, never, never, false, never>;
}
