/*! * Copyright 2022 Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0 */ import { ExtendedHTMLElement } from '../../helper/dom'; import { MynahIcons, MynahIconsType } from '../icon'; interface SelectOption { value: string; label: string; description?: string; } export interface SelectProps { classNames?: string[]; attributes?: Record; handleIcon?: MynahIcons | MynahIconsType; border?: boolean; icon?: MynahIcons | MynahIconsType; label?: HTMLElement | ExtendedHTMLElement | string; description?: ExtendedHTMLElement; value?: string; optional?: boolean; autoWidth?: boolean; options?: SelectOption[]; placeholder?: string; onChange?: (value: string) => void; wrapperTestId?: string; optionTestId?: string; tooltip?: string; } export declare abstract class SelectAbstract { render: ExtendedHTMLElement; setValue: (value: string) => void; getValue: () => string; setEnabled: (enabled: boolean) => void; } export declare class SelectInternal { private readonly props; private readonly selectElement; private readonly autoWidthSizer; private readonly selectContainer; private tooltipOverlay; private tooltipTimeout; render: ExtendedHTMLElement; constructor(props: SelectProps); private readonly setupTooltip; private readonly getCurrentTooltip; setValue: (value: string) => void; getValue: () => string; setEnabled: (enabled: boolean) => void; private readonly showTooltip; private readonly hideTooltip; } export declare class Select extends SelectAbstract { render: ExtendedHTMLElement; constructor(props: SelectProps); setValue: (value: string) => void; getValue: () => string; setEnabled: (enabled: boolean) => void; } export {};