import { OnInit, ElementRef, EventEmitter } from '@angular/core';
import { AbstractMultiDropdown } from './AbstractMultiDropdown';
import { ValidationResult } from '../../model/ValidationResult';
import { IHasData } from '../../IHasData';
import { DefaultSelectItemModel } from '../../model/DefaultSelectItemModel';
import { IDataComparator } from '../../IDataComparator';
import { NeedFocusService } from '../../../service/NeedFocusService.service';
import { PhloxAppInfoService } from '../../../service/PhloxAppInfoService.service';
import { ISearchHandler } from '../../ISearchHandler';
import { ISelectItemModel } from '../../model/ISelectItemModel';
export declare class SearchMultiDropdownList extends AbstractMultiDropdown implements OnInit, ISearchHandler<ISelectItemModel> {
    static readonly TYPE_NAME: string;
    protected dataParent: IHasData;
    protected ignoreParentData: boolean;
    protected data: any;
    protected ignoreParentDisabled: boolean;
    protected delegateHistory: boolean;
    protected onDisabled: Function;
    protected onEnabled: Function;
    protected loadingEnabled: boolean;
    protected i18nKey: string;
    protected bypass: boolean;
    protected options: any;
    protected disabled: boolean;
    protected field: string;
    protected name: string;
    protected typeOfData: string;
    protected readOnly: boolean;
    protected help: any;
    protected dataComparator: IDataComparator<any>;
    protected items: DefaultSelectItemModel[];
    protected align: string;
    protected dropdownWidth: string;
    protected dropdownHeight: string;
    protected searchHandler: ISearchHandler<any>;
    protected width: any;
    protected height: any;
    private _searchTextClick;
    private _searchBtnClick;
    _searchBtnLabel: string;
    private mTextBox;
    protected loadEvent: EventEmitter<any>;
    protected startValidateEvent: EventEmitter<any>;
    protected endValidateEvent: EventEmitter<any>;
    protected beforeFocusEvent: EventEmitter<any>;
    protected focusEvent: EventEmitter<any>;
    protected beforeLostFocusEvent: EventEmitter<any>;
    protected lostFocusEvent: EventEmitter<any>;
    protected beforeChangeEvent: EventEmitter<any>;
    protected changeEvent: EventEmitter<any>;
    protected beforeSelectEvent: EventEmitter<any>;
    protected selectEvent: EventEmitter<any>;
    protected beforeClickEvent: EventEmitter<any>;
    protected clickEvent: EventEmitter<any>;
    protected beforeShowEvent: EventEmitter<any>;
    protected showEvent: EventEmitter<any>;
    protected beforeHideEvent: EventEmitter<any>;
    protected hideEvent: EventEmitter<any>;
    constructor(needFocusService: NeedFocusService, elementRef: ElementRef, phloxAppInfoService: PhloxAppInfoService);
    ngOnInit(): void;
    _doSearch($event: any): void;
    _onKeyUp($event: any): void;
    _onSearchBtnClick($event: any): void;
    search(value: string): any[];
    getSearchHandler(): ISearchHandler<any>;
    setSearchData(searchHandler: ISearchHandler<any>): void;
    protected onValidationEnd(inputValue: any, results: ValidationResult[]): void;
    protected onDataChange(data: any, inputVal: any): void;
    protected onDataChangePrevented(oldValue: any, inputVal: any, data?: any): void;
    onCheckBeforeChange($event: Event): void;
    onLostFocusing($event: Event): void;
    protected doFocus($event: Event): void;
    protected doLostFocus($event: Event): void;
    protected doBlur($event: Event): void;
    _onBeforeSearchTextFocus($event: CustomEvent): void;
    _onBeforeSearchTextLostFocus($event: CustomEvent): void;
    getOptions(): any;
    getItems(): DefaultSelectItemModel[];
    getWidth(): string;
    setWidth(width: string): void;
    getHeight(): string;
    setHeight(height: string): void;
    isSearchTextClick(): boolean;
    setSearchTextClick(searchTextClick: boolean): void;
    isSearchBtnClick(): boolean;
    setSearchBtnClick(searchBtnClick: boolean): void;
    getSearchBtnLabel(): string;
    setSearchBtnLabel(searchBtnLabel: string): void;
    getBeforeClickEvent(): EventEmitter<any>;
    setBeforeClickEvent(event: EventEmitter<any>): void;
    getClickEvent(): EventEmitter<any>;
    setClickEvent(event: EventEmitter<any>): void;
    getBeforeShowEvent(): EventEmitter<any>;
    setBeforeShowEvent(event: EventEmitter<any>): void;
    getShowEvent(): EventEmitter<any>;
    setShowEvent(event: EventEmitter<any>): void;
    getBeforeHideEvent(): EventEmitter<any>;
    setBeforeHideEvent(event: EventEmitter<any>): void;
    getHideEvent(): EventEmitter<any>;
    setHideEvent(event: EventEmitter<any>): void;
    onMouseDownMenu($event: Event): void;
}
