import { ContextValue } from 'react-aria-components/slots';
import { DOMRefValue, GlobalDOMAttributes, Key, Orientation } from '@react-types/shared';
import { StyleProps } from './style-utils';
import { ListBoxProps } from 'react-aria-components/ListBox';
import React, { ReactNode } from 'react';
export interface SelectBoxGroupProps<T> extends StyleProps, Omit<ListBoxProps<T>, keyof GlobalDOMAttributes | 'layout' | 'dragAndDropHooks' | 'dependencies' | 'renderEmptyState' | 'children' | 'onAction' | 'shouldFocusOnHover' | 'selectionBehavior' | 'shouldSelectOnPressUp' | 'shouldFocusWrap' | 'style' | 'className' | 'render'> {
    /**
     * The SelectBox elements contained within the SelectBoxGroup.
     */
    children: ReactNode | ((item: T) => ReactNode);
    /**
     * The layout direction of the content in each SelectBox.
     * @default 'vertical'
     */
    orientation?: Orientation;
    /**
     * The selection mode for the SelectBoxGroup.
     * @default 'single'
     */
    selectionMode?: 'single' | 'multiple';
    /**
     * Whether the SelectBoxGroup is disabled.
     */
    isDisabled?: boolean;
}
export interface SelectBoxProps extends StyleProps {
    /** The unique id of the SelectBox. */
    id?: Key;
    /** A string representation of the SelectBox's contents, used for features like typeahead. */
    textValue?: string;
    /** An accessibility label for this item. */
    'aria-label'?: string;
    /**
     * The contents of the SelectBox.
     */
    children: ReactNode;
    /**
     * Whether the SelectBox is disabled.
     */
    isDisabled?: boolean;
}
export declare const SelectBoxGroupContext: React.Context<ContextValue<Partial<SelectBoxGroupProps<any>>, DOMRefValue<HTMLDivElement>>>;
/**
 * SelectBox is a single selectable item in a SelectBoxGroup.
 */
export declare function SelectBox(props: SelectBoxProps): ReactNode;
/**
 * SelectBoxGroup allows users to select one or more options from a list.
 */
export declare const SelectBoxGroup: <T extends object>(props: SelectBoxGroupProps<T> & React.RefAttributes<DOMRefValue<HTMLDivElement>>) => React.ReactElement<unknown, string | React.JSXElementConstructor<any>> | null;
