import { ChangeDetectorRef, DoCheck, EventEmitter, Injector, OnChanges, OnDestroy, OnInit, SimpleChanges, TemplateRef } from '@angular/core'; import { ControlContainer } from '@angular/forms'; import { NgOption, NgSelectComponent } from '@ng-select/ng-select'; import { Observable, Subject } from 'rxjs'; import { NgtControlValueAccessor } from '../../../../base/ngt-control-value-accessor'; import { NgtStylizableDirective } from '../../../../directives/ngt-stylizable/ngt-stylizable.directive'; import { NgtHttpService } from '../../../../services/http/ngt-http.service'; import { NgtTranslateService } from '../../../../services/http/ngt-translate.service'; import { NgtStylizableService } from '../../../../services/ngt-stylizable/ngt-stylizable.service'; import { NgtFormComponent } from '../ngt-form/ngt-form.component'; import { NgtSectionComponent } from '../../../ngt-section/ngt-section.component'; import { NgtModalComponent } from '../../../ngt-modal/ngt-modal.component'; import * as i0 from "@angular/core"; export declare enum NgtSelectDropdownPanelHeight { AUTO = "auto", XS = "xs", MD = "md", SM = "sm", LG = "lg", XL = "xl" } export declare class NgtSelectComponent extends NgtControlValueAccessor implements OnChanges, OnDestroy, OnInit, DoCheck { ngtStylizableDirective: NgtStylizableDirective; formContainer: ControlContainer; ngtTranslateService: NgtTranslateService; private ngtHttp; private changeDetector; private ngtForm; private ngtSection; private ngtModal; protected injector: Injector; ngSelectComponent: NgSelectComponent; ngtOptionTemplate: TemplateRef; ngtOptionSelectedTemplate: TemplateRef; ngtSelectHeaderTemplate: TemplateRef; /** Visual */ label: string; labelIcon: string; labelIconColor: string; helpTitle: string; helpText: string; helpTextColor: string; shining: boolean; loading: boolean; loadingText: string; notFoundText: string; dropdownPosition: string; typeToSearchText: string; clearAllTooltip: string; placeholder: string; createText: string; labelForId: string; dropdownPanelMinHeight: NgtSelectDropdownPanelHeight; helperReverseYPosition: boolean; helperAutoXReverse: boolean; /** Behavior */ name: string; autoLoad: boolean; allowCreate: boolean | Promise | Function; allowOriginalItemsUnselect: boolean; isDisabled: boolean; isReadonly: boolean; remoteResource: any; hideSelected: boolean; bindLabel: string; bindValue: string; items: Array | Observable; inputAttrs: { [key: string]: string; }; closeOnSelect: boolean; clearable: boolean; groupBy: string | Function; maxSelectedItems: number; multiple: boolean; searchable: boolean; clearSearchOnAdd: boolean; virtualScroll: boolean; tabIndex: number; typeahead: Subject; guessCompareWith: boolean; autoSelectUniqueOption: boolean; groupValue: (groupKey: string, cildren: any[]) => Object; trackBy: (item: any) => any; sortSelectedItemsFn: (a: any, b: any) => any; isAllowedToRemoveFn: (a: any) => boolean; /** Validation */ isRequired: boolean; onLoadRemoteResource: EventEmitter; onSelectedItemRemove: EventEmitter; onClear: EventEmitter; onClose: EventEmitter; nativeName: string; ngtStyle: NgtStylizableService; ngSelectItems: any; nativeValue: any; componentReady: boolean; wasClicked: boolean; private ngSearchObserver; private originalPerPage; private subscriptions; private originalItems; private currentState; private searchTimeout; private hadFirstItemsLoad; constructor(ngtStylizableDirective: NgtStylizableDirective, formContainer: ControlContainer, ngtTranslateService: NgtTranslateService, ngtHttp: NgtHttpService, changeDetector: ChangeDetectorRef, ngtForm: NgtFormComponent, ngtSection: NgtSectionComponent, ngtModal: NgtModalComponent, injector: Injector); compareWith: (a: any, b: any) => boolean; ngOnInit(): void; ngAfterViewInit(): void; ngOnChanges(changes: SimpleChanges): void; ngDoCheck(): void; ngOnDestroy(): void; onOpen(): void; removeItem(event: Event, item: any): void; refresh(): void; reset(): void; setFocus(): void; onClearSelect(): void; onRemoveSelectedItem(item: NgOption): void; getFilterInputValue(): string; itemSearchFn: (term: string, item: any) => any; search(filters: any): void; onNativeChange(value: any): void; change(value: any): void; onScroll({ end }: { end: any; }): void; hasSelectedValue(): string; cantRemoveItem(itemValue: any): boolean; getSelectClass(): string; disabled(): boolean; private calculateDropdownPosition; private initNgSelectItems; private initComponentValidation; private sortSelectedItems; private getElementTitle; private hasChangesBetweenModels; private updateValidations; private isRequiredValidator; private replaceShowAddTag; private bindInnerInputUniqueId; private bindCompareWithByResponse; private hasTermInFilteredItems; private hasTermInSelectedItems; private hadPreviousSelection; private isColoquentResource; private canLoadItems; private canAutoSelectUniqueOption; private bindSubscriptions; private isDisabledByParent; private destroySubscriptions; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; }