/**
* @fileoverview Select — animated dropdown select with spring transitions and grouped options.
* @module packages/ui/components/ui/select
* @layer core
*
* @component
* @example
* import { Select, SelectTrigger, SelectValue, SelectContent, SelectItem } from '@saasflare/ui';
*
*/
import * as React from "react";
import * as SelectPrimitive from "@radix-ui/react-select";
import { type SaasflareComponentProps } from "../../providers";
/**
* Animated dropdown select built on Radix Select. Manages value and open
* state; compose with {@link SelectTrigger}, {@link SelectValue},
* {@link SelectContent}, and {@link SelectItem}. Use for single-choice
* selection from a list too long for radio buttons.
*
* @component
* @layer core
*/
declare function Select({ ...props }: React.ComponentProps): import("react/jsx-runtime").JSX.Element;
/**
* Groups related items inside {@link SelectContent}, typically headed by a
* {@link SelectLabel}.
*
* @component
* @layer core
*/
declare function SelectGroup({ ...props }: React.ComponentProps): import("react/jsx-runtime").JSX.Element;
/**
* Displays the selected item's text (or a `placeholder`) inside
* {@link SelectTrigger}.
*
* @component
* @layer core
*/
declare function SelectValue({ ...props }: React.ComponentProps): import("react/jsx-runtime").JSX.Element;
/**
* Button that opens the dropdown — renders the current {@link SelectValue}
* with a trailing caret icon.
*
* @component
* @layer core
*/
declare function SelectTrigger({ className, size, children, ...props }: React.ComponentProps & {
/** Control height of the trigger. `"md"` (h-9) or `"sm"` (h-8). (`"default"` is a deprecated alias for `"md"`.) */
size?: "sm" | "md" | "default";
}): import("react/jsx-runtime").JSX.Element;
/**
* Props for {@link SelectContent}. Extends {@link SaasflareComponentProps} so
* `surface`, `radius`, `animated`, and `iconWeight` can override the
* context per instance.
*/
interface SelectContentProps extends Omit, keyof SaasflareComponentProps>, SaasflareComponentProps {
}
/**
* Portalled dropdown panel with a spring entrance animation — hosts the
* scrollable item viewport plus the scroll-up/down affordances.
*
* @component
* @layer core
*/
declare function SelectContent({ className, children, position, surface, radius, animated, iconWeight, ...props }: SelectContentProps): import("react/jsx-runtime").JSX.Element;
/**
* Non-interactive heading for a {@link SelectGroup}.
*
* @component
* @layer core
*/
declare function SelectLabel({ className, ...props }: React.ComponentProps): import("react/jsx-runtime").JSX.Element;
/**
* Selectable option inside {@link SelectContent} — shows a check indicator
* when it is the current value.
*
* @component
* @layer core
*/
declare function SelectItem({ className, children, ...props }: React.ComponentProps): import("react/jsx-runtime").JSX.Element;
/**
* Thin divider between groups of items.
*
* @component
* @layer core
*/
declare function SelectSeparator({ className, ...props }: React.ComponentProps): import("react/jsx-runtime").JSX.Element;
/**
* Scroll affordance pinned to the top of the viewport when items overflow.
* Rendered automatically by {@link SelectContent}.
*
* @component
* @layer core
*/
declare function SelectScrollUpButton({ className, ...props }: React.ComponentProps): import("react/jsx-runtime").JSX.Element;
/**
* Scroll affordance pinned to the bottom of the viewport when items overflow.
* Rendered automatically by {@link SelectContent}.
*
* @component
* @layer core
*/
declare function SelectScrollDownButton({ className, ...props }: React.ComponentProps): import("react/jsx-runtime").JSX.Element;
export { Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, type SelectContentProps, };