import { OnInit, ElementRef, EventEmitter, Type } from '@angular/core';
import { IHasData } from '../../../../../component/IHasData';
import { ValidationResult } from '../../../../../component/model/ValidationResult';
import { NeedFocusService } from '../../../../../service/NeedFocusService.service';
import { AbstractSelectOneItem } from '../../../../../component/dataview/input/AbstractSelectOneItem';
import { DefaultSelectItemModel } from '../../../../../component/model/DefaultSelectItemModel';
import { IDataComparator } from '../../../../../component/IDataComparator';
import { ISelectItemModel } from '../../../../../component/model/ISelectItemModel';
import { FormControl } from '@angular/forms';
export declare class MaterialComponentDropdownList extends AbstractSelectOneItem implements OnInit {
    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 description: string;
    protected label: string;
    protected align: string;
    protected width: string;
    protected height: string;
    protected dropdownWidth: string;
    protected dropdownHeight: string;
    protected disableRipple: boolean;
    protected resetLabel: string;
    protected selectedLabel: any;
    formControl: FormControl;
    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 componentType: Type<any>;
    protected componentModel: any;
    protected componentHandler: Function;
    protected beforeClickEvent: EventEmitter<any>;
    protected clickEvent: EventEmitter<any>;
    protected beforeShowEvent: EventEmitter<any>;
    protected showEvent: EventEmitter<any>;
    protected beforeHideEvent: EventEmitter<any>;
    protected hideEvent: EventEmitter<any>;
    protected handler: Function;
    private dropdownLabel;
    constructor(elementRef: ElementRef, needFocusService: NeedFocusService);
    ngOnInit(): void;
    ngOnChanges(changes: any): void;
    render(): void;
    onClick($event: Event): void;
    onFocusing($event: Event): void;
    onLostFocusing($event: Event): void;
    onSelectionChange($event: any, fireEvent?: boolean): void;
    protected setSelectedItems(selectedItems: ISelectItemModel[], $event?: Event, fireEvent?: boolean, fireChangeEvent?: boolean): void;
    onOpenedChange($event: any, fireEvent?: boolean): void;
    private emitBeforeShowEvent($event?);
    private emitShowEvent($event?);
    private emitBeforeHideEvent($event?);
    private emitHideEvent($event?);
    _displayHelp(): boolean;
    _getSelectedData(): any;
    hasDescription(): boolean;
    hasLabel(): boolean;
    getComponentModel(): any;
    setComponentModel(model: any): void;
    getComponentHandler(): Function;
    setComponentHandler(handler: Function): void;
    getComponentType(): Type<any>;
    setComponentType(type: Type<any>): void;
    getDescription(): string;
    setDescription(description: string): void;
    getLabel(): string;
    setLabel(label: string): void;
    getResetLabel(): string;
    setResetLabel(resetLabel: string): void;
    getResolveSelectedLabel(): string;
    getSelectedLabel(): any;
    setSelectedLabel(selectedLabel: any): any;
    getAlign(): string;
    setAlign(align: string): void;
    getWidth(): string;
    setWidth(width: string): void;
    getHeight(): string;
    setHeight(height: string): void;
    getDropdownWidth(): string;
    setDropdownWidth(dropdownWidth: string): void;
    getDropdownHeight(): string;
    setDropdownHeight(dropdownHeight: string): void;
    isDisableRipple(): boolean;
    setDisableRipple(disableRipple: boolean): void;
    isReadOnly(): boolean;
    setReadOnly(readOnly: boolean): void;
    protected doFocus($event: Event): void;
    protected doLostFocus($event: Event): void;
    protected onDataChangePrevented(oldValue: any, inputVal: any, data?: any): void;
    protected onValidationEnd(inputValue: any, results: ValidationResult[]): void;
    protected onDataChange(data: any, inputVal: any): void;
}
