import { EventEmitter, ComponentInterface } from '../../stencil-public-runtime'; import { ComboBoxValueType, ComboBoxSearchRequest, LuChangeEvent } from '../../types'; import { Color } from '../../interface'; import { DatasourceInterface } from '../../types/datasource-interface'; export declare class ComboBox implements ComponentInterface, DatasourceInterface { private comboBoxId; luInputElement: HTMLLuInputElement; el: HTMLElement; hasFocus: boolean; /** * active index */ activeIndex: number; /** * current search string */ currentSearch: string; /** * This is used to hold the currently displayed search results */ displayedSearchResults: ComboBoxValueType[]; /** * @internal - used by the form group element to declare it's presence */ hasFormGroup: boolean; /** * Adds a loading state to the mix so we can show animated skeleton text */ isLoading: boolean; /** * prevents bad validation event when resetting */ isResetting: boolean; /** * Current text of the input */ text: string; /** * used to prevent default blur actions */ shouldPreventDefaultBlurActions: boolean; /** * Provides a way for users to specify the labeling elements. Pass the id's, separated by a space, to this prop. */ ariaLabeledByAddition: string; /** * The color to use from your application's color palette. */ color?: Color; /** * If `true`, the user cannot interact with the textarea. */ disabled: boolean; /** * type defines how to validate the values as well as sets the type on the contained input * text | email */ type: 'text' | 'email'; /** * Allows for multiple entries or selections - THIS COMPONENT ONLY SUPPORTS THIS RIGHT NOW. WE NEED A DESIGN FOR SINGLE SELECTION. */ multipleSelections: boolean; /** * Search functionality enabled */ autoSuggestEnabled: boolean; /** * Keeps track of selected options */ value: ComboBoxValueType[]; /** * Gives a hook to reset data/loading state when we receive an error */ apiErrorCount: number; onApiErrorCountChange(newValue: any, oldValue: any): void; /** * This specifies the combo box is for email. * It helps the display of the selected box by allowing it to only show the before @ symbol part. */ forEmail: boolean; /** * Provided search results from requested input */ searchResults: ComboBoxValueType[]; onSearchResultsChange(newValue: any, oldValue: any): void; /** * Declares input as invalid */ invalid: boolean; /** * The name of the control, which is submitted with the form data. */ name: string; /** * @internal dynamically set so we can give the form group the native inputs id */ nativeInputsId: string; /** * Declares the purpose of the comboBox - needed if you plan on using the lu-combo-box-connector. The connector should have the same purpose. */ purpose: string; /** * Declares input as validated */ valid: boolean; /** * Notes that element is required */ required: boolean; /** * Emit request for new search results */ luNewSearchResultRequested: EventEmitter; /** * Emits when combo box is blured */ luBlur: EventEmitter; /** * Emits when combo box has focus */ luFocus: EventEmitter; /** * Emits when combo box is changed */ luChange: EventEmitter; connectedCallback(): void; componentDidLoad(): void; onLuUpdatedComboBoxSearchResults(ev: any): void; handleKeyDown(ev: any): void; private hasValue; deleteSelection: (ev: any) => void; onChange: (ev: any) => void; onBlur: (ev: any) => void; onFocus: (_ev: any) => void; onClearInputButtonPressed: (ev: any) => void; handleActivation(next?: boolean): void; handleSelection(index: any): void; emitValueChange(): void; handleClose(): void; clearData(): void; clearInput(): void; onInputStyleEmit: (ev: any) => void; /** * this gives us a handle to set focus on the element */ setFocus(): Promise; /** * this is used by the form validation/ form group to reset Value without initiating a validity check * @param update */ updateValue(update: ComboBoxValueType[]): Promise; render(): any; }