import { ComponentRef, ElementRef, EventEmitter, OnInit, Renderer, TemplateRef, ViewContainerRef } from '@angular/core'; import { NgControl } from '@angular/forms'; import { TypeaheadContainerComponent } from './typeahead-container.component'; import 'rxjs/add/observable/from'; import 'rxjs/add/operator/debounceTime'; import 'rxjs/add/operator/filter'; import 'rxjs/add/operator/map'; import 'rxjs/add/operator/mergeMap'; import 'rxjs/add/operator/toArray'; import { ComponentsHelper } from '../utils/components-helper.service'; import { TypeaheadMatch } from './typeahead-match.class'; export declare class TypeaheadDirective implements OnInit { typeaheadLoading: EventEmitter; typeaheadNoResults: EventEmitter; typeaheadOnSelect: EventEmitter; typeaheadOnBlur: EventEmitter; typeahead: any; typeaheadMinLength: number; typeaheadWaitMs: number; typeaheadOptionsLimit: number; typeaheadOptionField: string; typeaheadGroupField: string; typeaheadAsync: boolean; typeaheadLatinize: boolean; typeaheadSingleWords: boolean; typeaheadWordDelimiters: string; typeaheadPhraseDelimiters: string; typeaheadItemTemplate: TemplateRef; container: TypeaheadContainerComponent; isTypeaheadOptionsListActive: boolean; protected keyUpEventEmitter: EventEmitter; protected _matches: Array; protected placement: string; protected popup: ComponentRef; protected ngControl: NgControl; protected viewContainerRef: ViewContainerRef; protected element: ElementRef; protected renderer: Renderer; protected componentsHelper: ComponentsHelper; onChange(e: any): void; onFocus(): void; onBlur(): void; onKeydown(e: KeyboardEvent): void; constructor(control: NgControl, viewContainerRef: ViewContainerRef, element: ElementRef, renderer: Renderer, componentsHelper: ComponentsHelper); ngOnInit(): void; changeModel(match: TypeaheadMatch): void; readonly matches: Array; show(): void; hide(): void; protected asyncActions(): void; protected syncActions(): void; protected normalizeOption(option: any): any; protected normalizeQuery(value: string): any; protected testMatch(match: string, test: any): boolean; protected finalizeAsyncCall(matches: any[]): void; protected prepareMatches(options: any[]): void; protected hasMatches(): boolean; }