import * as React from 'react';
import { As, Options, Props } from '../../system';
import type { AriaMultiSelectProps, StyleProps } from '../../types';
import { Placement } from '../Overlay';
export declare type MultiSelectElement = 'label';
export interface MultiSelectOptions<T extends As = MultiSelectElement> extends Options<T>, AriaMultiSelectProps<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;
    /**
     * Icon displayed at the start of the text field.
     *
     * @example
     * <Combobox startIcon={<Icon />} />
     */
    startIcon?: React.ReactElement;
}
export declare type MultiSelectProps<T extends As = MultiSelectElement> = Props<MultiSelectOptions<T>>;
export declare const MultiSelect: import("../../system").Component<MultiSelectOptions<"label">>;
//# sourceMappingURL=MultiSelect.d.ts.map