import type { JSX, ReactNode } from 'react' import type { IconButtonProps } from '@mui/material' import type { WidgetState } from '../../stores/types' export interface DownloadItem { id: string label: string icon?: JSX.Element disabled?: boolean filename?: string modifier: (data: D) => Promise callback?: (data: string) => void } export interface DownloadProps { id: WidgetState['id'] items: DownloadItem[] labels?: { ariaLabel?: string } IconButtonProps?: IconButtonProps Icon?: ReactNode }