import { SelectPopoverProps } from './SelectPopover';
import { SelectableItem } from '../../models/SelectableItem';
export declare const itemSelectorVariants: readonly ["circular", "rounded", "transparent"];
type ItemSelectorVariant = (typeof itemSelectorVariants)[number];
export type ItemSelectorItem = {
    id: string;
};
export type ItemSelectorProps<T extends ItemSelectorItem> = {
    items: T[];
    selectedItems: T[];
    variant?: ItemSelectorVariant;
    placeholder?: string;
    disabled?: boolean;
    helperText?: string;
    isError?: boolean;
    renderChipLabel?: (item: T) => string;
    renderItem?: (item: T) => T & {
        title: string;
        subtitle1: string;
        subtitle2: string;
    };
    onChange: (value: T[]) => void;
    onOpen?: () => void;
    onClose?: () => void;
    onLoadMore?: (searchText: string) => void;
    getWarningTooltip?: (chipName: T) => string;
} & Pick<SelectPopoverProps<SelectableItem>, 'applyButtonText' | 'emptyListPlaceholder' | 'hasMore' | 'isLoading' | 'isLoadingSubtitle2' | 'maxSelectedItems' | 'onSearch' | 'requiredSelectedItemsToApply' | 'disableApplyWithoutChanges' | 'popoverWidth' | 'itemsPerRow' | 'itemsTitle' | 'paddingContent' | 'selectableItemComponent' | 'onPendingSelectionChange'>;
declare const ItemSelector: <T extends ItemSelectorItem>({ items, selectedItems, maxSelectedItems, variant, placeholder, disabled, helperText, isError, isLoading, isLoadingSubtitle2, hasMore, applyButtonText, emptyListPlaceholder, requiredSelectedItemsToApply, disableApplyWithoutChanges, popoverWidth, itemsPerRow, itemsTitle, paddingContent, selectableItemComponent, renderChipLabel, renderItem, onChange, onLoadMore, onSearch, onClose, onOpen, getWarningTooltip, onPendingSelectionChange }: ItemSelectorProps<T>) => import("react/jsx-runtime").JSX.Element;
export default ItemSelector;
