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';
import './index.scss';
interface WlinebarConfig extends BaseChartConfig, BarConfig, LineConfig {
    xAxis?: (Types.ScaleOption & XAxisConfig) | false;
    yAxis?: (Types.ScaleOption & YAxisConfig) | false;
    legend?: LegendConfig | boolean;
    tooltip?: TooltipConfig | boolean;
    guide?: GuideConfig;
    grid?: boolean;
}
export declare class Linebar extends Base<WlinebarConfig> {
    chartName: string;
    convertData: boolean;
    getDefaultConfig(): WlinebarConfig;
    beforeInit(props: ChartProps<WlinebarConfig>): ChartProps<WlinebarConfig>;
    rawLineData: DataAdapterData[];
    lineView: View;
    rawBarData: DataAdapterData[];
    barView: View;
    init(chart: Chart, config: WlinebarConfig, data: ChartData): void;
    changeData(chart: Chart, config: WlinebarConfig, data: ChartData): void;
}
declare const Wlinebar: typeof Linebar;
export default Wlinebar;
interface BarConfig {
    barColors?: Colors;
    stack?: boolean;
    stackReverse?: boolean;
    marginRatio?: number;
    dodgeStack?: boolean;
    barLabel?: LabelConfig | boolean;
    barGeomStyle?: GeomStyleConfig;
    barSize?: GeomSizeConfig;
    barMinSize?: number;
    barMaxSize?: number;
    /** 默认宽度占比，interval类型和schema类型通用 */
    columnWidthRatio?: number;
    /** 组内间距 */
    dodgePadding?: 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;
}
