import { AfterViewInit, ElementRef, TemplateRef } from '@angular/core'; import { Observable } from 'rxjs'; import { DropdownComponent } from '../../popup/index'; import { LegoBaseInputComponent } from '../lego-base-input.component'; import { TypeaheadOptionComponent } from './typeahead-option.component'; import { TypeaheadOptionsContainerComponent } from './typeahead-options-container.component'; export interface IQueryableDataSource { byId(id: string): Observable; byIds(id: string[]): Observable>; query(search: string): Observable; } export interface IQueryResult { total: number; count: number; result: Array; } export declare class TypeaheadComponent extends LegoBaseInputComponent> implements AfterViewInit { placeholder: string; selected: string | Array; data: string | Array; private _multiple; multiple: boolean; dataSource: Array | IQueryableDataSource; idString: string; valueString: string; minChars: number; delay: number; containerCssClasses: string; selectedPlaceholderText: string; searchResult: Array; input: ElementRef; dropdown: DropdownComponent; optionsContainer: TypeaheadOptionsContainerComponent; optionTemplate: TemplateRef; selectedOptionsTemplate: TemplateRef; readonly options: Array; readonly isSelected: boolean; selectedItem: any; selectedItems: Array; searchText: string; busy: boolean; private initialized; private progressDelay; private keyManager; private progressSubscription; private searchCallSubscription; private timerId; private originalPlaceholder; ngAfterViewInit(): void; onSearchIconClick(event: UIEvent): void; onInput(event: UIEvent): void; onKeyDown(event: KeyboardEvent): void; showDropdown(): void; hideDropdown(): void; selectOption(option: TypeaheadOptionComponent): void; removeSelectedOption(selectedItem: any): void; focus(): void; private scrollToOption; private setInternal; private search; private setPlaceholder; }