import { TypographyProps } from '@mui/material'; import { ReactNode } from 'react'; import { BaseWidgetState, WidgetsStoreProps } from '../stores/types'; import { WrapperState } from '../wrapper/types'; import { DownloadItem } from '../actions/download/types'; import { SeriesConfig } from '../formula/types'; export interface SpreadUIProps { id: WidgetsStoreProps['id']; } export interface SpreadDataItem { min: number; max: number; prefix?: string | ReactNode; suffix?: string | ReactNode; color?: string; } export interface RowProps { id: WidgetsStoreProps['id']; children: ReactNode | ((props: { index: number; }) => ReactNode); } export interface ValueProps extends Omit { id: WidgetsStoreProps['id']; index?: number; } export interface ItemProps { children: ReactNode; disabled?: boolean; TypographyProps?: TypographyProps; } export type SpreadWidgetData = SpreadDataItem[]; export type SpreadWidgetState = BaseWidgetState & { data: SpreadWidgetData; }>; export interface SpreadWidgetConfig { formatter?: (value: number) => string; series?: SeriesConfig[]; } export type SpreadDownloadConfig = DownloadItem[];