import * as React from "react"; import { IconShapes } from "../../icon/components/Icon"; import { InputAppearance } from "../../shared/types/inputAppearance"; export interface SelectOption { disabled?: boolean; label: string; value: string; } export interface SelectInputProps extends React.HTMLProps { /** * Sets the current appearance of the select component. This defaults to InputAppearance.Standard, but supports `InputAppearance.Error` & `InputAppearance.Success` appearances as well. */ appearance?: InputAppearance; /** * Sets the contents for validation errors. This will be displayed below the input element. Errors are only visible when the `SelectInput` appearance is also set to `InputAppearance.Error`. */ errors?: React.ReactNode[]; /** * hintContent is text or a ReactNode that is displayed directly under the input with additional information about the expected input. */ hintContent?: React.ReactNode; /** * Optional icon to be displayed before the input value. */ iconStart?: IconShapes | React.ReactElement; /** * Unique identifier used for the form input component */ id?: string; /** * Sets the contents of the input label. This can be a `string` or any `ReactNode`. */ inputLabel?: React.ReactNode; /** * An array of objects that describes the options the select input contains */ options: SelectOption[]; /** * Defaults to `true`, but can be set to `false` to visibly hide the `TextInput`'s label. The `inputLabel` should still be set even when hidden for accessibility support. */ showInputLabel?: boolean; /** * Sets the text content for the tooltip that can be displayed above the input. */ tooltipContent?: React.ReactNode; } declare const _default: ({ appearance, errors, iconStart, id, options, showInputLabel, inputLabel, tooltipContent, hintContent, disabled, required, onFocus, onBlur, ...other }: SelectInputProps) => JSX.Element; export default _default;