import * as i0 from '@angular/core'; import { TemplateRef, OnInit, OnDestroy, EventEmitter, EnvironmentProviders } from '@angular/core'; import { NgSelectComponent } from '@ng-select/ng-select'; import { ControlValueAccessor, FormControl } from '@angular/forms'; import { Observable, Subject } from 'rxjs'; declare class BbSelectOptionGroup { template: TemplateRef; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; } declare class BbSelect implements ControlValueAccessor, OnInit, OnDestroy { private readonly _elementRef; private readonly _window?; private readonly _document?; readonly labelId: string; readonly control: FormControl; optionTemplate: TemplateRef; optionGroupTemplate: TemplateRef; labelTemplate: TemplateRef; multiLabelTemplate: TemplateRef; notFoundTemplate: TemplateRef; placeholderTemplate: TemplateRef; selectComponent: NgSelectComponent; label: string | TemplateRef | null; hint: string | TemplateRef | null; data: Observable | null; required: boolean; readonly: boolean; grouped: boolean; hideErrors: boolean; loading: boolean; multiple: boolean; clearable: boolean; searchable: boolean; virtualScroll: boolean; closeOnSelect: boolean; selectableGroup: boolean; selectableGroupAsModel: boolean; hideArrow: boolean; selectOnTab: boolean; hideSelected: boolean; maxSelectedItems: number | null; disablePanelScrolling: boolean; bindLabel: string | null; bindValue: string | null; placeholder: string | null; typeahead: Subject | null; trackByFn: any | null; minTermLength: number; bufferAmount: number; groupBy: string | null; isOpen: boolean; clearSearchOnAdd: boolean; compareWith: (a: any, b: any) => boolean | null; addTag: boolean | ((term: string) => any | Promise); appendTo: string | null; set disabled(value: boolean); get disabled(): boolean; get value(): any | null; valueChange: EventEmitter; onBlur: EventEmitter; onChange: EventEmitter; set value(value: any | null); error: boolean; private _disabled; onTouchedCallback: () => void; onChangeCallback: (_: T | null) => void; private _subscription; ngOnInit(): void; ngOnDestroy(): void; writeValue(value: T | null): void; registerOnChange(method: (_: T | null) => void): void; registerOnTouched(method: () => void): void; setDisabledState(isDisabled: boolean): void; onErrorChange(error: { token: string; data?: any; } | null): void; private handleValueChanges; private handleScrolling; private getScrollableContainer; static ɵfac: i0.ɵɵFactoryDeclaration, never>; static ɵcmp: i0.ɵɵComponentDeclaration, "bb-select", never, { "label": { "alias": "label"; "required": false; }; "hint": { "alias": "hint"; "required": false; }; "data": { "alias": "data"; "required": false; }; "required": { "alias": "required"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "grouped": { "alias": "grouped"; "required": false; }; "hideErrors": { "alias": "hideErrors"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; "multiple": { "alias": "multiple"; "required": false; }; "clearable": { "alias": "clearable"; "required": false; }; "searchable": { "alias": "searchable"; "required": false; }; "virtualScroll": { "alias": "virtualScroll"; "required": false; }; "closeOnSelect": { "alias": "closeOnSelect"; "required": false; }; "selectableGroup": { "alias": "selectableGroup"; "required": false; }; "selectableGroupAsModel": { "alias": "selectableGroupAsModel"; "required": false; }; "hideArrow": { "alias": "hideArrow"; "required": false; }; "selectOnTab": { "alias": "selectOnTab"; "required": false; }; "hideSelected": { "alias": "hideSelected"; "required": false; }; "maxSelectedItems": { "alias": "maxSelectedItems"; "required": false; }; "disablePanelScrolling": { "alias": "disablePanelScrolling"; "required": false; }; "bindLabel": { "alias": "bindLabel"; "required": false; }; "bindValue": { "alias": "bindValue"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "typeahead": { "alias": "typeahead"; "required": false; }; "trackByFn": { "alias": "trackByFn"; "required": false; }; "minTermLength": { "alias": "minTermLength"; "required": false; }; "bufferAmount": { "alias": "bufferAmount"; "required": false; }; "groupBy": { "alias": "groupBy"; "required": false; }; "isOpen": { "alias": "isOpen"; "required": false; }; "clearSearchOnAdd": { "alias": "clearSearchOnAdd"; "required": false; }; "compareWith": { "alias": "compareWith"; "required": false; }; "addTag": { "alias": "addTag"; "required": false; }; "appendTo": { "alias": "appendTo"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "value": { "alias": "value"; "required": false; }; }, { "valueChange": "valueChange"; "onBlur": "onBlur"; "onChange": "onChange"; }, ["optionTemplate", "optionGroupTemplate", "labelTemplate", "multiLabelTemplate", "notFoundTemplate", "placeholderTemplate"], never, true, never>; static ngAcceptInputType_data: unknown; static ngAcceptInputType_required: unknown; static ngAcceptInputType_readonly: unknown; static ngAcceptInputType_grouped: unknown; static ngAcceptInputType_hideErrors: unknown; static ngAcceptInputType_loading: unknown; static ngAcceptInputType_multiple: unknown; static ngAcceptInputType_clearable: unknown; static ngAcceptInputType_searchable: unknown; static ngAcceptInputType_virtualScroll: unknown; static ngAcceptInputType_closeOnSelect: unknown; static ngAcceptInputType_selectableGroup: unknown; static ngAcceptInputType_selectableGroupAsModel: unknown; static ngAcceptInputType_hideArrow: unknown; static ngAcceptInputType_selectOnTab: unknown; static ngAcceptInputType_hideSelected: unknown; static ngAcceptInputType_maxSelectedItems: unknown; static ngAcceptInputType_disablePanelScrolling: unknown; static ngAcceptInputType_disabled: unknown; } declare class BbSelectOption { template: TemplateRef; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; } declare class BbSelectLabel { template: TemplateRef; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; } declare class BbSelectMultiLabel { template: TemplateRef; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; } declare class BbSelectNotFound { template: TemplateRef; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; } declare class BbSelectPlaceholder { template: TemplateRef; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; } declare class BbSelectEmails implements OnInit { private readonly _bbSelect; private readonly _ngControl?; private readonly _destroyRef; get active(): boolean; ngOnInit(): void; private addEmailOnBlur; private addEmailTagFn; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; } declare function provideSelectConfig(): EnvironmentProviders; declare class SelectModule { static ɵfac: i0.ɵɵFactoryDeclaration; static ɵmod: i0.ɵɵNgModuleDeclaration; static ɵinj: i0.ɵɵInjectorDeclaration; } export { BbSelect, BbSelectEmails, BbSelectLabel, BbSelectMultiLabel, BbSelectNotFound, BbSelectOption, BbSelectOptionGroup, BbSelectPlaceholder, SelectModule, provideSelectConfig };