import { AfterViewInit, ElementRef, EventEmitter, OnChanges, OnInit, Renderer2, SimpleChanges, TemplateRef } from '@angular/core'; import { Observable } from 'rxjs'; import { ControlValueAccessor } from '@angular/forms'; import { DataService } from '../services/data.service'; export declare class AutocompleteComponent implements OnInit, OnChanges, AfterViewInit, ControlValueAccessor { private renderer; dataService: DataService; searchInput: ElementRef; filteredListElement: ElementRef; inputKeyUp$: Observable; inputKeyDown$: Observable; query: string; filteredList: any[]; elementRef: any; selectedIdx: number; toHighlight: string; notFound: boolean; isFocused: boolean; isOpen: boolean; overlay: boolean; private manualOpen; private manualClose; batchTokenData: any; isLoading: boolean; isRecentSearchOpen: any; /** * Data of items list. * It can be array of strings or array of objects. */ data: any[]; searchKeyword: string; placeholder: string; heading: string; initialValue: any; showNotFound: boolean; take: number; displayData: string; clearInputOnSelect: boolean; notFoundText: string; recentSearch: Record[]; debounceTime: number; disabled: boolean; filterType: any[]; /** * The minimum number of characters the user must type before a search is performed. */ minQueryLength: number; /** * Focus first item in the list */ focusFirst: boolean; /** Event that is emitted whenever an item from the list is selected. */ selected: EventEmitter; /** Event that is emitted whenever an input is changed. */ inputChanged: EventEmitter; /** Event that is emitted whenever an input is focused. */ readonly inputFocused: EventEmitter; /** Event that is emitted whenever an input is cleared. */ readonly inputCleared: EventEmitter; /** Event that is emitted when the autocomplete panel is opened. */ readonly opened: EventEmitter; /** Event that is emitted when the autocomplete panel is closed. */ readonly closed: EventEmitter; handleError: EventEmitter; suggestionList: EventEmitter; itemTemplate: TemplateRef; notFoundTemplate: TemplateRef; /** * Propagates new value when model changes */ propagateChange: any; onTouched: any; onClick(event: MouseEvent, targetElement: HTMLElement): void; /** * Writes a new value from the form model into the view, * Updates model */ writeValue(value?: any): void; /** * Registers a handler that is called when something in the view has changed */ registerOnChange(fn: any): void; /** * Registers a handler specifically for when a control receives a touch event */ registerOnTouched(fn: () => void): void; /** * Event that is called when the value of an input element is changed */ onChange(event: any): void; constructor(elementRef: ElementRef, renderer: Renderer2, dataService: DataService, batchTokenData: string[]); /** * Event that is called when the control status changes to or from DISABLED */ setDisabledState(isDisabled: boolean): void; ngOnInit(): void; ngAfterViewInit(): void; /** * Set initial value * @param value intitial value */ setInitialValue(value: any): void; /** * Update search results */ ngOnChanges(changes: SimpleChanges): void; /** * Items change */ handleItemsChange(): void; /** * Filter data */ filterList(): Promise; /** * Select item in the list. * @param item item detail */ select(item: any): void; recentSearchClick(item: any): void; /** * Document click * @param e event */ handleClick(e: any): void; /** * Handle body overlay */ handleOverlay(): void; /** * Define panel state */ setPanelState(event: any): void; /** * Manual controls */ open(): void; close(): void; focus(): void; clear(): void; clearInputOnDemand(): void; /** * Remove search query */ remove(e: any): void; handleOpen(): void; handleClose(): void; handleFocus(e: any): void; /** * Initialize keyboard events */ initEventStream(): void; /** * Listen keyboard events */ listenEventStream(): void; /** * on keyup == when input changed * @param e event */ onKeyUp(e: any): void; /** * Keyboard arrow top and arrow bottom * @param e event */ onFocusItem(e: any): void; /** * Select item on enter click */ onHandleEnter(): void; /** * Esc click */ onEsc(): void; /** * Tab click */ onTab(): void; }