import * as React from 'react';
import type { AriaSelectProps } from '@react-types/select';
import { As, Options, Props } from '../../system';
import type { StyleProps } from '../../types';
import { Placement } from '../Overlay';
export declare type SelectElement = 'label';
export interface SelectOptions<T extends As = SelectElement> extends Options<T>, AriaSelectProps<object>, StyleProps {
    /**
     * The ref of the element to append the overlay to.
     */
    containerRef?: React.RefObject<HTMLElement>;
    /**
     * Helper text to append to the form control input element.
     */
    helperText?: React.ReactNode;
    /**
     * Props passed to the helper text.
     */
    helperTextProps?: React.HTMLAttributes<HTMLElement>;
    /**
     * Label of the input element
     */
    label?: React.ReactNode;
    /**
     * Props passed to the label.
     */
    labelProps?: React.HTMLAttributes<HTMLElement>;
    /**
     * The maxHeight specified for the overlay element.
     * By default, it will take all space up to the current viewport height.
     */
    maxHeight?: number;
    /**
     * The additional offset applied along the main axis between the element and its
     * anchor element.
     *
     * @default 4
     */
    offset?: number;
    /**
     * The placement of the element with respect to its anchor element.
     *
     * @default 'bottom'
     */
    placement?: Placement;
    /**
     * Whether the element should flip its orientation (e.g. top to bottom or left to right) when
     * there is insufficient room for it to render completely.
     *
     * @default true
     */
    shouldFlip?: boolean;
    /**
     * The size of the combobox
     *
     * @default 'medium'
     */
    size?: 'medium' | 'small';
    /**
     * Icon displayed at the start of the text field.
     *
     * @example
     * <Combobox startIcon={<Icon />} />
     */
    startIcon?: React.ReactElement;
}
export declare type SelectProps<T extends As = SelectElement> = Props<SelectOptions<T>>;
export declare const Select: import("../../system").Component<SelectOptions<"label">>;
//# sourceMappingURL=Select.d.ts.map