import { ReactElement, Ref, SyntheticEvent, RefAttributes } from "react"; import { DOMProps, FocusEvents, HoverEvents, LabelableProps, Validation } from "@react-types/shared"; import { HoverProps } from "@react-aria/interactions"; import { ForwardedRefComponent } from "../../types/components"; import { LabelProps } from "../Label"; import { OptionProps } from "../Option"; export declare type SelectElementType = HTMLSelectElement; export interface SelectLabelComponentProps extends LabelProps, Validation { } export interface InputComponentProps extends Validation, HoverEvents, FocusEvents { isHovered?: boolean; isFocusVisible?: boolean; isDisabled?: boolean; className?: string; multiple?: false; disabled?: boolean; "aria-invalid"?: boolean; onChange?: (event: SyntheticEvent) => void; } export interface SelectProps extends HoverProps, LabelableProps, Validation, DOMProps, RefAttributes { name?: string; labelComponent?: ReactElement; inputComponent?: ReactElement; onChange?: (value: string) => void; value?: string; defaultValue?: string; className?: string; errorMessage?: string; children?: ReactElement[] | ReactElement; } export declare type SelectRef = Ref; declare const Select: ForwardedRefComponent; export { Select };