import { PropGetters, DownshiftProps, UseMultipleSelectionStateChange, UseMultipleSelectionGetSelectedItemPropsOptions } from 'downshift';
import { HTMLChakraProps } from '@chakra-ui/system';
import { MaybeRenderProp } from '@chakra-ui/react-utils';
import { TagProps } from '@chakra-ui/tag';
import { FormControlOptions } from '@chakra-ui/form-control';
export declare type SelectTagProps<Item = any> = UseMultipleSelectionGetSelectedItemPropsOptions<Item> & TagProps;
export declare function SelectedItemTag({ children, selectedItem, index, ...props }: SelectTagProps): JSX.Element;
export declare type SelectMultipleProps<Item = any> = Omit<HTMLChakraProps<'div'>, 'onChange'> & FormControlOptions & Pick<DownshiftProps<Item>, 'itemToString' | 'defaultIsOpen' | 'isOpen' | 'defaultHighlightedIndex'> & {
    initialSelectedItems?: Array<Item>;
    defaultSelectedItems?: Array<Item>;
    value?: Item[] | undefined;
    onChange?: (changes: UseMultipleSelectionStateChange<Item>) => void;
    children: MaybeRenderProp<{
        isOpen: boolean;
        highlightedIndex: number | null;
        onClose?(): void;
        inputValue: string | null;
        selectedItems: Array<Item>;
        getLabelProps: PropGetters<Item>['getLabelProps'];
    }>;
};
export declare function SelectMultiple<Item = any>({ id, children, onChange, initialSelectedItems, defaultSelectedItems, itemToString, value, isDisabled, defaultHighlightedIndex, defaultIsOpen, isOpen, ...props }: SelectMultipleProps<Item>): JSX.Element;
