import type { Datum } from "../shared/datumTypes";
import * as React from "react";
import type { StreamXYFrameProps } from "../../stream/types";
import type { RealtimeFrameHandle } from "../../realtime/types";
import type { CandlestickStyle } from "../../stream/types";
import type { BaseChartProps, AxisConfig, ChartAccessor } from "../shared/types";
import { type TooltipProp } from "../../Tooltip/Tooltip";
export interface CandlestickChartProps<TDatum extends Datum = Datum> extends BaseChartProps, AxisConfig {
    data?: TDatum[];
    xAccessor?: ChartAccessor<TDatum, number>;
    /** Required — upper bound (candlestick high, or range top) */
    highAccessor?: ChartAccessor<TDatum, number>;
    /** Required — lower bound (candlestick low, or range bottom) */
    lowAccessor?: ChartAccessor<TDatum, number>;
    /** Optional — when paired with closeAccessor, renders OHLC candlesticks. Omit both to render a range chart. */
    openAccessor?: ChartAccessor<TDatum, number>;
    /** Optional — see openAccessor */
    closeAccessor?: ChartAccessor<TDatum, number>;
    candlestickStyle?: CandlestickStyle;
    tooltip?: TooltipProp;
    annotations?: Datum[];
    /** Fixed x domain `[min, max]` (either bound may be undefined to leave that side data-derived). */
    xExtent?: [number | undefined, number | undefined] | [number];
    /** Fixed y domain `[min, max]` (either bound may be undefined to leave that side data-derived). */
    yExtent?: [number | undefined, number | undefined] | [number];
    enableHover?: boolean;
    showGrid?: boolean;
    frameProps?: Partial<Omit<StreamXYFrameProps, "chartType" | "data" | "size">>;
}
/**
 * CandlestickChart — OHLC bars, or a range chart when open/close are omitted.
 *
 * Pass all four of `open/high/low/close` for classic candlesticks. Pass only
 * `high/low` to degrade into a range/dumbbell visualization (PipelineStore
 * auto-detects this via `candlestickRangeMode`).
 *
 * @example
 * ```tsx
 * // Full OHLC candlesticks
 * <CandlestickChart
 *   data={prices}
 *   xAccessor="date"
 *   openAccessor="o"
 *   highAccessor="h"
 *   lowAccessor="l"
 *   closeAccessor="c"
 * />
 * ```
 *
 * @example
 * ```tsx
 * // Range-only (e.g. min/max bands per period)
 * <CandlestickChart
 *   data={data}
 *   xAccessor="date"
 *   highAccessor="max"
 *   lowAccessor="min"
 * />
 * ```
 *
 * @example
 * ```tsx
 * // Custom up/down colors and bar width
 * <CandlestickChart
 *   data={prices}
 *   xAccessor="date"
 *   openAccessor="o"
 *   highAccessor="h"
 *   lowAccessor="l"
 *   closeAccessor="c"
 *   candlestickStyle={{ upColor: "#22c55e", downColor: "#ef4444", bodyWidth: 8 }}
 * />
 * ```
 */
export declare const CandlestickChart: {
    <TDatum extends Datum = Datum>(props: CandlestickChartProps<TDatum> & React.RefAttributes<RealtimeFrameHandle>): React.ReactElement | null;
    displayName?: string;
};
