import { Option } from './react-select';
import * as SelectPrimitive from '@radix-ui/react-select';
import * as React from 'react';
/**
* Select primitives built on Radix Select for accessible dropdowns.
* @example
* ```tsx
*
* ```
*/
declare const Select: React.FC;
declare const SelectGroup: React.ForwardRefExoticComponent>;
declare const SelectValue: React.ForwardRefExoticComponent>;
/**
* Props for SelectTrigger component.
*/
export type SelectTriggerProps = React.ComponentPropsWithoutRef & {
variant?: 'default' | 'failure';
};
/**
* SelectTrigger - The trigger button for the Select.
* @returns {JSX.Element} The rendered SelectTrigger component.
* @example
* ```tsx
*
*
*
* ```
*/
declare const SelectTrigger: React.ForwardRefExoticComponent, "ref"> & {
variant?: "default" | "failure";
} & React.RefAttributes>;
/**
* SelectScrollUpButton - Scrolls the Select viewport up.
* @returns {JSX.Element} The rendered SelectScrollUpButton component.
*/
declare const SelectScrollUpButton: React.ForwardRefExoticComponent, "ref"> & React.RefAttributes>;
/**
* SelectScrollDownButton - Scrolls the Select viewport down.
* @returns {JSX.Element} The rendered SelectScrollDownButton component.
*/
declare const SelectScrollDownButton: React.ForwardRefExoticComponent, "ref"> & React.RefAttributes>;
/**
* SelectContent - Popup container for Select options.
* @returns {JSX.Element} The rendered SelectContent component.
*/
declare const SelectContent: React.ForwardRefExoticComponent, "ref"> & React.RefAttributes>;
/**
* SelectLabel - Label for a group of Select items.
* @returns {JSX.Element} The rendered SelectLabel component.
*/
declare const SelectLabel: React.ForwardRefExoticComponent, "ref"> & React.RefAttributes>;
/**
* SelectItem - A single option row within the Select.
* @returns {JSX.Element} The rendered SelectItem component.
*/
declare const SelectItem: React.ForwardRefExoticComponent, "ref"> & React.RefAttributes>;
/**
* SelectSeparator - Visual separator within the list of Select options.
* @returns {JSX.Element} The rendered SelectSeparator component.
*/
declare const SelectSeparator: React.ForwardRefExoticComponent, "ref"> & React.RefAttributes>;
export type VirtualizedSelectContentProps = Omit, 'children'> & {
itemHeight?: number;
maxHeight?: number;
options: Option[];
};
/**
* VirtualizedSelectContent - A virtualized popup container for Select options, optimized for large lists.
* Uses `react-window` for efficient rendering.
* @augments {React.ForwardRefExoticComponent, 'children'> & {itemHeight?: number;maxHeight?: number;options: Option[];} & React.RefAttributes>}
* @param {object} props - The props for the VirtualizedSelectContent component.
* @param {string} [props.className] - Additional CSS classes.
* @param {Option[]} props.options - The array of options to display in the select.
* @param {'popper' | 'item-aligned'} [props.position='popper'] - The positioning strategy for the content.
* @param {number} [props.itemHeight=35] - The height of each item in the virtualized list.
* @param {number} [props.maxHeight=300] - The maximum height of the virtualized list.
* @returns {JSX.Element} The rendered VirtualizedSelectContent component.
*/
declare const VirtualizedSelectContent: React.ForwardRefExoticComponent, "ref">, "children"> & {
itemHeight?: number;
maxHeight?: number;
options: Option[];
} & React.RefAttributes>;
export { Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, VirtualizedSelectContent, };
//# sourceMappingURL=select.d.ts.map