import { EventEmitter, IterableDiffers, OnInit } from '@angular/core';
import { NgModel } from '@angular/forms';
import { DataGridColumnModel } from '../../../data-grid/models/data-grid-column.model';
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 InputDropdownGridComponent extends ElementBase<any> implements OnInit {
    config: InputFormsConfig;
    private iterableDiffers;
    private _lastModelInitialized;
    private _differData;
    private _data;
    showDropdown: boolean;
    comboTouched: boolean;
    modelInitialized: boolean;
    clickOutsideEnabled: boolean;
    search: string;
    selectedDisplayText: string;
    internalData: Array<any>;
    model: NgModel;
    placeholder: string;
    searchPlaceholder: string;
    displayTextProperty: string;
    valueProperty: string;
    columns: Array<DataGridColumnModel>;
    lazyLoadedData: boolean;
    itemsPerPage?: number;
    maxSize?: number;
    showInfos?: boolean;
    onChange: EventEmitter<any>;
    onSearch: EventEmitter<string>;
    get data(): Array<any>;
    set data(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;
    Select(row: any): void;
    OnSearch(): void;
    OnPaginate(): void;
    ClearSelection(e?: any): void;
    OnComboPressed(event: KeyboardEvent): void;
    private setSelectedItemByTheCurrentModelValue;
    private filterData;
    private clearSearch;
    private clearSearchResults;
    private setComboTouched;
    private renderPropertyValue;
    static ɵfac: i0.ɵɵFactoryDeclaration<InputDropdownGridComponent, [{ optional: true; }, { optional: true; }, null, null]>;
    static ɵcmp: i0.ɵɵComponentDeclaration<InputDropdownGridComponent, "input-dropdown-grid", never, { "placeholder": "placeholder"; "searchPlaceholder": "searchPlaceholder"; "displayTextProperty": "displayTextProperty"; "valueProperty": "valueProperty"; "columns": "columns"; "lazyLoadedData": "lazyLoadedData"; "itemsPerPage": "itemsPerPage"; "maxSize": "maxSize"; "showInfos": "showInfos"; "data": "data"; }, { "onChange": "onChange"; "onSearch": "onSearch"; }, never, never, false, never>;
}
