import { BarChartOrientation, BarSegment } from "../types"; export declare function segmentKey(segment: Pick): string; export declare function buildSegmentMap(segments: BarSegment[]): Map; /** CSS keyframes と reflow で共通の ease-out カーブ */ export declare const chartMotionEaseCss = "cubic-bezier(0.16, 1, 0.3, 1)"; /** 線・面の描画。棒のスナップな ease-out だと軌跡が見えない */ export declare const chartDrawEaseCss = "cubic-bezier(0.45, 0, 0.55, 1)"; /** 棒の duration より長くして、線が左から伸びる様子が見えるようにする */ export declare function getChartDrawDurationMs(motionDurationMs: number): number; /** 初回 enter の系列/棒ごとの遅延。全体が長くなりすぎないよう cap する */ export declare function getChartEnterAnimationDelay(enterIndex: number, staggerMs: number, durationMs: number): number; /** enter 完了後に animation を "none" へ戻すまでの待ち時間 */ export declare function getChartEnterAnimationTimeout(itemCount: number, durationMs: number, staggerMs: number): number; /** 終端の減速を長く取る ease-out(7乗) */ export declare function easeOut(t: number): number; export declare function lerpValue(from: number, to: number, t: number): number; export declare function lerpSegment(from: BarSegment, to: BarSegment, t: number): BarSegment; export declare function collapsedSegment(target: BarSegment, orientation: BarChartOrientation): BarSegment; export declare function interpolateSegments(from: BarSegment[], to: BarSegment[], t: number, orientation: BarChartOrientation): BarSegment[];