import { AfterContentInit, ChangeDetectorRef, DoCheck, ElementRef, EventEmitter, OnInit, QueryList, Renderer2 } from '@angular/core'; import { ControlValueAccessor, FormControl, FormGroupDirective, NgControl, NgForm } from '@angular/forms'; import { TypeaheadItemComponent } from './typeahead-item/typeahead-item.component'; import { HcFormControlComponent } from '../form-field/hc-form-control.component'; import { Subscription } from 'rxjs'; export declare class TypeaheadComponent extends HcFormControlComponent implements OnInit, AfterContentInit, ControlValueAccessor, DoCheck { private _elementRef; private renderer; private cd; private _document; _ngControl: NgControl; private DIRECTION; private IGNORE_DEBOUNCE; _searchTerm: FormControl; _resultPanelHidden: boolean; _value: string; private _form; private _wasClick; /** Number of characters required before the typehead will begin searching, default 1 */ minChars: number; /** Placeholder text for the input box of the typeahead, no default */ placeholder: string; /** The amount of time in milliseconds to delay between keystrokes */ /** before emitting the valueChange event for the input, default 200 */ debounceTime: number; /** Toggle to show and hide the searching spinner to provide the user with feedback */ /** (it does not automatically turn on and off, you need to manually control it), default false */ showSpinner: boolean; /** Whether the focus event should emit a valueChange event and show the results. */ /** If set to true, then it will not emit the event nor show results until the user modifies the value */ /** in the input or the input value is empty. */ /** This is necessary to enable a user to be able to tab through the typeahead without clearing its value. */ /** Default is true. */ silentFocus: boolean; /** Event emitted after each key stroke in the typeahead box (after minChars requirement has been met) */ valueChange: EventEmitter; /** Event emitted when an option is selected from the list of typeahead results */ optionSelected: EventEmitter; /** Event emitted when the user hits enter and there is not an option selected (or no results available yet) */ emptyOptionSelected: EventEmitter; /** Event emitted when the input box of the typeahead loses focus */ blur: EventEmitter; _options: QueryList; _inputRef: ElementRef; _resultPanel: ElementRef; _optionSubscriptions: Array; constructor(_elementRef: ElementRef, renderer: Renderer2, cd: ChangeDetectorRef, _parentForm: NgForm, _parentFormGroup: FormGroupDirective, _document: any, _ngControl: NgControl); ngOnInit(): void; ngAfterContentInit(): void; private listenForSelection; _stopPropogation($event: any): void; _handleTabKey($event: any): void; _filterData(value: string): void; _handleKeystrokes($event: any): void; private scrollTop; private getOptionScrollPosition; private showResultPanel; private hideResultPanel; private itemSelectedDefault; private changeHighlighted; private setHighlighted; private onChange; private onTouched; _markAsDirty(): void; _markAsTouched(): void; registerOnChange(fn: any): void; registerOnTouched(fn: any): void; writeValue(value: string): void; /** Get or set the value of the select component */ value: string; /** Enables or disables the component, default false */ isDisabled: boolean; /** Sets whether this is a required form element */ required: boolean; ngDoCheck(): void; private _updateErrorState; _blurHandler(event: any): void; _clickHandler(event: any): void; _focusHandler(event: any): void; _getHighlightedIndex(): number; setFocus(): void; }