UNPKG

@ng-select/ng-select

Version:

Angular ng-select - All in One UI Select, Multiselect and Autocomplete

557 lines (544 loc) 27.8 kB
import * as i0 from '@angular/core'; import { OnInit, OnChanges, OnDestroy, TemplateRef, EventEmitter, ElementRef, Renderer2, NgZone, SimpleChanges, AfterViewChecked, InjectionToken, AfterViewInit, QueryList, ChangeDetectorRef } from '@angular/core'; import { ControlValueAccessor } from '@angular/forms'; import { Subject } from 'rxjs'; declare class NgSelectConfig { placeholder: string; fixedPlaceholder: boolean; notFoundText: string; typeToSearchText: string; addTagText: string; loadingText: string; clearAllText: string; disableVirtualScroll: boolean; openOnEnter: boolean; appendTo: string; bindValue: string; bindLabel: string; appearance: string; clearSearchOnAdd: boolean; deselectOnClick: boolean; tabFocusOnClear: boolean; static ɵfac: i0.ɵɵFactoryDeclaration<NgSelectConfig, never>; static ɵprov: i0.ɵɵInjectableDeclaration<NgSelectConfig>; } declare class ConsoleService { warn(message: string): void; static ɵfac: i0.ɵɵFactoryDeclaration<ConsoleService, never>; static ɵprov: i0.ɵɵInjectableDeclaration<ConsoleService>; } interface NgOption { [name: string]: any; index?: number; htmlId?: string; selected?: boolean; disabled?: boolean; marked?: boolean; label?: string; value?: string | any; parent?: NgOption; children?: NgOption[]; } type DropdownPosition = 'top' | 'right' | 'bottom' | 'left' | 'auto'; type SelectionModelFactory = () => SelectionModel; declare function DefaultSelectionModelFactory(): DefaultSelectionModel; interface SelectionModel { value: NgOption[]; select(item: NgOption, multiple: boolean, selectableGroupAsModel: boolean): any; unselect(item: NgOption, multiple: boolean): any; clear(keepDisabled: boolean): any; } declare class DefaultSelectionModel implements SelectionModel { private _selected; get value(): NgOption[]; select(item: NgOption, multiple: boolean, groupAsModel: boolean): void; unselect(item: NgOption, multiple: boolean): void; clear(keepDisabled: boolean): void; private _setChildrenSelectedState; private _removeChildren; private _removeParent; private _activeChildren; } declare class ItemsList { private _ngSelect; private _selectionModel; private _groups; constructor(_ngSelect: NgSelectComponent, _selectionModel: SelectionModel); private _items; get items(): NgOption[]; private _filteredItems; get filteredItems(): NgOption[]; private _markedIndex; get markedIndex(): number; get selectedItems(): NgOption[]; get markedItem(): NgOption; get noItemsToSelect(): boolean; get maxItemsSelected(): boolean; get lastSelectedItem(): NgOption; setItems(items: readonly any[]): void; select(item: NgOption): void; unselect(item: NgOption): void; findItem(value: any): NgOption; addItem(item: any): NgOption; clearSelected(keepDisabled?: boolean): void; findByLabel(term: string): NgOption; filter(term: string): void; resetFilteredItems(): void; unmarkItem(): void; markNextItem(): void; markPreviousItem(): void; markItem(item: NgOption): void; markSelectedOrDefault(markDefault?: boolean): void; resolveNested(option: any, key: string): any; mapItem(item: any, index: number): NgOption; mapSelectedItems(): void; private _showSelected; private _hideSelected; private _defaultSearchFn; private _getNextItemIndex; private _stepToItem; private _getLastMarkedIndex; private _groupBy; private _flatten; } interface ItemsRangeResult { scrollHeight: number; topPadding: number; start: number; end: number; } interface PanelDimensions { itemHeight: number; panelHeight: number; itemsPerViewport: number; } declare class NgDropdownPanelService { private _dimensions; get dimensions(): PanelDimensions; calculateItems(scrollPos: number, itemsLength: number, buffer: number): ItemsRangeResult; setDimensions(itemHeight: number, panelHeight: number): void; getScrollTo(itemTop: number, itemHeight: number, lastScroll: number): number; static ɵfac: i0.ɵɵFactoryDeclaration<NgDropdownPanelService, never>; static ɵprov: i0.ɵɵInjectableDeclaration<NgDropdownPanelService>; } declare class NgDropdownPanelComponent implements OnInit, OnChanges, OnDestroy { private _renderer; private _zone; private _panelService; private _document; items: NgOption[]; markedItem: NgOption; position: DropdownPosition; appendTo: string; bufferAmount: number; virtualScroll: boolean; headerTemplate: TemplateRef<any>; footerTemplate: TemplateRef<any>; filterValue: string; ariaLabelDropdown: i0.InputSignal<string>; update: EventEmitter<any[]>; scroll: EventEmitter<{ start: number; end: number; }>; scrollToEnd: EventEmitter<void>; outsideClick: EventEmitter<void>; contentElementRef: ElementRef; scrollElementRef: ElementRef; paddingElementRef: ElementRef; private readonly _destroy$; private readonly _dropdown; private _virtualPadding; private _scrollablePanel; private _contentPanel; private _select; private _parent; private _scrollToEndFired; private _updateScrollHeight; private _lastScrollPosition; constructor(_renderer: Renderer2, _zone: NgZone, _panelService: NgDropdownPanelService, _elementRef: ElementRef, _document: any); private _currentPosition; get currentPosition(): DropdownPosition; private _itemsLength; private get itemsLength(); private set itemsLength(value); private get _startOffset(); ngOnInit(): void; ngOnChanges(changes: SimpleChanges): void; ngOnDestroy(): void; scrollTo(option: NgOption, startFromOption?: boolean): void; scrollToTag(): void; adjustPosition(): void; private _handleDropdownPosition; private _updateDropdownClass; private _handleScroll; private _handleOutsideClick; private _checkToClose; private _onItemsChange; private _updateItems; private _updateItemsRange; private _onContentScrolled; private _updateVirtualHeight; private _setVirtualHeight; private _onItemsLengthChanged; private _renderItemsRange; private _measureDimensions; private _fireScrollToEnd; private _calculateCurrentPosition; private _appendDropdown; private _updateXPosition; private _updateYPosition; private _setupMousedownListener; static ɵfac: i0.ɵɵFactoryDeclaration<NgDropdownPanelComponent, [null, null, null, null, { optional: true; }]>; static ɵcmp: i0.ɵɵComponentDeclaration<NgDropdownPanelComponent, "ng-dropdown-panel", never, { "items": { "alias": "items"; "required": false; }; "markedItem": { "alias": "markedItem"; "required": false; }; "position": { "alias": "position"; "required": false; }; "appendTo": { "alias": "appendTo"; "required": false; }; "bufferAmount": { "alias": "bufferAmount"; "required": false; }; "virtualScroll": { "alias": "virtualScroll"; "required": false; }; "headerTemplate": { "alias": "headerTemplate"; "required": false; }; "footerTemplate": { "alias": "footerTemplate"; "required": false; }; "filterValue": { "alias": "filterValue"; "required": false; }; "ariaLabelDropdown": { "alias": "ariaLabelDropdown"; "required": false; "isSignal": true; }; }, { "update": "update"; "scroll": "scroll"; "scrollToEnd": "scrollToEnd"; "outsideClick": "outsideClick"; }, never, ["*"], true, never>; static ngAcceptInputType_virtualScroll: unknown; } declare class NgOptionComponent implements OnChanges, AfterViewChecked, OnDestroy { elementRef: ElementRef<HTMLElement>; value: any; disabled: boolean; readonly stateChange$: Subject<{ value: any; disabled: boolean; label?: string; }>; private _previousLabel; constructor(elementRef: ElementRef<HTMLElement>); get label(): string; ngOnChanges(changes: SimpleChanges): void; ngAfterViewChecked(): void; ngOnDestroy(): void; static ɵfac: i0.ɵɵFactoryDeclaration<NgOptionComponent, never>; static ɵcmp: i0.ɵɵComponentDeclaration<NgOptionComponent, "ng-option", never, { "value": { "alias": "value"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, {}, never, ["*"], true, never>; static ngAcceptInputType_disabled: unknown; } declare const SELECTION_MODEL_FACTORY: InjectionToken<SelectionModelFactory>; type AddTagFn = (term: string) => any | Promise<any>; type CompareWithFn = (a: any, b: any) => boolean; type GroupValueFn = (key: string | any, children: any[]) => string | any; declare class NgSelectComponent implements OnDestroy, OnChanges, OnInit, AfterViewInit, ControlValueAccessor { classes: string; private readonly autoFocus; config: NgSelectConfig; private readonly _cd; private readonly _console; ariaLabelDropdown: string; bindLabel: string; bindValue: string; ariaLabel: string | undefined; markFirst: boolean; placeholder: string; fixedPlaceholder: boolean; notFoundText: string; typeToSearchText: string; preventToggleOnRightClick: boolean; addTagText: string; loadingText: string; clearAllText: string; appearance: string; dropdownPosition: DropdownPosition; appendTo: string; loading: boolean; closeOnSelect: boolean; hideSelected: boolean; selectOnTab: boolean; openOnEnter: boolean; maxSelectedItems: number; groupBy: string | ((value: any) => any); groupValue: GroupValueFn; bufferAmount: number; virtualScroll: boolean; selectableGroup: boolean; selectableGroupAsModel: boolean; searchFn: any; trackByFn: any; clearOnBackspace: boolean; labelForId: any; inputAttrs: { [key: string]: string; }; tabIndex: number; tabFocusOnClearButton: i0.InputSignal<boolean>; readonly: boolean; searchWhileComposing: boolean; minTermLength: number; editableSearchTerm: boolean; ngClass: any; typeahead: Subject<string>; multiple: boolean; addTag: boolean | AddTagFn; searchable: boolean; clearable: boolean; isOpen?: boolean; blurEvent: EventEmitter<any>; focusEvent: EventEmitter<any>; changeEvent: EventEmitter<any>; openEvent: EventEmitter<any>; closeEvent: EventEmitter<any>; searchEvent: EventEmitter<{ term: string; items: any[]; }>; clearEvent: EventEmitter<any>; addEvent: EventEmitter<any>; removeEvent: EventEmitter<any>; scroll: EventEmitter<{ start: number; end: number; }>; scrollToEnd: EventEmitter<any>; optionTemplate: TemplateRef<any>; optgroupTemplate: TemplateRef<any>; labelTemplate: TemplateRef<any>; multiLabelTemplate: TemplateRef<any>; headerTemplate: TemplateRef<any>; footerTemplate: TemplateRef<any>; notFoundTemplate: TemplateRef<any>; placeholderTemplate: TemplateRef<any>; typeToSearchTemplate: TemplateRef<any>; loadingTextTemplate: TemplateRef<any>; tagTemplate: TemplateRef<any>; loadingSpinnerTemplate: TemplateRef<any>; clearButtonTemplate: TemplateRef<any>; dropdownPanel: NgDropdownPanelComponent; searchInput: ElementRef<HTMLInputElement>; clearButton: ElementRef<HTMLSpanElement>; ngOptions: QueryList<NgOptionComponent>; useDefaultClass: boolean; itemsList: ItemsList; viewPortItems: NgOption[]; searchTerm: string; dropdownId: string; element: HTMLElement; focused: boolean; escapeHTML: boolean; tabFocusOnClear: i0.WritableSignal<boolean>; private _itemsAreUsed; private readonly _defaultLabel; private _primitive; private _manualOpen; private _pressedKeys; private _isComposing; private readonly _destroy$; private readonly _keyPress$; constructor(classes: string, autoFocus: any, config: NgSelectConfig, newSelectionModel: SelectionModelFactory | undefined, _elementRef: ElementRef<HTMLElement>, _cd: ChangeDetectorRef, _console: ConsoleService); get filtered(): boolean; get single(): boolean; private _items; get items(): readonly any[] | null | undefined; set items(value: readonly any[] | null | undefined); private _disabled; get disabled(): boolean; private _compareWith; get compareWith(): CompareWithFn; set compareWith(fn: CompareWithFn); private _clearSearchOnAdd; get clearSearchOnAdd(): boolean; set clearSearchOnAdd(value: boolean); private _deselectOnClick; get deselectOnClick(): boolean; set deselectOnClick(value: boolean); get selectedItems(): NgOption[]; get selectedValues(): any[]; get hasValue(): boolean; get currentPanelPosition(): DropdownPosition; get showAddTag(): boolean; private get _editableSearchTerm(); private get _isTypeahead(); private get _validTerm(); keyDownFn: (_: KeyboardEvent) => boolean; clearItem: (item: any) => void; ngOnInit(): void; ngOnChanges(changes: SimpleChanges): void; ngAfterViewInit(): void; ngOnDestroy(): void; handleKeyDown($event: KeyboardEvent): void; handleKeyCode($event: KeyboardEvent): void; handleKeyCodeInput($event: KeyboardEvent): void; handleKeyCodeClear($event: KeyboardEvent): void; handleMousedown($event: MouseEvent): boolean; handleArrowClick(): void; handleClearClick(): void; clearModel(): void; writeValue(value: any | any[]): void; registerOnChange(fn: any): void; registerOnTouched(fn: any): void; setDisabledState(state: boolean): void; toggle(): void; open(): void; close(): void; toggleItem(item: NgOption): void; select(item: NgOption): void; focus(): void; blur(): void; unselect(item: NgOption): void; selectTag(): void; showClear(): boolean; focusOnClear(): void; trackByOption: (_: number, item: NgOption) => any; showNoItemsFound(): boolean; showTypeToSearch(): boolean; onCompositionStart(): void; onCompositionEnd(term: string): void; filter(term: string): void; onInputFocus($event: FocusEvent): void; onInputBlur($event: FocusEvent): void; onItemHover(item: NgOption): void; detectChanges(): void; private _onChange; private _onTouched; private _setSearchTermFromItems; private _setItems; private _setItemsFromNgOptions; private _isValidWriteValue; private _handleWriteValue; private _handleKeyPresses; private _setInputAttributes; private _setTabFocusOnClear; private _updateNgModel; private _clearSearch; private _changeSearch; private _scrollToMarked; private _scrollToTag; private _onSelectionChanged; private _handleTab; private _handleEnter; private _handleSpace; private _handleArrowDown; private _handleArrowUp; private _nextItemIsTag; private _handleBackspace; private _mergeGlobalConfig; /** * Gets virtual scroll value from input or from config * * @param config NgSelectConfig object * * @returns `true` if virtual scroll is enabled, `false` otherwise */ private getVirtualScroll; /** * Gets disableVirtualScroll value from input or from config * * @param config NgSelectConfig object * * @returns `true` if disableVirtualScroll is enabled, `false` otherwise */ private isVirtualScrollDisabled; static ɵfac: i0.ɵɵFactoryDeclaration<NgSelectComponent, [{ attribute: "class"; }, { attribute: "autofocus"; }, null, { optional: true; }, null, null, null]>; static ɵcmp: i0.ɵɵComponentDeclaration<NgSelectComponent, "ng-select", never, { "ariaLabelDropdown": { "alias": "ariaLabelDropdown"; "required": false; }; "bindLabel": { "alias": "bindLabel"; "required": false; }; "bindValue": { "alias": "bindValue"; "required": false; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; }; "markFirst": { "alias": "markFirst"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "fixedPlaceholder": { "alias": "fixedPlaceholder"; "required": false; }; "notFoundText": { "alias": "notFoundText"; "required": false; }; "typeToSearchText": { "alias": "typeToSearchText"; "required": false; }; "preventToggleOnRightClick": { "alias": "preventToggleOnRightClick"; "required": false; }; "addTagText": { "alias": "addTagText"; "required": false; }; "loadingText": { "alias": "loadingText"; "required": false; }; "clearAllText": { "alias": "clearAllText"; "required": false; }; "appearance": { "alias": "appearance"; "required": false; }; "dropdownPosition": { "alias": "dropdownPosition"; "required": false; }; "appendTo": { "alias": "appendTo"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; "closeOnSelect": { "alias": "closeOnSelect"; "required": false; }; "hideSelected": { "alias": "hideSelected"; "required": false; }; "selectOnTab": { "alias": "selectOnTab"; "required": false; }; "openOnEnter": { "alias": "openOnEnter"; "required": false; }; "maxSelectedItems": { "alias": "maxSelectedItems"; "required": false; }; "groupBy": { "alias": "groupBy"; "required": false; }; "groupValue": { "alias": "groupValue"; "required": false; }; "bufferAmount": { "alias": "bufferAmount"; "required": false; }; "virtualScroll": { "alias": "virtualScroll"; "required": false; }; "selectableGroup": { "alias": "selectableGroup"; "required": false; }; "selectableGroupAsModel": { "alias": "selectableGroupAsModel"; "required": false; }; "searchFn": { "alias": "searchFn"; "required": false; }; "trackByFn": { "alias": "trackByFn"; "required": false; }; "clearOnBackspace": { "alias": "clearOnBackspace"; "required": false; }; "labelForId": { "alias": "labelForId"; "required": false; }; "inputAttrs": { "alias": "inputAttrs"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; "tabFocusOnClearButton": { "alias": "tabFocusOnClearButton"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; }; "searchWhileComposing": { "alias": "searchWhileComposing"; "required": false; }; "minTermLength": { "alias": "minTermLength"; "required": false; }; "editableSearchTerm": { "alias": "editableSearchTerm"; "required": false; }; "ngClass": { "alias": "ngClass"; "required": false; }; "typeahead": { "alias": "typeahead"; "required": false; }; "multiple": { "alias": "multiple"; "required": false; }; "addTag": { "alias": "addTag"; "required": false; }; "searchable": { "alias": "searchable"; "required": false; }; "clearable": { "alias": "clearable"; "required": false; }; "isOpen": { "alias": "isOpen"; "required": false; }; "items": { "alias": "items"; "required": false; }; "compareWith": { "alias": "compareWith"; "required": false; }; "clearSearchOnAdd": { "alias": "clearSearchOnAdd"; "required": false; }; "deselectOnClick": { "alias": "deselectOnClick"; "required": false; }; "keyDownFn": { "alias": "keyDownFn"; "required": false; }; }, { "blurEvent": "blur"; "focusEvent": "focus"; "changeEvent": "change"; "openEvent": "open"; "closeEvent": "close"; "searchEvent": "search"; "clearEvent": "clear"; "addEvent": "add"; "removeEvent": "remove"; "scroll": "scroll"; "scrollToEnd": "scrollToEnd"; }, ["optionTemplate", "optgroupTemplate", "labelTemplate", "multiLabelTemplate", "headerTemplate", "footerTemplate", "notFoundTemplate", "placeholderTemplate", "typeToSearchTemplate", "loadingTextTemplate", "tagTemplate", "loadingSpinnerTemplate", "clearButtonTemplate", "ngOptions"], never, true, never>; static ngAcceptInputType_markFirst: unknown; static ngAcceptInputType_loading: unknown; static ngAcceptInputType_closeOnSelect: unknown; static ngAcceptInputType_hideSelected: unknown; static ngAcceptInputType_selectOnTab: unknown; static ngAcceptInputType_openOnEnter: unknown; static ngAcceptInputType_maxSelectedItems: unknown; static ngAcceptInputType_bufferAmount: unknown; static ngAcceptInputType_virtualScroll: unknown; static ngAcceptInputType_selectableGroup: unknown; static ngAcceptInputType_selectableGroupAsModel: unknown; static ngAcceptInputType_clearOnBackspace: unknown; static ngAcceptInputType_tabIndex: unknown; static ngAcceptInputType_readonly: unknown; static ngAcceptInputType_searchWhileComposing: unknown; static ngAcceptInputType_minTermLength: unknown; static ngAcceptInputType_editableSearchTerm: unknown; static ngAcceptInputType_multiple: unknown; static ngAcceptInputType_searchable: unknown; static ngAcceptInputType_clearable: unknown; } declare class NgItemLabelDirective implements OnChanges { private element; ngItemLabel: string; escape: boolean; constructor(element: ElementRef<HTMLElement>); ngOnChanges(changes: SimpleChanges): void; static ɵfac: i0.ɵɵFactoryDeclaration<NgItemLabelDirective, never>; static ɵdir: i0.ɵɵDirectiveDeclaration<NgItemLabelDirective, "[ngItemLabel]", never, { "ngItemLabel": { "alias": "ngItemLabel"; "required": false; }; "escape": { "alias": "escape"; "required": false; }; }, {}, never, never, true, never>; } declare class NgOptionTemplateDirective { template: TemplateRef<any>; constructor(template: TemplateRef<any>); static ɵfac: i0.ɵɵFactoryDeclaration<NgOptionTemplateDirective, never>; static ɵdir: i0.ɵɵDirectiveDeclaration<NgOptionTemplateDirective, "[ng-option-tmp]", never, {}, {}, never, never, true, never>; } declare class NgOptgroupTemplateDirective { template: TemplateRef<any>; constructor(template: TemplateRef<any>); static ɵfac: i0.ɵɵFactoryDeclaration<NgOptgroupTemplateDirective, never>; static ɵdir: i0.ɵɵDirectiveDeclaration<NgOptgroupTemplateDirective, "[ng-optgroup-tmp]", never, {}, {}, never, never, true, never>; } declare class NgLabelTemplateDirective { template: TemplateRef<any>; constructor(template: TemplateRef<any>); static ɵfac: i0.ɵɵFactoryDeclaration<NgLabelTemplateDirective, never>; static ɵdir: i0.ɵɵDirectiveDeclaration<NgLabelTemplateDirective, "[ng-label-tmp]", never, {}, {}, never, never, true, never>; } declare class NgMultiLabelTemplateDirective { template: TemplateRef<any>; constructor(template: TemplateRef<any>); static ɵfac: i0.ɵɵFactoryDeclaration<NgMultiLabelTemplateDirective, never>; static ɵdir: i0.ɵɵDirectiveDeclaration<NgMultiLabelTemplateDirective, "[ng-multi-label-tmp]", never, {}, {}, never, never, true, never>; } declare class NgHeaderTemplateDirective { template: TemplateRef<any>; constructor(template: TemplateRef<any>); static ɵfac: i0.ɵɵFactoryDeclaration<NgHeaderTemplateDirective, never>; static ɵdir: i0.ɵɵDirectiveDeclaration<NgHeaderTemplateDirective, "[ng-header-tmp]", never, {}, {}, never, never, true, never>; } declare class NgFooterTemplateDirective { template: TemplateRef<any>; constructor(template: TemplateRef<any>); static ɵfac: i0.ɵɵFactoryDeclaration<NgFooterTemplateDirective, never>; static ɵdir: i0.ɵɵDirectiveDeclaration<NgFooterTemplateDirective, "[ng-footer-tmp]", never, {}, {}, never, never, true, never>; } declare class NgNotFoundTemplateDirective { template: TemplateRef<any>; constructor(template: TemplateRef<any>); static ɵfac: i0.ɵɵFactoryDeclaration<NgNotFoundTemplateDirective, never>; static ɵdir: i0.ɵɵDirectiveDeclaration<NgNotFoundTemplateDirective, "[ng-notfound-tmp]", never, {}, {}, never, never, true, never>; } declare class NgPlaceholderTemplateDirective { template: TemplateRef<any>; constructor(template: TemplateRef<any>); static ɵfac: i0.ɵɵFactoryDeclaration<NgPlaceholderTemplateDirective, never>; static ɵdir: i0.ɵɵDirectiveDeclaration<NgPlaceholderTemplateDirective, "[ng-placeholder-tmp]", never, {}, {}, never, never, true, never>; } declare class NgTypeToSearchTemplateDirective { template: TemplateRef<any>; constructor(template: TemplateRef<any>); static ɵfac: i0.ɵɵFactoryDeclaration<NgTypeToSearchTemplateDirective, never>; static ɵdir: i0.ɵɵDirectiveDeclaration<NgTypeToSearchTemplateDirective, "[ng-typetosearch-tmp]", never, {}, {}, never, never, true, never>; } declare class NgLoadingTextTemplateDirective { template: TemplateRef<any>; constructor(template: TemplateRef<any>); static ɵfac: i0.ɵɵFactoryDeclaration<NgLoadingTextTemplateDirective, never>; static ɵdir: i0.ɵɵDirectiveDeclaration<NgLoadingTextTemplateDirective, "[ng-loadingtext-tmp]", never, {}, {}, never, never, true, never>; } declare class NgTagTemplateDirective { template: TemplateRef<any>; constructor(template: TemplateRef<any>); static ɵfac: i0.ɵɵFactoryDeclaration<NgTagTemplateDirective, never>; static ɵdir: i0.ɵɵDirectiveDeclaration<NgTagTemplateDirective, "[ng-tag-tmp]", never, {}, {}, never, never, true, never>; } declare class NgLoadingSpinnerTemplateDirective { template: TemplateRef<any>; constructor(template: TemplateRef<any>); static ɵfac: i0.ɵɵFactoryDeclaration<NgLoadingSpinnerTemplateDirective, never>; static ɵdir: i0.ɵɵDirectiveDeclaration<NgLoadingSpinnerTemplateDirective, "[ng-loadingspinner-tmp]", never, {}, {}, never, never, true, never>; } declare class NgClearButtonTemplateDirective { template: TemplateRef<any>; constructor(template: TemplateRef<any>); static ɵfac: i0.ɵɵFactoryDeclaration<NgClearButtonTemplateDirective, never>; static ɵdir: i0.ɵɵDirectiveDeclaration<NgClearButtonTemplateDirective, "[ng-clearbutton-tmp]", never, {}, {}, never, never, true, never>; } declare class NgSelectModule { static ɵfac: i0.ɵɵFactoryDeclaration<NgSelectModule, never>; static ɵmod: i0.ɵɵNgModuleDeclaration<NgSelectModule, never, [typeof NgDropdownPanelComponent, typeof NgOptionComponent, typeof NgSelectComponent, typeof NgOptgroupTemplateDirective, typeof NgOptionTemplateDirective, typeof NgLabelTemplateDirective, typeof NgMultiLabelTemplateDirective, typeof NgHeaderTemplateDirective, typeof NgFooterTemplateDirective, typeof NgPlaceholderTemplateDirective, typeof NgClearButtonTemplateDirective, typeof NgNotFoundTemplateDirective, typeof NgTypeToSearchTemplateDirective, typeof NgLoadingTextTemplateDirective, typeof NgTagTemplateDirective, typeof NgLoadingSpinnerTemplateDirective, typeof NgItemLabelDirective], [typeof NgSelectComponent, typeof NgOptionComponent, typeof NgOptgroupTemplateDirective, typeof NgOptionTemplateDirective, typeof NgLabelTemplateDirective, typeof NgMultiLabelTemplateDirective, typeof NgHeaderTemplateDirective, typeof NgFooterTemplateDirective, typeof NgPlaceholderTemplateDirective, typeof NgNotFoundTemplateDirective, typeof NgTypeToSearchTemplateDirective, typeof NgLoadingTextTemplateDirective, typeof NgTagTemplateDirective, typeof NgLoadingSpinnerTemplateDirective, typeof NgClearButtonTemplateDirective]>; static ɵinj: i0.ɵɵInjectorDeclaration<NgSelectModule>; } export { ConsoleService, DefaultSelectionModel, DefaultSelectionModelFactory, NgClearButtonTemplateDirective, NgDropdownPanelComponent, NgDropdownPanelService, NgFooterTemplateDirective, NgHeaderTemplateDirective, NgItemLabelDirective, NgLabelTemplateDirective, NgLoadingSpinnerTemplateDirective, NgLoadingTextTemplateDirective, NgMultiLabelTemplateDirective, NgNotFoundTemplateDirective, NgOptgroupTemplateDirective, NgOptionComponent, NgOptionTemplateDirective, NgPlaceholderTemplateDirective, NgSelectComponent, NgSelectConfig, NgSelectModule, NgTagTemplateDirective, NgTypeToSearchTemplateDirective, SELECTION_MODEL_FACTORY }; export type { DropdownPosition, NgOption, SelectionModel };