import { Chart, View, Types, BaseChartConfig, ChartData, Colors } from '../common/types';
import Base, { ChartProps } from '../common/Base';
import { DataAdapterData } from '../common/dataAdapter';
import { GuideConfig } from '../common/guide';
import { XAxisConfig } from '../common/rectXAxis';
import { YAxisConfig } from '../common/rectYAxis';
import { TooltipConfig } from '../common/rectTooltip';
import { LegendConfig } from '../common/rectLegend';
import { LabelConfig } from '../common/label';
import { GeomSizeConfig } from '../common/geomSize';
import { GeomStyleConfig } from '../common/geomStyle';
interface WlineboxConfig extends BaseChartConfig, BoxConfig, LineConfig {
    xAxis?: (Types.ScaleOption & XAxisConfig) | false;
    yAxis?: (Types.ScaleOption & YAxisConfig) | false;
    legend?: LegendConfig | boolean;
    tooltip?: TooltipConfig | boolean;
    guide?: GuideConfig;
    grid?: boolean;
}
export declare class Linebox extends Base<WlineboxConfig> {
    chartName: string;
    convertData: boolean;
    getDefaultConfig(): WlineboxConfig;
    beforeInit(props: ChartProps<WlineboxConfig>): ChartProps<WlineboxConfig>;
    rawLineData: DataAdapterData[];
    lineView: View;
    rawBoxData: DataAdapterData[];
    boxView: View;
    init(chart: Chart, config: WlineboxConfig, data: ChartData): void;
    changeData(chart: Chart, config: WlineboxConfig, data: ChartData): void;
}
declare const Wlinebox: typeof Linebox;
export default Wlinebox;
interface BoxConfig {
    boxColors?: Colors;
    marginRatio?: number;
    dodge?: boolean;
    boxLabel?: LabelConfig | boolean;
    boxGeomStyle?: GeomStyleConfig;
    boxSize?: GeomSizeConfig;
    boxMinSize?: number;
    boxMaxSize?: number;
}
interface LineConfig {
    areaColors?: string[];
    lineColors?: Colors;
    area?: boolean | {
        geomStyle?: GeomStyleConfig;
    };
    stack?: boolean;
    spline?: boolean;
    step?: string | boolean;
    symbol?: {
        size?: GeomSizeConfig;
        geomStyle?: GeomStyleConfig;
    } | boolean;
    lineLabel?: LabelConfig | boolean;
    lineWidth?: number;
    lineGeomStyle?: GeomStyleConfig;
}
