import React from "react";
import { Key, ListBoxItemProps as ReactAriaListBoxItemProps, SelectProps as ReactAriaSelectProps } from "react-aria-components";
import "./Select.css";
export interface ListBoxItemProps extends ReactAriaListBoxItemProps {
    /** Text label for the option. Provide an `id` if this is not unique. */
    label: string;
    /** Descriptive text that appears below the option's label */
    description?: string;
    /** Marks an option visually with red text to indicate a destructive/dangerous option */
    isDestructive?: boolean;
    /** Left icon slot */
    iconLeft?: React.ReactElement;
    /** Right icon slot */
    iconRight?: React.ReactElement;
}
export interface SelectionSectionProps {
    id: Key;
    /** Label for the section */
    header?: string;
    /** Flat list of options within the section */
    items: ListBoxItemProps[];
}
export interface SelectProps<T extends object> extends ReactAriaSelectProps<T> {
    /** Use `items` for a flat list of options */
    items?: ListBoxItemProps[];
    /** Use `sections` for a sectioned list with `items` options in each section */
    sections?: SelectionSectionProps[];
    /** Text label for the Select component */
    label?: string;
    /** Temporary text that occupies the select input when no option has been selected. */
    placeholder?: string;
    /** Defaults to `medium` */
    size?: "small" | "medium";
}
/** Select displays a collapsible list of options and allows a user to select one of them. */
export default function Select<T extends object>({ items, sections, label, placeholder, size, ...props }: SelectProps<T>): import("react/jsx-runtime").JSX.Element;
