import { ComponentPropsWithoutRef, ElementRef } from 'react'; import * as SelectPrimitive from '@radix-ui/react-select'; declare const Select: import('react').FC; declare const SelectGroup: import('react').ForwardRefExoticComponent>; declare const SelectValue: import('react').ForwardRefExoticComponent>; declare function SelectTrigger({ ref, className, children, ...props }: ComponentPropsWithoutRef & { ref?: React.Ref>; }): import("react/jsx-runtime").JSX.Element; declare namespace SelectTrigger { var displayName: string | undefined; } declare function SelectScrollUpButton({ ref, className, ...props }: ComponentPropsWithoutRef & { ref?: React.Ref>; }): import("react/jsx-runtime").JSX.Element; declare namespace SelectScrollUpButton { var displayName: string | undefined; } declare function SelectScrollDownButton({ ref, className, ...props }: ComponentPropsWithoutRef & { ref?: React.Ref>; }): import("react/jsx-runtime").JSX.Element; declare namespace SelectScrollDownButton { var displayName: string | undefined; } declare function SelectContent({ ref, className, children, position, ...props }: ComponentPropsWithoutRef & { ref?: React.Ref>; }): import("react/jsx-runtime").JSX.Element; declare namespace SelectContent { var displayName: string | undefined; } declare function SelectLabel({ ref, className, ...props }: ComponentPropsWithoutRef & { ref?: React.Ref>; }): import("react/jsx-runtime").JSX.Element; declare namespace SelectLabel { var displayName: string | undefined; } declare function SelectItem({ ref, className, children, ...props }: ComponentPropsWithoutRef & { ref?: React.Ref>; }): import("react/jsx-runtime").JSX.Element; declare namespace SelectItem { var displayName: string | undefined; } declare function SelectSeparator({ ref, className, ...props }: ComponentPropsWithoutRef & { ref?: React.Ref>; }): import("react/jsx-runtime").JSX.Element; declare namespace SelectSeparator { var displayName: string | undefined; } export interface NativeSelectOption { value: string; label: string; disabled?: boolean; } export interface NativeSelectProps { options: NativeSelectOption[]; value?: string; defaultValue?: string; onValueChange?: (value: string) => void; placeholder?: string; /** Heading for the native bottom sheet (defaults to the placeholder). */ title?: string; disabled?: boolean; /** * Use the bottom-sheet picker on native phones. Default true — set false to * always use the Radix popover. */ nativeSheet?: boolean; className?: string; 'aria-label'?: string; id?: string; name?: string; } /** * NativeSelect — a drop-in, options-driven select built on the shared `Select` * primitives, which switches to a `BottomSheet` picker inside installed native * apps on phone widths (spec §5.7: bottom sheets replace popovers on mobile; * `selection()` haptic on value change). * * The compound `Select*` primitives are untouched and remain the API for * custom/grouped content; use `NativeSelect` when the options are a flat list * and you want the platform-correct picker for free. * * DOM contract: `[data-native-select-trigger]` on the sheet trigger, * `[data-native-select-option]` on each 48px sheet row. */ export declare function NativeSelect({ options, value, defaultValue, onValueChange, placeholder, title, disabled, nativeSheet, className, id, name, 'aria-label': ariaLabel, }: NativeSelectProps): import("react/jsx-runtime").JSX.Element; export { Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, }; //# sourceMappingURL=select.d.ts.map