import { ChangeDetectorRef, DoCheck, ElementRef, EventEmitter, IterableDiffers, OnChanges, OnInit, SimpleChanges } from "@angular/core"; import { FormControl } from "@angular/forms"; import { HttpClient, HttpParams } from "@angular/common/http"; import { SearchMapper } from "./autocomplete.module"; import { Observable, Subscription } from "rxjs"; import * as i0 from "@angular/core"; export type InitFn = (value: T) => { dataUrl?: string; label?: string; multi?: boolean; filteringKeys?: string; displayKey?: string; inputClass?: string; model?: any; type?: 'value' | 'object'; }; export declare class AutocompleteComponent implements OnInit, OnChanges, DoCheck { private differs; private changedDetector; private responseMapper; private baseSearchMapper; private httpClient; ul: ElementRef; input: ElementRef; multiInput: ElementRef; items: any[]; filteredItems: any[]; listItems: boolean; inputFormControl: FormControl; type: 'value' | 'object'; name: string; value: string; model: any; modelChange: EventEmitter; displayKey: string; valueKey: string; format: (project: any) => string; search: (project: any, searchValue: string) => boolean; dynamic: boolean; private _value; private _differ; currentIndex: number; label: string; dataUrl: string | undefined; manual: boolean; debounce: number; searchMapper: ((value: string, key: string) => HttpParams) | undefined; inputResponseMapper: ((source: Observable) => Observable) | undefined; multi: boolean; readonly: boolean; private changed; private changed$; searching: EventEmitter; idInput: string; private call; selectedItems: { [key: string]: any; }; multiSelectValue: string; private valueChanges?; filteringKeys?: string; inputClass: string; ulClass: string; liClass: string; sub: Subscription; divClass: any; preventEmpty: boolean; constructor(differs: IterableDiffers, changedDetector: ChangeDetectorRef, responseMapper: any, baseSearchMapper: SearchMapper, inputClass: string, init: InitFn, data: any, httpClient: HttpClient); ngOnInit(): void; ngOnChanges(changes: SimpleChanges): void; register(): void; setData(stopDetect?: boolean): void; private updateFormControl; ngDoCheck(): void; trackByFn(index: number, item: any): number; id(value: any): any; filter($event: string): void; selectItem(item: any): void; focusIn(): void; focusOut($event?: FocusEvent, force?: boolean): void; presetText(): void; mapSelectedItem(): void; enterPressed(): void; tabPressed(): void; goDown(): void; scrollTo(): void; isOverflown(element: HTMLElement): boolean; goUp(): void; handleChange($event: any): void; keyUp($event: KeyboardEvent): void; setItems(data: T[]): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; }