import SeriesModel from '../../model/Series.js';
import { SeriesOption, SeriesOnCartesianOptionMixin, LayoutOrient, ItemStyleOption, ColorString, SeriesLabelOption, SeriesLargeOptionMixin, StatesOptionMixin, SeriesEncodeOptionMixin, DefaultEmphasisFocus, OptionDataValue } from '../../util/types.js';
import Cartesian2D from '../../coord/cartesian/Cartesian2D.js';
import { PathState } from 'tvrender/lib/graphic/Path.js';
declare type VolPathDataValue = OptionDataValue[];
interface VolPathItemStyleOption extends ItemStyleOption {
    color0?: ColorString;
    borderColor0?: ColorString;
    borderColorDoji?: ColorString;
    dataUpColor?: ColorString;
    dataFallColor?: ColorString;
    wickColor?: ColorString;
    wickColor0?: ColorString;
    buyBgColor?: string;
    sellBgColor?: string;
    buyBgList?: string[];
    sellBgList?: string[];
    pocColor?: string;
    totalBgList: string[];
    buyFvgColor?: string;
    sellFvgColor?: string;
}
export interface VolPathStateOption {
    itemStyle?: VolPathItemStyleOption;
    label?: SeriesLabelOption;
}
export interface VolPathDataItemOption extends VolPathStateOption, StatesOptionMixin<VolPathStateOption, ExtraStateOption> {
    value: VolPathDataValue;
    itemData: {
        volList?: {
            buyVol: number;
            sellVol: number;
            isBuyFvg?: boolean;
            isSellFvg?: boolean;
            hPrice: number;
            lPrice: number;
        }[];
        vahPrice: number;
        valPrice: number;
        total: number;
        delta: number;
        maxPrice: number;
        minPrice: number;
        pocIndex: number;
        buySum: number;
        sellSum: number;
        maxBuy: number;
        maxSell: number;
    };
}
interface ExtraStateOption {
    emphasis?: {
        focus?: DefaultEmphasisFocus;
        scale?: boolean;
        emphasisState?: PathState;
    };
}
export interface VolPathSeriesOption extends SeriesOption<VolPathStateOption, ExtraStateOption>, VolPathStateOption, SeriesOnCartesianOptionMixin, SeriesLargeOptionMixin, SeriesEncodeOptionMixin {
    type?: 'volPath';
    coordinateSystem?: 'cartesian2d';
    isGradientBgColor?: boolean;
    isShowVA?: boolean;
    isShowPoc?: boolean;
    isShowOverflow?: boolean;
    isShowFvg?: boolean;
    isShowSummary?: boolean;
    isFvgStack?: boolean;
    lineHeight: number;
    layout?: LayoutOrient;
    clip?: boolean;
    displayMode: "cluster" | "overview";
    infoType: "buyAndSell" | "delta" | "total" | "ladder";
    theme: "light" | "dark";
    barMaxWidth?: number | string;
    barMinWidth?: number | string;
    barWidth?: number | string;
    signByPrev?: boolean;
    data?: (VolPathDataValue | VolPathDataItemOption)[];
    ignoreParentColor: boolean;
}
declare class VolPathSeriesModel extends SeriesModel<VolPathSeriesOption> {
    static readonly type = "series.volPath";
    readonly type = "series.volPath";
    static readonly dependencies: string[];
    notAddOrdinal: boolean;
    ignoreStyleOnData: boolean;
    coordinateSystem: Cartesian2D;
    dimensions: string[];
    defaultValueDimensions: {
        name: string;
        defaultTooltip: boolean;
    }[];
    static defaultOption: VolPathSeriesOption;
    /**
     * Get dimension for shadow in dataZoom
     * @return dimension name
     */
    getShadowDim(): string;
}
export default VolPathSeriesModel;
