export interface SelectOption { value: string; label: string; disabled?: boolean; } export interface VanillaSelectOptions { placeholder?: string; disabled?: boolean; error?: boolean; onValueChange?: (value: string) => void; } export declare class VanillaSelect { private readonly container; private options; private readonly config; private selectedValue; private selectedLabel; private isOpen; private triggerElement; private contentElement; private handleDocumentClick; private handleWindowResize; private handleWindowScroll; constructor(container: HTMLElement | string, options: SelectOption[], config?: VanillaSelectOptions); private renderTrigger; private attachTriggerEvents; private toggleOpen; private open; private close; private createPortal; private removePortal; private updatePosition; private attachPortalEvents; private detachPortalEvents; private focusNextItem; private focusFirstItem; private focusLastItem; private selectValue; setValue(value: string): void; getValue(): string; setOptions(options: SelectOption[]): void; setDisabled(disabled: boolean): void; setError(error: boolean): void; destroy(): void; private escapeHtml; } export declare function createContactMethodSelect(container: HTMLElement | string, currentValue?: "PHONE" | "EMAIL" | "BOTH", onValueChange?: (value: "PHONE" | "EMAIL" | "BOTH") => void): VanillaSelect; export declare function upgradeNativeSelect(selectElement: HTMLSelectElement, config?: VanillaSelectOptions): VanillaSelect; export default VanillaSelect;