import { TData } from "../Core/Common.types";
import type { TDefaultChartFormatOptionsType } from "../Core/DefaultProperties.types";
export type TMargin = {
    top: number;
    left: number;
    right: number;
    bottom: number;
};
export declare enum chartTypes {
    WaterfallChart = "WaterfallChart",
    StackLineChart = "StackLineChart",
    NormalizedStackLineChart = "NormalizedStackLineChart",
    LineChart = "LineChart",
    ColumnChart = "ColumnChart",
    StackColumnChart = "StackColumnChart",
    AreaChart = "AreaChart",
    PieChart = "PieChart",
    SankeyChart = "SankeyChart",
    DonutChart = "DonutChart",
    HorizontalBarChart = "HorizontalBarChart",
    StackAreaChart = "StackAreaChart",
    NormalizedStackAreaChart = "NormalizedStackAreaChart",
    Treemap = "Treemap",
    StackHorizontalBarChart = "StackHorizontalBarChart",
    NormalizedStackColumnChart = "NormalizedStackColumnChart",
    NormalizedStackHorizontalBarChart = "NormalizedStackHorizontalBarChart",
    ScatterChart = "ScatterChart",
    CustomColumnChart = "CustomColumnChart",
    customBarChart = "CustomBarChart",
    ColumnHistogramChart = "ColumnHistogramChart",
    HorizontalHistogramChart = "HorizontalHistogramChart",
    Maps = "Maps",
    TornadoChart = "TornadoChart",
    PieofPie = "PieofPie",
    WordCloud = "WordCloud",
    BubbleChart = "BubbleChart",
    VennChart = "VennChart",
    Speedometer = "Speedometer",
    LayeredColumnChart = "LayeredColumnChart",
    LayeredHorizontalBarChart = "LayeredHorizontalBarChart",
    OrganizationChart = "OrganizationChart",
    PyramidChart = "PyramidChart",
    ProgressChart = "ProgressChart",
    RadialBarChart = "RadialBarChart",
    CombinationLine = "CombinationLine",
    CombinationArea = "CombinationArea",
    CombinationStackArea = "CombinationStackArea",
    TornadoDefaultEntry = "defaultEntry",
    DotPlot = "DotPlot"
}
export type TChartProps = {
    data: TData;
    isDateType: boolean;
    chartId?: string;
    formatOptions?: TDefaultChartFormatOptionsType;
    isReportEditable?: any;
    isAdvancedAnalyticsWaterFall?: boolean;
    onDataLabelCoordinatesChange?: (coords: any[]) => void;
    addLocalFilterFromLib?: (clickedLegendData: any) => void;
};
export type TChartJSON = {
    dimensionList: string[];
    chartData: any[];
    formatOptions: TDefaultChartFormatOptionsType;
    chartType: string;
    legendList: any[];
    secondaryAxisDrawn: boolean;
    yMaxLeft: number;
    yMaxRight: number;
    yMinLeft: number;
    yMinRight: number;
    hideZeroValues: boolean;
    formattedDimensionListMap: Map<string, any>;
    xMax?: number;
    xMin?: number;
};
export interface IXaxisData {
    name: INameObject;
    dataType: string;
    dataSourceId: string;
    groupBy?: string;
}
export interface IYaxisData {
    name: INameObject;
    dataType?: string;
    dataSourceId: string;
    filterData: IFilterData[];
    legendData: ILegendData[];
}
export interface IFilterData {
    actualName: string;
    dataSourceId?: string;
    name: string;
    type: string;
}
export interface ILegendData {
    actualName: string;
    dataSourceId?: string;
    name: string;
    type: string;
}
export interface INameObject {
    actualName: string;
    dataSourceId?: string;
    name: string;
    type: string;
}
export interface ILineData {
    annotation?: number;
    axis?: string;
    color?: string;
    legend?: string;
    lineStyle?: string;
    type?: string;
    hideZeroValues?: boolean;
    legendUniqueId?: string;
    lineWidth?: number;
    markerColor?: string;
    markerShape?: string;
    markerSize?: number;
    maximumMeasure?: number;
    minimumMeasure?: number;
    seriesLabelVisibility?: boolean;
    fontStyle?: string[];
    borderColor?: string;
    disableConnector?: boolean;
    disableLineStyle?: boolean;
    actualChartType?: string;
    endColor?: string;
    stackBorderColor?: string;
    valueFontColor?: string;
    disableAnnotationPosition?: string;
    name?: string;
    startColor?: string;
    disableAnnotation?: boolean;
    labelFontSize?: number;
    labelColor?: string;
    borderStyle?: string;
    nodeWidth?: number;
    measureUniqueId?: string;
    stackBorderWidth?: number;
    dataLabelPosition?: string;
    disableMarkerShape?: boolean;
    disableMarkerColor?: boolean;
    borderRadius?: number;
    fontSize?: number;
    valueFont?: string;
    setColorScale?: boolean;
    connector?: number;
    areaBorderColor?: string;
    labelFontStyle?: string[];
    borderWidth?: number;
    secondaryAxisBgColor?: string;
    opacity?: number;
    fontFamily?: string;
    backgroundColor?: string;
    valueFontStyle?: string[];
    valueFontSize?: number;
    labelFontColor?: string;
    nodeHeight?: number;
    disableDataLabelPosition?: boolean;
    disableMarkerSize?: boolean;
    annotationPosition?: number;
    alias?: string;
    stackBorderStyle?: number;
    labelFont?: string;
    individualAnnotationVisibility?: string;
    currentMeasure?: string;
    currentLegend?: string;
    tooltip?: string;
    tooltipMeasure?: number;
}
