import { ReactNode } from 'react';
type BasicData = {
    id: string;
    name: string;
};
type SubcategoryGroup = {
    name: string;
    type: 'subcategory';
};
type GroupedBy = BasicData & {
    type: 'group';
    subcategory?: string;
};
export type CategorizedPickerBaseOption = BasicData & {
    group?: SubcategoryGroup | GroupedBy;
    order?: number;
};
export type CategorizedPickerCategory<T> = {
    name: string;
    filter: (value: T) => boolean;
    emptyData?: ReactNode;
};
type CategorizedPickerOptionItem = CategorizedPickerBaseOption & {
    categorizedPickerItemType: 'option';
};
type CategorizedPickerSubcategoryItem = {
    name: string;
    categorizedPickerItemType: 'subcategory';
};
type CategorizedPickerGroupItem = BasicData & {
    categorizedPickerItemType: 'group';
    options: (CategorizedPickerOptionItem | CategorizedPickerSubcategoryItem)[];
};
export type CategorizedPickerItemType = CategorizedPickerOptionItem | CategorizedPickerSubcategoryItem | CategorizedPickerGroupItem;
export {};
