import * as _angular_core from '@angular/core'; type DgaChartType = 'bar' | 'line' | 'pie' | 'donut'; /** Backward-compatible single-series point: `{ label, value }`. */ interface DgaChartPoint { label: string; value: number; } /** Multi-series data: one named series of values, aligned with `labels()`. */ interface DgaChartDataset { name: string; data: number[]; } interface DgaChartBarSlot { seriesIndex: number; categoryIndex: number; x: number; y: number; w: number; h: number; value: number; color: string; name: string; category: string; } interface DgaChartLinePoint { x: number; y: number; value: number; category: string; } interface DgaChartLine { name: string; color: string; points: DgaChartLinePoint[]; linePath: string; areaPath: string; } interface DgaChartLegendItem { name: string; color: string; value: number | null; } interface DgaChartTooltip { x: number; y: number; title: string; items: { name: string; color: string; value: number; }[]; } declare class DgaChart { readonly type: _angular_core.InputSignal; /** BC single-series input: `[{ label, value }]`. */ readonly series: _angular_core.InputSignal; /** Category names shared by all `datasets()`. */ readonly labels: _angular_core.InputSignal; /** Preferred multi-series input for bar/line. */ readonly datasets: _angular_core.InputSignal; /** Shown for pie/donut and multi-series bar/line. Set `false` to force-hide. */ readonly legend: _angular_core.InputSignalWithTransform; readonly tooltip: _angular_core.InputSignalWithTransform; readonly grid: _angular_core.InputSignalWithTransform; readonly stacked: _angular_core.InputSignalWithTransform; readonly smooth: _angular_core.InputSignalWithTransform; readonly area: _angular_core.InputSignalWithTransform; readonly dots: _angular_core.InputSignalWithTransform; /** Overrides the `--dga-chart-color-1..6` token cycle. */ readonly colors: _angular_core.InputSignal; /** Label for the value row in pie/donut tooltips. Default: `'القيمة'`. */ readonly tooltipValueLabel: _angular_core.InputSignal; readonly height: _angular_core.InputSignal; readonly label: _angular_core.InputSignal; /** Fixed drawing width; scales via CSS `w-full`. */ readonly width = 400; readonly pieSize = 180; readonly pad: { t: number; r: number; b: number; l: number; }; private readonly hiddenNames; readonly hiddenSeries: _angular_core.Signal>; readonly hoveredCategoryIndex: _angular_core.WritableSignal; readonly hoveredSlice: _angular_core.WritableSignal<{ index: number; label: string; value: number; } | null>; readonly isPieType: _angular_core.Signal; /** Category labels: explicit `labels()`, else derived from `datasets()` length, else BC `series()` labels. */ readonly categories: _angular_core.Signal; /** Normalized series: `datasets()` when present, else one series built from BC `series()`. */ readonly seriesList: _angular_core.Signal; readonly visibleSeriesList: _angular_core.Signal; /** Points feeding pie/donut: BC `series()`, else first dataset paired with `labels()`. */ readonly piePoints: _angular_core.Signal; readonly visiblePiePoints: _angular_core.Signal; readonly showLegend: _angular_core.Signal; readonly legendItems: _angular_core.Signal; colorFor(index: number): string; toggleSeries(name: string): void; readonly ariaLabel: _angular_core.Signal; readonly plot: _angular_core.Signal<{ x: number; y: number; w: number; h: number; }>; readonly gridYs: _angular_core.Signal; readonly maxValue: _angular_core.Signal; /** Layout for one group (category) slot shared by bars and the hover hit-rect. */ private readonly groupLayout; readonly categoryTicks: _angular_core.Signal<{ index: number; category: string; x: number; hitX: number; hitW: number; }[]>; readonly bars: _angular_core.Signal; readonly visibleLines: _angular_core.Signal; private straightPathD; /** Piecewise cubic Bezier through the points (Catmull-Rom style tangents). */ private smoothPathD; private areaPathD; readonly pieSlices: _angular_core.Signal<{ index: number; label: string; value: number; color: string; d: string; midX: number; midY: number; }[]>; onCategoryEnter(index: number): void; onCategoryLeave(): void; onSliceEnter(index: number, slice: { label: string; value: number; }): void; onSliceLeave(): void; categoryAriaLabel(index: number): string; readonly categoryTooltip: _angular_core.Signal; readonly sliceTooltip: _angular_core.Signal; formatValue(value: number): string; pieTooltipStyle(tip: DgaChartTooltip): Record; /** Bar-group center, or the line point when the chart is not columns. */ private tooltipX; /** Top of the hovered column or the highest line point in that category. */ private tooltipY; private readonly plotSvg; /** Rendered SVG size, so the tooltip follows the drawn bars when the viewBox is letterboxed. */ private readonly plotBox; /** Measured line lengths, in pixels, used to draw each series in. */ readonly lineLengths: _angular_core.WritableSignal; constructor(); private measureLines; private syncPlotBox; plotTooltipStyle(tip: DgaChartTooltip): Record; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } export { DgaChart }; export type { DgaChartDataset, DgaChartPoint, DgaChartType };