import { OnChanges, OnInit, EventEmitter, ExistingProvider, ElementRef, Renderer2, AfterViewInit, SimpleChanges, ChangeDetectorRef } from '@angular/core'; import { ControlValueAccessor } from '@angular/forms'; import { SelectDropdownComponent } from './select-dropdown.component'; import { IOption } from './option-interface'; import { Option } from './option'; import { OptionList } from './option-list'; export declare const SELECT_VALUE_ACCESSOR: ExistingProvider; export declare class SelectComponent implements ControlValueAccessor, OnChanges, OnInit, AfterViewInit { el: ElementRef; renderer: Renderer2; private document; private cdRef; options: Array; customClass: string; allowClear: boolean; disabled: boolean; highlightColor: string; highlightTextColor: string; highlightFirst: boolean; multiple: boolean; noFilter: number; notFoundMsg: string; placeholder: string; filterPlaceholder: string; label: string; filterEnabled: boolean; filterAutocomplete: boolean; visibleOptions: number; optionHeight: number; tabindex: number; enableSelectAll: boolean; appendToBody: boolean; selectAllLabel: string; outline: boolean; required: boolean; private _required; compareWith: (o1: any, o2: any) => boolean; opened: EventEmitter; closed: EventEmitter; selected: EventEmitter; deselected: EventEmitter; noOptionsFound: EventEmitter; changed: EventEmitter<{}>; selectionSpan: ElementRef; dropdown: SelectDropdownComponent; filterInput: ElementRef; clearButton: ElementRef; singleContainer: ElementRef; multipleContainer: ElementRef; _value: Array; optionList: OptionList; optionsLength: number; visibleOptionsDefault: number; hasSelected: boolean; isBrowser: boolean; canOpenOnFocus: boolean; hasFocus: boolean; isOpen: boolean; isBelow: boolean; filterInputWidth: number; isDisabled: boolean; placeholderView: string; labelActive: boolean; labelRef: HTMLElement; prefixRef: HTMLElement; labelRefActive: boolean; dropdownAnimationDone: boolean; clearClicked: boolean; selectContainerClicked: boolean; filterHeight: number; dropdownHeight: number; dropdownMaxHeight: number; OUTLINE_DROPDOWN_BOTTOM_OFFSET: number; OUTLINE_DROPDOWN_TOP_OFFSET: number; width: number; top: number; left: number; documentClickFun: Function; itemsBefore: Array; readonly focused: boolean; private _focused; onChange: (_: any) => void; onTouched: () => void; private _compareWith; constructor(el: ElementRef, renderer: Renderer2, document: any, platformId: string, cdRef: ChangeDetectorRef); ngOnInit(): void; private _getLabelRef; private _getPrefixRef; updateFilterHeight(): void; updateDropdownHeight(): void; onDropdownAnimationDone(): void; onDropdownAnimationStart(): void; ngAfterViewInit(): void; ngOnChanges(changes: SimpleChanges): void; isChild(elemnt: any): boolean; onWindowResize(): void; onSelectContainerClick(event: any): false | undefined; onSelectContainerFocus(): void; onSelectContainerBlur(): void; onSelectContainerKeydown(event: any): void; onDropdownOptionClicked(option: Option): void; onDropdownClose(focus: any): void; onSingleFilterClick(): void; onSingleFilterInput(term: string): void; onSingleFilterKeydown(event: any): void; onMultipleFilterInput(event: any): void; onMultipleFilterKeydown(event: any): void; onClearSelectionClick(event: any): void; onDeselectOptionClick(option: Option): void; /** API. **/ open(): void; close(): void; value: any | any[]; private _setSelection; private _selectByValue; clear(): void; select(value: string): void; /** ControlValueAccessor interface methods. **/ writeValue(value: any): void; registerOnChange(fn: (_: any) => void): void; registerOnTouched(fn: () => void): void; setDisabledState(isDisabled: boolean): void; valueChanged(): void; updateState(): void; /** Initialization. **/ updateOptionsList(options: Array): void; updateLabelState(): void; updateLabelRefState(): void; /** Dropdown. **/ toggleDropdown(): void; openDropdown(): void; closeDropdown(focus?: boolean): void; /** Select. **/ selectOption(option: Option): void; deselectOption(option: Option): void; clearSelection(): void; toggleSelectOption(option: Option): void; selectHighlightedOption(): void; deselectLast(): void; onSelectAll(isSelected: boolean): void; /** Filter. **/ clearFilterInput(): void; setMultipleFilterInput(value: string): void; handleSelectContainerKeydown(event: any): void; handleMultipleFilterKeydown(event: any): void; handleSingleFilterKeydown(event: any): void; /** View. **/ focus(): void; blur(): void; updateWidth(): void; updatePosition(): void; private _updateAppendedPosition; private _appendDropdown; updateFilterWidth(): void; }