import './MultiSelectGroups.scss';
import React from 'react';
export interface MultiSelectGroupItem {
    id: number | string;
    name: string;
    count?: number;
    disabled?: boolean;
    countProvider?: () => number;
}
export interface MultiSelectGroup {
    groupName: string;
    items: MultiSelectGroupItem[];
    showGroupActions?: boolean;
    customGroupClass?: string;
    fullWidth?: boolean;
    id?: string | number;
}
export type MultiSelectVariant = 'default' | 'categories';
export interface MultiSelectGroupsProps {
    groups: MultiSelectGroup[];
    selectedIds: (number | string)[];
    showItemCounts?: boolean;
    showGroupActions?: boolean;
    variant?: MultiSelectVariant;
    maxItemsVisible?: number;
    selectAllLabel: string;
    clearAllLabel: string;
    selectedLabel: string;
    showMoreLabel: string;
    showLessLabel: string;
    onChange: (selectedIds: (number | string)[]) => void;
    itemCountProvider?: (item: MultiSelectGroupItem) => number;
    customItemRenderer?: (item: MultiSelectGroupItem, isSelected: boolean) => React.ReactNode;
}
declare function MultiSelectGroups({ groups, selectedIds, showItemCounts, showGroupActions, variant, maxItemsVisible, selectAllLabel, clearAllLabel, selectedLabel, showMoreLabel, showLessLabel, itemCountProvider, customItemRenderer, onChange, }: MultiSelectGroupsProps): React.JSX.Element | null;
export default MultiSelectGroups;
//# sourceMappingURL=MultiSelectGroups.d.ts.map