interface Padding { top: number; right: number; bottom: number; left: number; } /** * Configuration for a chart instance. */ interface LineChartConfig { /** Array of data series. Each inner array is one series of numeric values. */ data: number[][]; /** X-axis labels. Must match the length of each data series. */ labels: string[]; /** X-axis title. */ xLabel?: string; /** Y-axis title. */ yLabel?: string; /** Colors for each series. Defaults to Thruscan brand palette. */ colors?: string[]; /** Chart width in pixels. Defaults to container's clientWidth or 600. */ width?: number; /** Chart height in pixels. Defaults to 350. */ height?: number; /** Catmull-Rom spline smoothing. Default false. */ smooth?: boolean; /** Semi-transparent fill under each series. Default false. */ areaFill?: boolean; /** Area fill opacity. Default 0.1. */ areaOpacity?: number; /** Show X/Y tick labels. Default true. */ showTicks?: boolean; /** Show grid lines. Default true. */ showGrid?: boolean; /** Dashed grid lines. Default false. */ gridDashed?: boolean; /** Series stroke width. Default 2.5. */ strokeWidth?: number; /** Enable hover tooltip + indicator. Default true. */ hover?: boolean; /** Chart padding {top, right, bottom, left}. Default {top:20, right:30, bottom:50, left:60}. */ padding?: Partial; } /** * Creates a high-performance SVG+HTML hybrid line chart inside the specified container. */ declare function NanoLineChart(containerId: string, config: LineChartConfig): void; /** * Configuration for a bar chart instance. */ interface BarChartConfig { /** Array of data series. Each inner array is one series of numeric values. */ data: number[][]; /** Category labels. Must match the length of each data series. */ labels: string[]; /** X-axis title. */ xLabel?: string; /** Y-axis title. */ yLabel?: string; /** Colors for each series. Defaults to Thruscan brand palette. */ colors?: string[]; /** Chart width in pixels. Defaults to container's clientWidth or 600. */ width?: number; /** Chart height in pixels. Defaults to 350. */ height?: number; /** Stack series instead of grouping side-by-side. Default false. */ stacked?: boolean; /** Horizontal bars (categories on Y-axis). Default false. */ horizontal?: boolean; /** Gap between bar groups as fraction of group width (0–1). Default 0.2. */ barGap?: number; /** Show tick labels. Default true. */ showTicks?: boolean; /** Show grid lines. Default true. */ showGrid?: boolean; /** Dashed grid lines. Default false. */ gridDashed?: boolean; /** Enable hover tooltip + indicator. Default true. */ hover?: boolean; /** Chart padding {top, right, bottom, left}. Default {top:20, right:30, bottom:50, left:60} (left:80 for horizontal). */ padding?: Partial; } /** * Creates a high-performance SVG+HTML hybrid bar chart inside the specified container. */ declare function NanoBarChart(containerId: string, config: BarChartConfig): void; /** * Configuration for a pie chart instance. */ interface PieChartConfig { /** One numeric value per slice. */ data: number[]; /** Label per slice. Must match data length. */ labels: string[]; /** Color per slice. Defaults to Thruscan brand palette. */ colors?: string[]; /** Chart width in pixels. Defaults to container's clientWidth or 350. */ width?: number; /** Chart height in pixels. Defaults to width (square). */ height?: number; /** Donut mode (hollow center). Default false. */ donut?: boolean; /** Donut ring thickness in pixels. Default 60. */ donutWidth?: number; /** Show labels outside slices. Default true. */ showLabels?: boolean; /** Enable hover tooltip. Default true. */ hover?: boolean; } /** * Creates a high-performance SVG+HTML hybrid pie/donut chart inside the specified container. */ declare function NanoPieChart(containerId: string, config: PieChartConfig): void; export { type BarChartConfig, type LineChartConfig, NanoBarChart, NanoLineChart, NanoPieChart, type PieChartConfig };