import type { TransformLineage } from './transform.js'; import type { Channel, ChartKey, ChartMark, ChartMarkMotionOptions, VisualChannel } from './types.js'; export interface ContourDatum extends TransformLineage { /** Scalar threshold represented by this level set. */ readonly value: number; } export interface ContourOptions extends ChartMarkMotionOptions { id?: string; /** Number of row-major grid columns. */ width: number; /** Number of row-major grid rows. */ height: number; /** Scalar grid value. Numeric source data defaults to identity. */ value?: Channel; /** Exact levels or an approximate level count. Defaults to Sturges. */ thresholds?: number | Iterable; /** Linear marching-squares interpolation. Defaults to true. */ smooth?: boolean; color?: Channel, ChartKey | null | undefined>; fill?: VisualChannel, string>; fillOpacity?: number; stroke?: VisualChannel, string>; strokeOpacity?: number; strokeWidth?: number; strokeDasharray?: string; opacity?: number; } /** Generates scalar-grid contours and projects them into final plot bounds. */ export declare function contour(source: Iterable, options: ContourOptions>): ChartMark;