import { DropdownBase, IDropdownItemOption } from "./dropdownBase"; /** * Creates a custom dropdown element with icon support * @param options - Configuration object for the dropdown * @returns Created dropdown element * @since 3.0.0 */ export declare function createDropdown(options: IDropdownOptions): HTMLDivElement; export type DropdownSize = "medium" | "small"; export interface IDropdownOptions { /** * Array of options or function that returns options * @since 3.0.0 */ options: Array | (() => Array); /** * Function to check if option is selected * @since 3.0.0 */ isSelected: (option: IDropdownItemOption) => boolean; /** * Selection handler * @since 3.0.0 */ handler: (value: string, option: IDropdownItemOption) => void; /** * Placeholder text when no option is selected * @since 3.0.0 */ placeholder?: string; /** * Title text above the dropdown * @since 3.0.0 */ title?: string | (() => string); /** * CSS class name for the dropdown * @since 3.0.0 */ className?: string; /** * Dropdown size variant * @since 3.0.0 */ size?: DropdownSize; resetHandler?: () => void; } export declare class DropdownWidget extends DropdownBase { private options; private optionsSource; private placeholder; private titleElement; private headerContent; private selectedOption; constructor(options: IDropdownOptions); protected createDropdownElement(): HTMLDivElement; protected createHeader(): HTMLDivElement; private createResetButton; private updateTitle; protected getOptions(): IDropdownItemOption[]; protected isOptionSelected(option: IDropdownItemOption): boolean; protected onOptionSelect(option: IDropdownItemOption, dropdownItem: HTMLLIElement): void; protected onBeforePopupShow(): void; protected onDropdownOpened(): void; protected onOpenedByKeyboard(): void; protected shouldUpdateAriaSelectedOnFocus(): boolean; protected updateHeaderContent(): void; protected updateSelect(): void; protected attachMethodsToElement(): void; setValue(value: string | null | undefined): void; getValue(): string | null; }