import { ResolvedChartSeries } from "../types"; import { ChartLayout } from "./getChartLayout"; import { LinePoint } from "./getLineSeries"; export type AreaPathSegment = { seriesLabel: string; color: string; d: string; /** 系列内の連続面。リサイズで d が変わっても key を安定させる */ segmentIndex: number; }; export type AreaChartLayout = "overlay" | "stacked"; /** * 幾何計算に含める系列。 * - overlay: 全系列(非表示は DOM に残してフェードする) * - stacked: 表示中だけ(非表示を除いて積み直す) */ export declare function getAreaChartDrawSeries(series: readonly T[], hiddenLabels: ReadonlySet, layout: AreaChartLayout): T[]; export declare function getOverlayAreaPath(points: readonly Pick[], baselineY: number): string; export declare function getStackedAreaPath(upperPoints: readonly { x: number; y: number; }[], lowerPoints: readonly { x: number; y: number; }[]): string; export declare function computeAreaChartMaxValue(series: readonly Pick[], layout: AreaChartLayout, categoryCount?: number): number; export declare function toStackedLineSeries(series: readonly ResolvedChartSeries[]): ResolvedChartSeries[]; export declare function getOverlayAreaSegments(item: ResolvedChartSeries, chartLayout: ChartLayout, maxValue: number): AreaPathSegment[]; export declare function getStackedAreaSegments(series: readonly ResolvedChartSeries[], chartLayout: ChartLayout, maxValue: number, categoryCount?: number): AreaPathSegment[]; export declare function getAreaSegments(series: readonly ResolvedChartSeries[], chartLayout: ChartLayout, maxValue: number, layout: AreaChartLayout, categoryCount?: number): AreaPathSegment[];