import type { EChartsOption } from 'echarts'; import type { WidgetConfig } from './models'; export interface ChartColorPalette { colors: string[]; heatmapRamp?: string[]; } export declare const SAMPLE_DATA: Record>; /** Max slices in print donuts before remaining merge into "Other" (report/PDF readability). */ export declare const PRINT_DONUT_MAX_SLICES = 7; /** * Humanize technical dimension strings for print (underscores, length cap with middle ellipsis). */ export declare function formatPrintLegendLabel(name: string, maxChars?: number): string; /** * Legend segment count after print top-N + Other aggregation (for report row-height tiers). */ export declare function getPrintDonutLegendSegmentCount(widget: WidgetConfig): number; export declare const MULTI_SERIES_TREND: { xLabels: string[]; series: { name: string; data: number[]; }[]; }; export declare const HEATMAP_DATA: { hours: string[]; servers: string[]; data: number[][]; }; /** Optional tuning for print/PDF donut layout inside the parent container. */ export type PrintChartOptions = { /** Legacy very-dense mode (3+ charts per row). */ compact?: boolean; /** * Narrow-ring donut layout (same ECharts radii as a 2-up print cell). Use for every print * donut row with 1–2 charts so a lone full-width widget matches its neighbors’ ring size; * not only literal half-width containers. */ halfWidthCell?: boolean; }; /** * Print-optimized chart options: dark text on white, no truncation, * smaller donuts, full legend values, no animation, no tooltips. */ export declare function optionsForPrint(widget: WidgetConfig, printOpts?: PrintChartOptions, chartPalette?: ChartColorPalette): EChartsOption; export declare function optionsForWidget(widget: WidgetConfig, chartPalette?: ChartColorPalette): EChartsOption;