import { GraphType, IMetric } from "../../core/Metric/type";
import React from "react";
import { TooltipProps } from "recharts";
import { NameType, Payload, ValueType } from "recharts/types/component/DefaultTooltipContent";
import { AxisDomain } from "recharts/types/util/types";
export interface IChartProps<TValue extends ValueType = string, TName extends NameType = number> {
    metricName: string;
    yAxisAlign?: "left" | "right";
    showXAxis?: boolean;
    showLegend?: boolean;
    syncId: string;
    height: number;
    type: GraphType;
    mode?: "simple" | "legend" | "single";
    averageLine?: boolean;
    dropdown?: React.ReactNode;
    onLabelsChange?: (labels: string[]) => void;
    metric: IMetric;
    yAxisProps?: {
        domain?: AxisDomain;
        ticks?: (string | number)[];
        tickFormatter?: (value: any, index: number) => string;
    };
    xAxisProps?: {
        domain?: AxisDomain;
        ticks?: (string | number)[];
        tickFormatter?: (value: any, index: number) => string;
    };
    actionsProps?: {
        show?: boolean;
        info: {
            current: string;
            max: string;
        };
    };
    tooltipProps: TooltipProps<TValue, TName> & {
        format?: (payload: Payload<number, string>) => string;
    };
}
declare const RenderChart: (props: IChartProps) => React.JSX.Element;
export default RenderChart;
