import { ReactNode } from 'react'; import { BaseWidgetState, WidgetsStoreProps } from '../stores/types'; import { WrapperState } from '../wrapper/types'; import { DownloadItem } from '../actions/download/types'; export interface RangeUIProps { id: WidgetsStoreProps['id']; } export interface RangeDataItem { min: number; max: number; value?: number[]; step?: number; marks?: boolean | { value: number; label?: string; }[]; disabled?: boolean; color?: string; note?: string | ReactNode; } export interface RangeItemProps { id: WidgetsStoreProps['id']; index: number; } export type RangeWidgetData = RangeDataItem[]; export type RangeWidgetState = BaseWidgetState> & { data: RangeWidgetData; }; export interface RangeWidgetConfig { formatter?: (value: number) => string; onChange?: (value: number[], index: number) => void; } export type RangeDownloadConfig = DownloadItem[];