import type { ReactNode } from 'react'; import type { ButtonType } from 'antd/es/button'; import type { SizeType } from 'antd/lib/config-provider/SizeContext'; export interface OperationConfig { className?: string; name?: string | ((data?: T) => string); defaultName?: string; type?: ButtonType; icon?: ReactNode; hide?: boolean | ((data?: T) => boolean); disabled?: boolean | ((data?: T) => boolean); loading?: boolean | ((data?: T) => boolean); data?: T; size?: SizeType; } export interface OperationProps extends OperationConfig { onOpt?: () => void; } export interface OperationItemConfig extends OperationConfig { key: K; } export interface OperationListProps { className?: string; type?: ButtonType; list?: OperationItemConfig[]; emptyText?: string; data?: T; onOpt?: (key: K) => void; size?: SizeType; } export { Item } from './item'; export { List } from './list';