import { ReactNode } from 'react' interface ListDataItem { value: V text: string disabled?: boolean [key: string]: any } interface ListGroupDataItem { label: string | ReactNode children: ListDataItem[] } interface TreeDataItem extends ListDataItem { children?: TreeDataItem[] } type StringOrKeyofT = keyof any extends V ? string : V export type StringKey = Extract | (string & {}) type RecordPartial = { [P in StringKey]?: V } type anyCallback = (...args: any[]) => T export type { ListDataItem, ListGroupDataItem, TreeDataItem, StringOrKeyofT, RecordPartial, anyCallback, }