import { FormSubmitController } from '@shoelace-style/shoelace/dist/internal/form'; import { LitElement } from 'lit'; import type List from '../list/list'; import type Textfield from '../textfield/textfield'; import type { Placement } from '@floating-ui/dom'; import type { TextFieldType } from '@material/mwc-textfield'; import type { PropertyValueMap, TemplateResult } from 'lit'; interface HTMLElementWithValueAndActivated extends HTMLElement { value: string; activated: boolean; } export interface ItemObject extends Record { label: string; } declare type Item = ItemObject | string; declare type Items = ItemObject[] | string[]; export declare class AutocompleteBase extends LitElement { items: Items; value: number; inputValue: string; hideActionsOnResults: boolean; textfieldWidth: string; listWidth: string; dropdownPosition: Placement; maxHeight: string; highlightFirstItem: boolean; clearInputAfterSelection: boolean; minQueryLength: number; type: TextFieldType; label: string; placeholder: string; prefix: string; suffix: string; icon: string; iconTrailing: string; disabled: boolean; required: boolean; maxLength: number; outlined: boolean; validationMessage: string; size: number | null; name: string; inputEllipsis: boolean; defaultValue: number; displayedItems: Items; textfield: Textfield; list: List; listContainer: HTMLDivElement; displayedItemsElements: HTMLElementWithValueAndActivated[]; loading: boolean; activeIndex: number; showActionSlot: boolean; formSubmitController: FormSubmitController; constructor(); checkComposedPath(e: MouseEvent): void; protected firstUpdated(): Promise; protected willUpdate(_changedProperties: PropertyValueMap): void; disconnectedCallback(): void; setItems(items: Items): Promise; setSearchFunction(newFunction: (query: string, items: Item[]) => Promise): void; setRenderItem(newFunction: (item: Item, index: number, activated: boolean) => TemplateResult<1>): void; forceRequery(query?: string): Promise; showList(): void; hideList(): void; focus(): void; blur(): void; clear(): void; selectItem(index: number): Promise; activateFirstItem(): Promise; activatePreviousItem(): void; activateNextItem(): void; selectActivatedItem(): void; computeListPosition(): Promise; searchFunction(query: string, items: Item[]): Promise; renderItem(item: Item, index: number, activated: boolean): TemplateResult<1>; findItemIndexByLabel(label: string): number; deactivateAllItems(): void; scrollActiveItemIntoView(): void; getcurrentDisplayedItemIndex(itemElements: HTMLElementWithValueAndActivated[]): number; getListItems(): HTMLElementWithValueAndActivated[]; protected emitChanged(query: string): void; protected emitSelected(item: Item, index: number): void; protected findStringItemIndex(item: Item): number; protected findObjectItemIndex(_item: Item): number; protected getItemLabel(item: Item): string; protected searchList(query: string): Promise; protected handleFocus(): void; protected handleInput(e: InputEvent): void; protected handleKeydown(e: KeyboardEvent): void; protected handleListSelected(e: CustomEvent<{ index: number; }>): void; protected renderActionSlot(): TemplateResult<1>; protected renderResults(): TemplateResult<1> | TemplateResult<1>[]; protected render(): TemplateResult<1>; } export {};