import { BaseService } from "./BaseService"; import { AutocompleteSuggestion, NormalizedSmartyAddressConfig } from "../interfaces"; import { UiAutocompleteSuggestionItem } from "./DropdownStateService"; export type { UiAutocompleteSuggestionItem } from "./DropdownStateService"; export declare class DropdownService extends BaseService { private instanceId; private config?; private theme; private searchInputSelector; private dropdownWrapperElement; private dropdownElement; private autocompleteSuggestionsElement; private customStylesElement; private announcementElement; private cleanupFunctions; private mutationObserver; private dynamicStylingHandler; constructor(instanceId: number); destroy(): void; init(config: NormalizedSmartyAddressConfig): void; setupDom(): Promise; private appendElementsToDocument; private storeElementReferences; private handleDocumentMouseUp; private configureDropdownInteractions; private setupSearchInput; handleSearchInputFocusOut(event: FocusEvent): void; handleSearchInputOnChange(event: Event): void; handleSelectDropdownItem(addressIndex: number): void; private handleSecondaryResults; processAutocompleteSuggestions(suggestions: AutocompleteSuggestion[], searchString: string): void; processSecondaryAutocompleteSuggestions(suggestions: AutocompleteSuggestion[], searchString: string): void; private displayAutocompleteSuggestions; private createAutocompleteSuggestionItems; handleApiError(): void; openDropdown(): void; closeDropdown(): void; getDropdownId(): string; getSearchInputElement(): HTMLInputElement | null; showDropdown(): void; hideDropdown(): void; announce(message: string): void; attachEventListeners(onInput: (e: Event) => void, onKeydown: (e: KeyboardEvent) => void, onFocusOut: (e: FocusEvent) => void): void; updateDropdownContents(items: UiAutocompleteSuggestionItem[]): void; setAriaExpanded(expanded: boolean): void; updateAriaActivedescendant(autocompleteSuggestionId: string | null): void; createAutocompleteSuggestionElement(autocompleteSuggestion: AutocompleteSuggestion, searchString?: string, autocompleteSuggestionId?: string): Record; createSecondaryAutocompleteSuggestionElement(autocompleteSuggestion: AutocompleteSuggestion, searchString?: string, autocompleteSuggestionId?: string): Record; showElement(element: HTMLElement): void; hideElement(element: HTMLElement): void; configureSearchInputForAutocomplete(searchInputElement: HTMLInputElement, dropdownId?: string): void; getAutocompleteSuggestionId(index: number): string; configureDynamicStyling(dynamicStylingHandler: () => void, searchInputElement: HTMLElement): void; private observeAncestorStyleChanges; updateThemeClass(newTheme: string[], previousTheme: string[] | undefined, dropdownWrapperElement: HTMLElement): void; private createShowAllElement; private expandAllSecondaries; private collapseSecondaries; private flipChevronUp; private flipChevronDown; private getSelectedChevron; private scrollSelectedPrimaryToTop; private buildAutocompleteDomElements; private buildSuggestionElement; }