import { Component } from '../Component'; interface SelectStyles { color: string; borderRadius: string; fontSize: number; fontFamily: string; } interface SelectOption { value: string; text: string; } export interface SelectOptionGroup { label: string; options: SelectOption[]; } interface SelectOptions { error: boolean; errorMsg?: string; label?: string; name: string; options?: SelectOption[]; groups?: SelectOptionGroup[]; styles?: SelectStyles; placeholder?: string; value?: string; required?: boolean; disabled?: boolean; autocomplete?: string; /** * Whether the field owns the element its validation message is drawn from. * Connected fields (grouped address) have no room between them, so their * messages are rendered once below the whole group instead. */ renderMessage?: boolean; onChange?: (event: Event) => void; } export declare class Select extends Component { private static readonly PLACEHOLDER_COLOR; private selectElement; private helperText; private configuredColor; private readonly rendersMessage; constructor(options: SelectOptions); getValue(): string; setValue(value: string): this; setError(error: boolean, errorMsg?: string): this; addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): this; /** * Focus the select element */ focus(): void; /** * Update the options in the select element */ setOptions(options: Array<{ value: string; text: string; }>, placeholder?: string): this; } export {}; //# sourceMappingURL=Select.d.ts.map