import type { AgWidgetField } from '../../api/agField'; import type { AgWidgetSort } from '../../api/agWidgetParams'; export interface ChartHealthContext { type: 'chart'; seriesType: string; data: Record[]; categoryKeyField?: AgWidgetField; valueKeyFields: AgWidgetField[]; sort?: AgWidgetSort[]; offsetWidth: number; offsetHeight: number; stacked: boolean; direction?: string; } export interface GridHealthContext { type: 'grid'; rowData: Record[]; fields: AgWidgetField[]; viewportWidth: number; } export interface ValueHealthContext { type: 'value'; value: unknown; hasFormatter: boolean; } export interface GaugeHealthContext { type: 'gauge'; rawValue: unknown; resolvedValue: number; resolvedMin: number; resolvedMax: number; explicitMin?: number; explicitMax?: number; } export interface FilterHealthContext { type: 'filter'; itemCount: number; } export interface TextHealthContext { type: 'text'; text?: string; } export type WidgetHealthContext = ChartHealthContext | GridHealthContext | ValueHealthContext | GaugeHealthContext | FilterHealthContext | TextHealthContext;