import type { Datum } from "../shared/datumTypes";
import * as React from "react";
import type { StreamOrdinalFrameProps } from "../../stream/ordinalTypes";
import type { LegendInteractionMode, LegendPosition } from "../shared/hooks";
import type { BaseChartProps, ChartAccessor, CategoryFormatFn } from "../shared/types";
import { type TooltipProp } from "../../Tooltip/Tooltip";
import type { RealtimeFrameHandle } from "../../realtime/types";
export interface RidgelinePlotProps<TDatum extends Datum = Datum> extends BaseChartProps {
    data?: TDatum[];
    categoryAccessor?: ChartAccessor<TDatum, string>;
    valueAccessor?: ChartAccessor<TDatum, number>;
    orientation?: "vertical" | "horizontal";
    bins?: number;
    /** Amplitude factor controlling how far density extends (>1 allows overlap) @default 1.5 */
    amplitude?: number;
    categoryLabel?: string;
    valueLabel?: string;
    valueFormat?: (d: number | string) => string;
    colorBy?: ChartAccessor<TDatum, string>;
    colorScheme?: string | string[];
    categoryPadding?: number;
    enableHover?: boolean;
    showGrid?: boolean;
    showCategoryTicks?: boolean;
    showLegend?: boolean;
    legendInteraction?: LegendInteractionMode;
    legendPosition?: LegendPosition;
    tooltip?: TooltipProp;
    annotations?: Datum[];
    /** Custom formatter for category tick labels */
    categoryFormat?: CategoryFormatFn;
    frameProps?: Partial<Omit<StreamOrdinalFrameProps, "data" | "size">>;
}
/**
 * RidgelinePlot - Visualize distributions as overlapping one-sided density curves.
 *
 * Each category shows its value distribution as a filled area extending from a
 * baseline. The amplitude prop controls overlap between rows.
 */
export declare const RidgelinePlot: {
    <TDatum extends Datum = Datum>(props: RidgelinePlotProps<TDatum> & React.RefAttributes<RealtimeFrameHandle>): React.ReactElement | null;
    displayName?: string;
};
