import * as React from "react";
import { ChartType } from "../../../constants/visualizationTypes";
import { IDataSourceProviderInjectedProps } from "../../afm/DataSourceProvider";
import { ICommonVisualizationProps, ILoadingInjectedProps } from "./VisualizationLoadingHOC";
import { Requireable } from "../../../proptypes/Chart";
import { BaseVisualization } from "./BaseVisualization";
import { OnLegendReady } from "../../../interfaces/Events";
import { IChartConfig } from "../../../interfaces/Config";
export { Requireable };
export interface ICommonChartProps extends ICommonVisualizationProps {
    config?: IChartConfig;
    height?: number;
    environment?: string;
}
export declare type IChartProps = ICommonChartProps & IDataSourceProviderInjectedProps;
export interface IBaseChartProps extends IChartProps {
    type: ChartType;
    visualizationComponent?: React.ComponentClass<any>;
    onLegendReady?: OnLegendReady;
}
export declare class StatelessBaseChart extends BaseVisualization<IBaseChartProps & ILoadingInjectedProps, {}> {
    static defaultProps: Partial<IBaseChartProps & ILoadingInjectedProps>;
    static propTypes: {
        dataSource: import("prop-types").Validator<any>;
        locale: Requireable<any>;
        height: Requireable<any>;
        drillableItems: Requireable<any>;
        environment: Requireable<any>;
        onLegendReady: Requireable<any>;
        onError: Requireable<any>;
        onLoadingChanged: Requireable<any>;
        onLoadingFinish: Requireable<any>;
        afterRender: Requireable<any>;
        pushData: Requireable<any>;
        config: Requireable<any>;
    };
    renderVisualization(): JSX.Element;
}
export declare const BaseChart: React.ComponentClass<IBaseChartProps, any>;
