import type { ChartPoint, ChartRenderContext, ChartSvgRenderer, ChartTextMeasurer, ChartValue, DomChartDefinition } from '@tanstack/charts'; import type { OctaneNode } from 'octane'; import type { ChartTooltipBodyRenderContext } from './renderer-types.js'; export interface ChartCommonProps { ariaLabel: string; ariaDescription?: string; height?: number; aspectRatio?: number; width?: number; initialWidth?: number; class?: string; style?: Record; tabIndex?: number; idPrefix?: string; renderSvg?: ChartSvgRenderer, NoInfer, NoInfer>; measureText?: ChartTextMeasurer; onFocusChange?: (point: ChartPoint | null) => void; onFocusGroupChange?: (points: readonly ChartPoint[]) => void; onSelect?: (point: ChartPoint | null) => void; onRender?: (context: ChartRenderContext) => void; renderTooltipBody?: (context: ChartTooltipBodyRenderContext) => OctaneNode; } export type ChartProps = ChartCommonProps & { definition: DomChartDefinition; };