import { AfterContentInit, AfterViewInit, ElementRef, EventEmitter, OnDestroy, QueryList } from '@angular/core'; import { BehaviorSubject, Observable, Subject } from 'rxjs'; import { CommonForm } from '../form/public-api'; import { TooltipDirective } from '../tooltip/public-api'; import { ComponentSize } from '../types'; import { OptionComponent } from './option/option.component'; import { OptionFilterFn, TrackFn } from './select.types'; export declare abstract class BaseSelect extends CommonForm implements AfterContentInit, AfterViewInit, OnDestroy { size: ComponentSize; loading: boolean; placeholder: string; filterable: boolean; clearable: boolean; filterFn: (filterString: string, option: { label: string; value: any; }) => any; trackFn: (value: any) => any; allowCreate: boolean; defaultFirstOption: boolean; filterChange: EventEmitter; show: EventEmitter; hide: EventEmitter; protected selectRef: ElementRef; protected tooltipRef: TooltipDirective; protected optionListRef: ElementRef; protected inputingOption: OptionComponent; customOptions: QueryList; contentOptions: QueryList; /** * Utility field to make sure the users always see the value as type array */ abstract readonly values$: Observable; readonly allOptions: any[]; allOptions$: Observable; private _size; private _filterable; private _clearable; private _filterString; private _allowCreate; private filterString$$; private filterFn$$; private trackFn$$; protected focusedOption: OptionComponent; protected size$$: BehaviorSubject; protected destroy$$: Subject; size$: Observable; trackFn$: Observable; filterString$: Observable; filterFn$: Observable; hasVisableOption$: Observable; hasMatchedOption$: Observable; customCreatedValues$: Observable; containerWidth: string; readonly opened: boolean; readonly inputReadonly: boolean; filterString: string; ngAfterContentInit(): void; ngAfterViewInit(): void; ngOnDestroy(): void; openOption(): void; closeOption(): void; onShowOptions(): void; onHideOptions(): void; onInput(event: Event): void; onKeyDown(event: KeyboardEvent): void; onOptionClick(option: OptionComponent): void; protected autoFocusFirstOption(): void; protected focusOptionDir(dir: 'down' | 'up'): void; protected resetFocusedOption(focusedOption?: OptionComponent): void; protected scrollToOption(option: OptionComponent): void; protected selectFocusedOption(): void; protected escSelect(): void; private _filterFn; private _trackFn; abstract selectOption(option: OptionComponent): void; abstract clearValue(event: Event): void; }