import * as React from "react"; import * as SelectPrimitive from "@radix-ui/react-select"; /** Props for `EnhancedSelect` wrapper component. */ interface EnhancedSelectProps { /** Error message text shown below the select; sets error styling when present. */ error?: string; /** Informational helper text shown below the select (when no error). */ info?: string; /** Optional label text displayed above the select. */ label?: string; /** Whether the field is required (adds required indicator to label). */ required?: boolean; /** HTML id used for labeling and accessibility. */ id?: string; /** Child nodes, typically `SelectTrigger` and `SelectContent`/items. */ children?: React.ReactNode; /** Controlled selected value. */ value?: string; /** Uncontrolled initial value. */ defaultValue?: string; /** Callback fired when the selected value changes. */ onValueChange?: (value: string) => void; /** Disable the select input and interactions. */ disabled?: boolean; /** Name attribute for form submissions. */ name?: string; /** Text direction for the select: left-to-right or right-to-left. */ dir?: "ltr" | "rtl"; /** Control the open state of the select popup. */ open?: boolean; /** Uncontrolled initial open state. */ defaultOpen?: boolean; /** Called when the open state changes. */ onOpenChange?: (open: boolean) => void; /** `data-testid` for the root wrapper (outermost `div`). */ testIdWrapper?: string; /** `data-testid` forwarded to the `EnhancedLabel` component. */ testIdLabel?: string; /** `data-testid` for the message container (holds error/info). */ testIdMessage?: string; /** `data-testid` for the error text element. */ testIdError?: string; /** `data-testid` for the info text element. */ testIdInfo?: string; } interface EnhancedSelectTriggerProps extends React.ComponentPropsWithoutRef { /** Error text used to style the trigger when present. */ error?: string; /** `data-testid` for the trigger (the interactive button). */ testIdTrigger?: string; } declare const EnhancedSelect: ({ error, info, label, required, id, children, testIdWrapper, testIdLabel, testIdMessage, testIdError, testIdInfo, ...selectProps }: EnhancedSelectProps) => React.JSX.Element; declare const EnhancedSelectTrigger: React.ForwardRefExoticComponent>; export { EnhancedSelect, EnhancedSelectTrigger };