import type { Vec2 } from '../../math'; import type { DataSeries, ErrorBand, FillBoundary, FillCurveType, FillGradient, FillRegion } from './types'; export declare const LOG_EPSILON = 1e-10; export interface Pt { x: number; y: number; } export interface ResolvedBoundary { points: Pt[]; curve: FillCurveType; } export interface FillSegment { upper: Pt[]; lower: Pt[]; upper_curve: FillCurveType; lower_curve: FillCurveType; } export declare function resolve_series_ref(ref: { type: `series`; series_idx?: number; series_id?: string | number; }, series: readonly DataSeries[]): DataSeries | null; export declare function monotone_interpolate(xs: readonly number[], ys: readonly number[], x: number, tangents?: readonly number[]): number; interface DomainContext { x_domain: Vec2; y_domain: Vec2; y2_domain?: Vec2; } export declare function resolve_boundary_points(boundary: FillBoundary, series: readonly DataSeries[], domains: DomainContext, companion?: Pt[] | null): ResolvedBoundary | null; export declare function compute_fill_segments(region: FillRegion, series: readonly DataSeries[], domains: DomainContext): FillSegment[]; export declare function generate_fill_path(upper: readonly Pt[], lower: readonly Pt[], upper_curve?: FillCurveType, lower_curve?: FillCurveType): string; export declare function convert_error_band_to_fill_region(error_band: ErrorBand, series: readonly DataSeries[], default_color?: string): FillRegion | null; export declare const is_fill_gradient: (fill: string | FillGradient | undefined) => fill is FillGradient; export {};