import { ElementRef, QueryList, AfterContentInit, TemplateRef, ViewContainerRef, EventEmitter, OnDestroy, Renderer2 } from "@angular/core"; import { DropdownService, SuiDropdownMenu } from "../../dropdown/index"; import { SearchService, LookupFn, FilterFn } from "../../search/index"; import { ITemplateRefContext, HandledEvent } from "../../../misc/util/index"; import { ISelectLocaleValues, RecursivePartial, SuiLocalizationService } from "../../../behaviors/localization/index"; import { SuiSelectOption } from "../components/select-option"; import { SuiSelectSearch } from "../directives/select-search"; export interface IOptionContext extends ITemplateRefContext { query?: string; } export declare abstract class SuiSelectBase implements AfterContentInit, OnDestroy { private _element; protected _localizationService: SuiLocalizationService; dropdownService: DropdownService; searchService: SearchService; protected _menu: SuiDropdownMenu; protected _renderedOptions: QueryList>; private _renderedSubscriptions; private _selectClasses; readonly isActive: boolean; readonly isVisible: boolean; isSearchable: boolean; isSearchExternal: boolean; private readonly _searchClass; readonly isSearching: boolean; private _internalSearch?; private _manualSearch?; readonly searchInput: SuiSelectSearch | undefined; private _tabIndex?; readonly tabIndex: number; isDisabled: boolean; options: T[]; optionsFilter: FilterFn | undefined; optionsLookup: LookupFn | undefined; readonly filteredOptions: T[]; readonly availableOptions: T[]; query: string | undefined; labelField: string | undefined; readonly labelGetter: (obj: T) => string; valueField: string; readonly valueGetter: (obj: T) => U; optionTemplate: TemplateRef>; private _optionFormatter?; readonly configuredFormatter: (option: T) => string; optionFormatter: ((option: T, query?: string) => string) | undefined; private _localeValues; localeOverrides: RecursivePartial; readonly localeValues: ISelectLocaleValues; icon: string; transition: string; transitionDuration: number; onTouched: EventEmitter; private _documentKeyDownListener; constructor(_element: ElementRef, renderer: Renderer2, _localizationService: SuiLocalizationService); ngAfterContentInit(): void; private onLocaleUpdate(); protected optionsUpdateHook(): void; protected queryUpdateHook(): void; protected updateQuery(query: string): void; protected resetQuery(delayed?: boolean): void; protected onAvailableOptionsRendered(): void; protected initialiseRenderedOption(option: SuiSelectOption): void; abstract selectOption(option: T): void; protected findOption(options: T[], value: U): T | undefined; onCaretClick(e: HandledEvent): void; onClick(e: HandledEvent): void; private onFocusIn(); private onFocusOut(e); onKeyPress(e: KeyboardEvent): void; onDocumentKeyDown(e: KeyboardEvent): void; onQueryInputKeydown(event: KeyboardEvent): void; protected focus(): void; protected drawTemplate(siblingRef: ViewContainerRef, value: T): void; ngOnDestroy(): void; }