import { ChangeDetectorRef, ElementRef, EventEmitter, OnDestroy, OnInit, QueryList } from "@angular/core"; import { ControlValueAccessor } from "@angular/forms"; import { NDropdownDirective, NDropdownMenuComponent } from "../dropdown/public_exports"; import { IControlWithErrors, NControlsValidationErrors, NInputErrorMessages, NOptionComponent } from "../public_components"; import { ErrorMessagesFactory } from "../../services/error-messages-factory.service"; import { BehaviorSubject } from "rxjs"; export declare class NSelectComponent implements ControlValueAccessor, OnInit, IControlWithErrors, OnDestroy { private el; private messageFactory; private cd; placeholder: string; isDisabled: boolean; trackBy: string; renderInHost: boolean; menu: NDropdownMenuComponent; selectButton: ElementRef; dropdown: NDropdownDirective; opened: EventEmitter; selectedOptionId$: BehaviorSubject; selectedOption$: BehaviorSubject; optionChanged$: BehaviorSubject; /** * Custom error message for input */ errorMessages: NInputErrorMessages; required: boolean; errorMessage: string; isSelectActive: boolean; switcher: boolean; private filtering$; private propagateChange; private touchedFn; private isDestroyed; private subscribes; constructor(el: ElementRef, messageFactory: ErrorMessagesFactory, cd: ChangeDetectorRef, wide: string | null, switcher: string | null, fitWidth: string | null); private _optionComps; get optionComps(): QueryList; set optionComps(queryList: QueryList); setErrors(errors: NControlsValidationErrors): void; onSelectButtonClick(e: any): boolean; ngOnInit(): void; optionIdentity(index: number, item: NOptionComponent): any; selectOption(option: NOptionComponent): void; onTouched(): void; ngOnDestroy(): void; writeValue(val: any): void; registerOnChange(fn: any): void; registerOnTouched(fn: any): void; setDisabledState(isDisabled: boolean): void; onKeyDown(e: KeyboardEvent): void; onMenuOpened(): void; onMenuClosed(): void; subscribeOnOptionChanges(): void; unsubscribeFromOptionChanges(): void; private processErrors; private selectNextOption; private selectLastOption; private selectPrevOption; private selectFirstOption; private selectFocused; private focusOrSelect; private focusToCurrent; }