import type { Channel, ChannelOutput, CartesianScaleBindings, ChartCurve, ChartKey, ChartMark, ChartMarkMotionOptions, ChartMarkState, ChartMarkStateStyle, VisualChannel } from './types.js'; export type RidgelinePosition = number | Date; export type RidgelineCurve = Pick; export type RidgelineStateStyle = Pick, 'fillOpacity' | 'strokeOpacity' | 'opacity'>; interface RidgelineOptions extends ChartMarkMotionOptions, CartesianScaleBindings { id?: string; /** Normalized profile height in the inclusive range [0, 1]. */ height: Channel; /** Peak height in category-step units. Defaults to 1. */ overlap?: number; key?: Channel; color?: Channel; fill?: VisualChannel; fillOpacity?: number; /** Set to null to omit the profile outline. */ stroke?: VisualChannel | null; strokeOpacity?: number; strokeWidth?: number; strokeDasharray?: string; curve?: RidgelineCurve; states?: readonly ChartMarkState>[]; } export interface RidgelineYOptions extends RidgelineOptions { x: Channel; y: Channel; } export interface RidgelineXOptions extends RidgelineOptions { x: Channel; y: Channel; } type PositionOutput = Extract, RidgelinePosition>; type CategoryOutput = Extract, ChartKey>; type RidgelineYCallOptions, RidgelinePosition | null | undefined>, TYChannel extends Channel, ChartKey | null | undefined>> = Omit, PositionOutput, CategoryOutput>, 'x' | 'y'> & { x: TXChannel; y: TYChannel; }; type RidgelineXCallOptions, ChartKey | null | undefined>, TYChannel extends Channel, RidgelinePosition | null | undefined>> = Omit, PositionOutput, CategoryOutput>, 'x' | 'y'> & { x: TXChannel; y: TYChannel; }; /** Draws horizontal profiles rising from categorical y baselines. */ export declare function ridgelineY, RidgelinePosition | null | undefined>, const TYChannel extends Channel, ChartKey | null | undefined>, const TXScaleId extends string = 'x', const TYScaleId extends string = 'y'>(source: Iterable, options: RidgelineYCallOptions & { xScale?: TXScaleId; yScale?: TYScaleId; }): ChartMark, CategoryOutput, PositionOutput, CategoryOutput, TXScaleId, TYScaleId>; /** Draws vertical profiles extending from categorical x baselines. */ export declare function ridgelineX, ChartKey | null | undefined>, const TYChannel extends Channel, RidgelinePosition | null | undefined>, const TXScaleId extends string = 'x', const TYScaleId extends string = 'y'>(source: Iterable, options: RidgelineXCallOptions & { xScale?: TXScaleId; yScale?: TYScaleId; }): ChartMark, PositionOutput, CategoryOutput, PositionOutput, TXScaleId, TYScaleId>; export {};