import type { PressableRef, TextRef, ViewRef } from '../../helpers/internal/types/index.js'; import * as SelectPrimitives from '../../primitives/select/index.js'; import * as SelectPrimitivesTypes from '../../primitives/select/select.types.js'; import { useSelectAnimation } from './select.animation.js'; import type { SelectContentProps, SelectItemDescriptionProps, SelectItemIndicatorProps, SelectItemLabelProps, SelectItemProps, SelectListLabelProps, SelectOverlayProps, SelectPortalProps, SelectRootProps, SelectTriggerIndicatorProps, SelectTriggerProps, SelectValueProps } from './select.types.js'; declare const useSelect: () => SelectPrimitives.IRootContext; declare const useSelectItem: typeof SelectPrimitives.useItemContext; declare function SelectRoot({ children, ref, isOpen, isDefaultOpen, onOpenChange, animation, ...props }: SelectRootProps & { ref?: React.Ref; }): import("react").JSX.Element; declare namespace SelectRoot { var displayName: "HeroUINative.Select.Root"; } /** * Compound Select component with sub-components * * @component Select - Main container that manages open/close state, positioning, * value selection and provides context to child components. Handles placement, alignment, and collision detection. * * @component Select.Trigger - Clickable element that toggles the select visibility. * Wraps any child element with press handlers. * * @component Select.TriggerBackground - Absolute-fill background container * behind the default variant's trigger surface. With no children, the active * library theme decides the content (glass theme renders a blur layer with a * surface-matched fallback). Accepts children to host custom content such as * gradients with the container's positioning and clipping applied. Replaceable * via the `background` prop on Select.Trigger. * * @component Select.TriggerIndicator - Optional visual indicator showing open/close state. * Defaults to an animated chevron icon that rotates based on select state. * Supports custom animation configuration. * * @component Select.Value - Displays the selected value or placeholder text. * Automatically updates when selection changes. * * @component Select.Portal - Renders select content in a portal layer above other content. * Ensures proper stacking and positioning. * * @component Select.Overlay - Optional background overlay. Can be transparent or * semi-transparent to capture outside clicks. * * @component Select.Content - Container for select content with three presentation modes: * popover (default floating with positioning and collision detection), bottom sheet modal, or dialog modal. * Supports custom animations. * * @component Select.ContentBackground - Absolute-fill background container behind * the select content (popover and dialog presentations). With no children, the * active library theme decides the content (glass theme renders a blur layer). * Accepts children to host custom content such as gradients with the container's * positioning and clipping applied. Replaceable via the `background` prop on * Select.Content. * * @component Select.Item - Selectable option item. Handles selection state and press events. * * @component Select.ItemLabel - Displays the label text for an item. * * @component Select.ItemIndicator - Optional indicator shown for selected items. * * @component Select.ListLabel - Label for the list of items. * * @component Select.Close - Close button for the select. * Can accept custom children or uses default close icon. * * @component Select.ItemDescription - Optional description text for items with muted styling. * * Props flow from Select to sub-components via context (placement, align, offset, value, etc.). * The select automatically positions itself relative to the trigger element. * * @see Full documentation: https://heroui.com/docs/native/components/select */ declare const Select: typeof SelectRoot & { Trigger: import("react").ForwardRefExoticComponent>; /** @optional Theme-aware background container behind the trigger surface */ TriggerBackground: import("react").ForwardRefExoticComponent>; /** @optional Visual indicator showing open/close state (defaults to chevron) */ TriggerIndicator: import("react").ForwardRefExoticComponent>; Value: import("react").ForwardRefExoticComponent>; Portal: { ({ className, children, disableFullWindowOverlay, unstable_accessibilityContainerViewIsModal, ...props }: SelectPortalProps): import("react").JSX.Element; displayName: "HeroUINative.Select.Portal"; }; Overlay: import("react").ForwardRefExoticComponent>; Content: import("react").ForwardRefExoticComponent>; /** @optional Theme-aware background container behind the select content */ ContentBackground: import("react").ForwardRefExoticComponent>; Item: import("react").ForwardRefExoticComponent>; ItemLabel: import("react").ForwardRefExoticComponent>; ItemDescription: import("react").ForwardRefExoticComponent>; ItemIndicator: import("react").ForwardRefExoticComponent>; ListLabel: import("react").ForwardRefExoticComponent>; Close: import("react").ForwardRefExoticComponent>; }; export { useSelect, useSelectAnimation, useSelectItem }; export default Select; //# sourceMappingURL=select.d.ts.map