import { HTMLTemplateResult, PropertyValues } from "lit"; import { ObjectRecord } from "../../helpers/types/advancedTypes"; export type TypeaheadCallback = (text: string, context: Context) => Promise | Value[]; export type TypeaheadTextConverter = (model: any) => string; declare const TypeaheadComponent_base: import("../../helpers/types/mixins").Component & { tagName: string; }; /** * @description * An internal typeahead component * * @event oe-typeahead-selected */ export declare class TypeaheadComponent extends TypeaheadComponent_base { static readonly selectedEventName = "oe-typeahead-selected"; static styles: import("lit").CSSResult; textConverter: TypeaheadTextConverter; search: TypeaheadCallback; maxItems: number; recentlyUsedCount: number; private typeaheadResults; private focusedIndex; private readonly tagInput; private readonly recentlyUsed; updated(change: PropertyValues): void; focus(): void; reset(): void; /** * Fetches new search results from the "search" callback * If a searchTerm is not provided, a DOM query will be performed to get the * typeahead text input value. */ private handleSearchInvalidation; private handleInput; private handleKeyDown; private handleKeyUp; private handleFocusUp; private handleFocusDown; private handleFocusStart; private handleFocusEnd; private handleFocusSelection; private handleDecision; private addToRecentlyUsed; clearRecentlyUsed(): void; private resultTemplate; render(): HTMLTemplateResult; } declare global { interface HTMLElementTagNameMap { "oe-typeahead": TypeaheadComponent; } } export {};