import { ElementRef, EventEmitter } from '@angular/core'; import { AfterViewInit, OnDestroy } from '@angular/core'; import { ControlValueAccessor, NgControl } from '@angular/forms'; import { LoggerService } from 'dotcms-js/dotcms-js'; export declare class Dropdown implements AfterViewInit, OnDestroy, ControlValueAccessor { private loggerService; name: string; placeholder: string; allowAdditions: boolean; minSelections: number; maxSelections: number; onDropDownChange: EventEmitter; touch: EventEmitter; enter: EventEmitter; private _modelValue; private _optionsAry; private _options; private elementRef; private _$dropdown; onChange: Function; onTouched: Function; constructor(elementRef: ElementRef, control: NgControl, loggerService: LoggerService); value: string; focus(): void; writeValue(value: any): void; registerOnChange(fn: any): void; registerOnTouched(fn: any): void; fireChange($event: any): void; fireTouch($event: any): void; hasOption(option: InputOption): boolean; addOption(option: InputOption): void; updateOption(option: InputOption): void; ngAfterViewInit(): void; ngOnDestroy(): void; refreshDisplayText(label: string): void; initDropdown(): void; /** * Is called after a dropdown value changes. Receives the name and value of selection and the active menu element * @param value * @param text * @param $choice */ onChangeSemantic(value: any, text: any, $choice: any): void; /** * Is called after a dropdown selection is added using a multiple select dropdown, only receives the added value * @param addedValue * @param addedText * @param $addedChoice */ onAdd(addedValue: any, addedText: any, $addedChoice: any): void; /** * Is called after a dropdown selection is removed using a multiple select dropdown, only receives the removed value * @param removedValue * @param removedText * @param $removedChoice */ onRemove(removedValue: any, removedText: any, $removedChoice: any): void; /** * Allows you to modify a label before it is added. Expects $label to be returned. * @param $label * @param value * @param text */ onLabelCreate($label: any, value: any, text: any): void; /** * Is called after a label is selected by a user * @param $selectedLabels */ onLabelSelect($selectedLabels: any): void; /** * Is called after a dropdown is searched with no matching values * @param searchValue */ onNoResults(searchValue: any): void; /** * Is called before a dropdown is shown. If false is returned, dropdown will not be shown. */ onShow(): void; /** * Is called before a dropdown is hidden. If false is returned, dropdown will not be hidden. */ onHide(): void; private applyValue(value); /** * Fixes an issue with up and down arrows triggering a search in the dropdown, which auto selects the first result * after a short buffering period. * @param $dropdown The JQuery dropdown element, after calling #.dropdown(config). * @private */ private _applyArrowNavFix($dropdown); } export declare class InputOption { value: string; label: string; icon: string; private _dropdown; private _isRegistered; constructor(dropdown: Dropdown); ngOnChanges(change: any): void; }