import { AfterContentInit, ElementRef, EventEmitter, OnInit, QueryList, TemplateRef } from '@angular/core'; import { ControlValueAccessor, NgControl } from '@angular/forms'; import { DropdownMenuItem, DropdownMenuItemWrapper } from './DropdownMenuItem'; import { DropdownLoadEvent } from './DropdownLoadEvent'; import { TemplateDirective } from 'verben-ng-ui/src/lib/components/shared'; import { DropdownChangeEvent } from './DropdownChangeEvent'; import { Subject } from 'rxjs'; import * as i0 from "@angular/core"; export declare class DropDownComponent implements ControlValueAccessor, OnInit, AfterContentInit { private ngControl; private _options; private ignoreSet; set options(value: any[]); get options(): any[]; width: string; overlayWidth: number | null; showHorizontalLine: boolean; horizontalLineColor: string; optionLabel?: string; optionSubLabel?: string; optionValue?: string; placeholder?: string; invalidMessage?: string; errorPosition: string; loadMoreCaption: string; display: 'default' | 'chip'; showClear: boolean; lazyLoad: boolean; selectKey: string | null; styleClass: string; group: boolean; multiselect: boolean; filter: boolean; avoidDuplication: boolean; filterBy?: string; debounceTime: number; minChar: number; disabled: boolean; required: boolean; load?: (context: DropdownLoadEvent) => Promise; asyncLabel?: (context: any) => Promise; search?: (data: any, context: DropdownLoadEvent) => Promise; optionsChange: EventEmitter; onChange: EventEmitter; onClick: EventEmitter; onClear: EventEmitter; onItemChange: (value: any) => void; onTouched: () => void; isInvalid: boolean; firstSearch: boolean; dropdownContainer: ElementRef; dropdownExpansion: ElementRef; templates: QueryList; isFocused: boolean; isInputFocused: boolean; selectedItemTemplate: TemplateRef | null; itemTemplate: TemplateRef | null; groupTemplate: TemplateRef | null; isExpanded: boolean; loadTimes: DropdownLoadEvent; initialIncrement: boolean; selectedOption: any; selectedOptions: any[]; selectedOptionLabel: any; selectedOptionLabels: any[]; isLoading: boolean; optionsCopy: any[]; loadTimesCopy: DropdownLoadEvent; selectedContexts: any[]; searchHistory: string[]; searchTerm$: Subject; searchContext: string; allowSelectAll: boolean; selectedAll: boolean; constructor(ngControl: NgControl); ngOnInit(): void; ngAfterContentInit(): void; onFocus(): void; onBlur(): void; onSearchFocus(): void; onSearchBlur(): void; onInputFocus(): void; onInputBlur(): void; updateOptionsCopy(): void; onSearch(event: any): void; onDropdownClick(event: Event): void; toggleDropdown(): void; hasSibling(siblings: DropdownMenuItemWrapper[]): number | null; expandMenu(item: DropdownMenuItemWrapper, siblings: DropdownMenuItemWrapper[]): Promise; loadMoreMenuItems(item: DropdownMenuItemWrapper): Promise; loadMore(): Promise; convertToExpandable(items: DropdownMenuItem[]): DropdownMenuItemWrapper[]; onSelectAll(event: Event): void; clearSelection(event: Event): void; onSelect(value: any, event: Event): void; onMultiselectItemClosed(index: number, event: Event): void; checkMultiselectValue(value: any): number | null; writeValue(obj: any): Promise; getOptionFromValue(value: any): any; registerOnChange(fn: any): void; registerOnTouched(fn: any): void; setDisabledState?(isDisabled: boolean): void; getValue(item: any): any; getOptionLabel(item: any): any; private isDropdownMenuItemWrapperArray; private isDropdownMenuItemWrapper; onClickOutside(event: Event): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; }