import { ChangeDetectorRef, Injector, OnDestroy, Signal, TemplateRef } from '@angular/core'; import { ValidatorFn } from '@angular/forms'; import { 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 { NgtTranslateService } from '../../../../services/http/ngt-translate.service'; import { NgtStylizableService } from '../../../../services/ngt-stylizable/ngt-stylizable.service'; import { NgtReactiveFormComponent } from '../ngt-reactive-form/ngt-reactive-form.component'; import { NgtSectionComponent } from '../../../ngt-section/ngt-section.component'; import { NgtModalComponent } from '../../../ngt-modal/ngt-modal.component'; import { NgtReactiveSelectValidationService } from './services/ngt-reactive-select-validation.service'; import { NgtReactiveSelectSearchService } from './services/ngt-reactive-select-search.service'; import { NgtReactiveSelectDropdownService } from './services/ngt-reactive-select-dropdown.service'; import { NgtReactiveSelectStateService } from './services/ngt-reactive-select-state.service'; import { NgtReactiveSelectItemsService } from './services/ngt-reactive-select-items.service'; import { NgtReactiveSelectTagManagerService } from './services/ngt-reactive-select-tag-manager.service'; import * as i0 from "@angular/core"; export declare enum NgtReactSelectDropdownPanelHeight { AUTO = "auto", XS = "xs", MD = "md", SM = "sm", LG = "lg", XL = "xl" } export declare class NgtReactiveSelectComponent extends NgtControlValueAccessor implements OnDestroy { ngtStylizableDirective: NgtStylizableDirective; ngtTranslateService: NgtTranslateService; private ngtReactForm; private ngtSection; private ngtModal; private validationService; private searchService; private itemsService; private dropdownService; private tagManagerService; private changeDetector; protected injector: Injector; stateService: NgtReactiveSelectStateService; ngSelectComponent: NgSelectComponent; ngtOptionTemplate: TemplateRef; ngtOptionSelectedTemplate: TemplateRef; ngtSelectHeaderTemplate: TemplateRef; /** Visual Inputs */ readonly label: import("@angular/core").InputSignal; readonly labelIcon: import("@angular/core").InputSignal; readonly labelIconColor: import("@angular/core").InputSignal; readonly helpTitle: import("@angular/core").InputSignal; readonly helpText: import("@angular/core").InputSignal; readonly helpTextColor: import("@angular/core").InputSignal; readonly shining: import("@angular/core").InputSignal; readonly loading: import("@angular/core").InputSignal; readonly loadingText: import("@angular/core").InputSignal; readonly notFoundText: import("@angular/core").InputSignal; readonly dropdownPosition: import("@angular/core").InputSignal; readonly typeToSearchText: import("@angular/core").InputSignal; readonly clearAllTooltip: import("@angular/core").InputSignal; readonly placeholder: import("@angular/core").InputSignal; readonly createText: import("@angular/core").InputSignal; readonly labelForId: import("@angular/core").InputSignal; readonly dropdownPanelMinHeight: import("@angular/core").InputSignal; readonly helperReverseYPosition: import("@angular/core").InputSignal; readonly helperAutoXReverse: import("@angular/core").InputSignal; /** Behavior Inputs */ readonly remoteResource: import("@angular/core").InputSignal; readonly items: import("@angular/core").InputSignal>; readonly bindLabel: import("@angular/core").InputSignal; readonly bindValue: import("@angular/core").InputSignal; readonly inputAttrs: import("@angular/core").InputSignal<{ [key: string]: string; }>; readonly groupBy: import("@angular/core").InputSignal; readonly tabIndex: import("@angular/core").InputSignal; readonly groupValue: import("@angular/core").InputSignal<(groupKey: string, cildren: any[]) => Object>; readonly trackByFn: import("@angular/core").InputSignal<(item: any) => any>; readonly isAllowedToRemoveFn: import("@angular/core").InputSignal<(a: any) => boolean>; readonly sortSelectedItemsFn: import("@angular/core").InputSignal<(a: any, b: any) => any>; readonly autoLoad: import("@angular/core").InputSignal; readonly allowCreate: import("@angular/core").InputSignal>; readonly allowOriginalItemsUnselect: import("@angular/core").InputSignal; readonly isDisabled: import("@angular/core").InputSignal; readonly isReadonly: import("@angular/core").InputSignal; readonly hideSelected: import("@angular/core").InputSignal; readonly closeOnSelect: import("@angular/core").InputSignal; readonly clearable: import("@angular/core").InputSignal; readonly multiple: import("@angular/core").InputSignal; readonly searchable: import("@angular/core").InputSignal; readonly clearSearchOnAdd: import("@angular/core").InputSignal; readonly virtualScroll: import("@angular/core").InputSignal; readonly guessCompareWith: import("@angular/core").InputSignal; readonly compareWith: import("@angular/core").InputSignal<(a: any, b: any) => boolean>; readonly autoSelectUniqueOption: import("@angular/core").InputSignal; readonly valueAsArray: import("@angular/core").InputSignal; /** Validation Inputs */ readonly maxSelectedItems: import("@angular/core").InputSignal; readonly customSyncValidators: import("@angular/core").InputSignal; readonly isRequired: import("@angular/core").InputSignal; /** Outputs */ readonly onLoadRemoteResource: import("@angular/core").OutputEmitterRef; readonly onSelectedItemRemove: import("@angular/core").OutputEmitterRef; readonly onClear: import("@angular/core").OutputEmitterRef; readonly onToggleDropdown: import("@angular/core").OutputEmitterRef; readonly onValueChange: import("@angular/core").OutputEmitterRef; /** Computed Signals */ readonly isShining: Signal; readonly isLoading: Signal; readonly isDisabledByParent: Signal; readonly isDisabledState: Signal; readonly isClearable: Signal; readonly shouldCloseOnSelect: Signal; readonly selectClasses: Signal; readonly typeaheadSubject: Signal>; /** Other Public Properties */ ngtStyle: NgtStylizableService; /** Private Properties */ private nativeValue; private subscriptions; constructor(ngtStylizableDirective: NgtStylizableDirective, ngtTranslateService: NgtTranslateService, ngtReactForm: NgtReactiveFormComponent, ngtSection: NgtSectionComponent, ngtModal: NgtModalComponent, validationService: NgtReactiveSelectValidationService, searchService: NgtReactiveSelectSearchService, itemsService: NgtReactiveSelectItemsService, dropdownService: NgtReactiveSelectDropdownService, tagManagerService: NgtReactiveSelectTagManagerService, changeDetector: ChangeDetectorRef, injector: Injector, stateService: NgtReactiveSelectStateService); ngAfterViewInit(): void; ngOnDestroy(): void; onOpen(): void; onClose(): void; onClearSelect(): void; onRemoveSelectedItem(removedItem: any): void; onScroll({ end }: { end: number; }): void; onNativeChange(value: any): void; change(value: any): void; loadRemoteData(filters: any): void; removeItem(event: Event, item: any): void; refresh(): void; reset(): void; itemSearchFn(): (term: string, item: any) => any; setFocus(): void; getFilterInputValue(): string; getCompareWith(): (a: any, b: any) => boolean; hasSelectedValue(): string; cantRemoveItem(itemValue: any): boolean; private initNgSelectItems; private setupValidators; private setupNgtStylizable; private registerEffects; private calculateDropdownPosition; private buildSelectClasses; private sortSelectedItems; private getElementTitle; private hasChangesBetweenValues; private hadPreviousSelection; private canLoadItems; private destroySubscriptions; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; }