import { EventEmitter, ElementRef, Injector, OnInit, TemplateRef } from '@angular/core'; import { Observable } from 'rxjs'; import { ControlValueAccessor, FormGroup, FormControl, NgForm, FormGroupDirective } from '@angular/forms'; import { NkSelectOptions } from './nkSelect.options'; import { NkRibbon } from './../ribbon'; import * as i0 from "@angular/core"; export declare class NkSelect implements ControlValueAccessor, OnInit { private _inj; private elementRef; private _formControlName; private _parentFormGroup; private _requiredAtribute; name: string; contentTemplate: TemplateRef; titleTemplate: TemplateRef; itemTemplate: TemplateRef; private _ribbon; get ribbon(): NkRibbon; set ribbon(value: NkRibbon); _appendTo: string; _boundingBoxContainer: string; _themeClassMenu: string; _dataSource: (value: any) => Observable; _primaryKey: string; _viewValueInitialize: any; _filterBy: string; _dataBindingMode: string; _controlMode: string; private _isCache; get nkSelectCache(): boolean; set nkSelectCache(value: boolean); _perfectScroll: boolean; _disabled: boolean; _formGroup: FormGroup; _listMode: string; _itemSize: number; _pageSize: number; _width: string; onSelectItem: EventEmitter; onStartLoadData: EventEmitter; onEndLoadData: EventEmitter; onOpen: EventEmitter; onBeforeOpen: EventEmitter; onClose: EventEmitter; onChange: EventEmitter; onSearchChange: EventEmitter; private _tabIndex; get tabIndex(): number; set tabIndex(value: number); get instance(): NkSelect; private _required; get required(): any; set required(value: any); private _multiple; get multiple(): any; set multiple(value: any); get disabled(): boolean; set disabled(value: boolean); get selectedItem(): any; private _items; get items(): Array; private _formControl; get formControl(): FormControl; private _isOpen; get isOpen(): boolean; private _searchParams; get searchParams(): any; private _options; get options(): NkSelectOptions; get _positionLeftLoading(): string; get _isFilter(): any; get filterBy(): any; _filter: any; get filterValue(): string; set filterValue(val: string); private _selectionModel; private _selectedIndex; private _onChange; private _onTouched; _menuDoneAnimating: boolean; _origin: HTMLElement; private _isInitialized; private _isSetDataByModel; private _request; private _control; private _ribbonTotalCount; private _ribbonAfter; transformOrigin: string; isPending: boolean; constructor(_inj: Injector, elementRef: ElementRef, tabIndex: string, _multipleAtribute: string, _formControlName: string, _parentForm: NgForm, _parentFormGroup: FormGroupDirective, _requiredAtribute: string); ngOnInit(): void; ngAfterViewInit(): void; toggle(event: any): void; open(): void; addItems(items: Array): void; clear(): void; close(): void; refreshData(): void; refreshDataAsync(): Observable; writeValue(value: any): void; selectItem(value: any, emmitEvent?: boolean): void; registerOnChange(fn: (value: any) => void): void; registerOnTouched(fn: () => {}): void; onMenuDone(): void; hasSelectedItem(): boolean; getSelectedValuesByDefault(): string; onBlur(): void; onFadeInDone(): void; initRibbon(ribbon: NkRibbon): void; private _propagateChanges; private _propagateChangesForMultiple; private _getItems; private _addItems; private _getData; private _addEmptyValueByRequiredAttribute; private _setSearchParam; private _canselRequest; private _isInitializedItems; private _writeValueByViewModel; private _writeValueByDataSource; private _setValueByDefault; private _setSelectionModel; private _setByOne; private _setByMultiple; private _setRequired; private _disabledValidators; private _coerceBooleanProperty; private _setItemViewElementAsActive; private _resetSelected; private _setScrollViewForselectedItem; private _setInputFilterInFocus; handleKeydown(event: KeyboardEvent): void; private _handleClosedKeydown; private _handleOpenKeydown; private _onArrowKeydown; private _setNextItemActive; private _setPreviousItemActive; private _setFirstItemActive; private _setLastItemActive; private isDefined; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; }