export declare enum staticLegendShape {
    rectangle = "rectangle",
    circle = "circle",
    hollowCircle = "hollowCircle",
    areaWithLine = "areaWithLine",
    line = "line",
    custom = "custom",
    none = "none"
}
export declare enum connectedStyle {
    "solid" = "unset",
    "dotted" = 2,
    "dashed" = 7
}
export declare enum staticLineStyle {
    "none" = "None",
    "solid" = "Solid",
    "dotted" = "Dotted",
    "dashed" = "Dashed"
}
export declare enum strokeLineCap {
    "butt" = "butt",
    "round" = "round",
    "square" = "square"
}
export declare enum axisTypes {
    "primary" = "Primary",
    "secondary" = "Secondary"
}
export declare enum visibilityCondition {
    "visible" = "visible",
    "hidden" = "hidden"
}
export declare const strokeDashValues = "20,10,5,5,5,10";
import * as d3 from "d3";
import * as d3Annotation from "d3-svg-annotation";
import { defaultChartFormatOptions } from "./DefaultProperties.types";
export type TTextMeasureOptions = {
    content: string;
    fontSize?: number;
    fontFamily?: string;
    rotationDegree?: number;
    fixedWidth?: number;
};
export type TTextDimensions = {
    width: number;
    height: number;
    rotatedWidth: number;
    rotatedHeight: number;
};
export type TDefaultChartFormatOptionsType = typeof defaultChartFormatOptions;
export interface ICustomArcDatum extends d3.DefaultArcObject {
    x0: number;
    x1: number;
    y0: number;
    y1: number;
    depth: number;
    data: TSeries;
}
export type TNode = {
    height: any;
    parent: any;
    value: any;
    x0: number;
    x1: number;
    y0: number;
    y1: number;
    depth: number;
    data: TSeries;
};
export type TLegendEntry = {
    color?: string;
    name?: string;
    type?: string;
    axis?: string;
    alias?: string;
    fontSize?: number;
    fontStyle?: string[];
    fontFamily?: string;
    labelColor?: string;
    markerShape?: string;
    markerColor?: string;
    lineWidth?: number;
    lineStyle?: string;
    markerSize?: number;
    opacity?: number;
    annotation?: number;
    disableAnnotation?: boolean;
    connector?: number;
    disableConnector?: boolean;
    measureUniqueId?: string;
    legendUniqueId?: string;
    borderStyle?: string;
    borderWidth?: number;
    borderRadius?: number;
    borderColor?: string;
    labelFontSize?: number;
    labelFontStyle?: string[];
    labelFont?: string;
    labelFontColor?: string;
    valueFontSize?: number;
    valueFontStyle?: string[];
    valueFont?: string;
    valueFontColor?: string;
    backgroundColor?: string;
    nodeHeight?: number;
    nodeWidth?: number;
    dataLabelPosition?: string;
    secondaryAxisBgColor?: string;
    actualChartType?: string;
    hideZeroValues?: boolean;
    stackBorderWidth?: number;
    stackBorderColor?: string;
    stackBorderStyle?: number;
    seriesLabelVisibility?: boolean;
    totalValue?: number;
    currentMeasure?: string;
    legend?: string;
    dimensions?: string[];
    maximumMeasure?: number;
    measures?: number[];
    minimumMeasure?: number;
    disableLineStyle?: boolean;
    endColor?: string;
    disableAnnotationPosition?: boolean;
    startColor?: string;
    disableMarkerShape?: boolean;
    disableMarkerColor?: boolean;
    setColorScale?: boolean;
    areaBorderColor?: string;
    disableDataLabelPosition?: boolean;
    disableMarkerSize?: boolean;
    annotationPosition?: number;
    individualAnnotationVisibility?: string;
    currentLegend?: string;
    tooltip?: string;
    tooltipMeasure?: number;
    themeColor?: string;
    lableFontColor?: string;
};
export declare const ConnecterCurve: {
    "1": string;
    "2": d3.CurveFactory;
    "3": d3.CurveFactory;
};
export declare const AnnotationTypeMap: {
    1: typeof d3Annotation.annotationLabel;
    2: typeof d3Annotation.annotationLabel;
    3: typeof d3Annotation.annotationCallout;
    4: typeof d3Annotation.annotationCalloutElbow;
    5: typeof d3Annotation.annotationCalloutCurve;
};
export declare const ConnectedStyle: {
    solid: string;
    Dotted: string;
    Dashed: string;
};
export type TChartMargins = {
    top: number;
    right: number;
    bottom: number;
    left: number;
};
export type TPieOfPieSeries = {
    legend: string;
    data: TDataPoint[];
    children?: TPieOfPieSeries[];
};
export type TAnnotationObject = {
    note: {
        title: string;
        label: string;
        align: string;
    };
    data: {
        x: number;
        y: number;
        legend: string;
        dimension: string;
        measure: number;
        labelFontFamily: string;
        labelFontColor: string;
        labelFontSize: number;
        labelFontStyle: string[];
        valueFontFamily: string;
        valueFontColor: string;
        valueFontSize: number;
        valueFontStyle: string[];
        isVisible: boolean;
    };
    dx: number;
    dy: number;
    connector: {
        end: string;
        curve: d3.CurveFactory;
    };
    disable?: string[];
    subject: {
        height: number;
        width: number;
    };
    type: d3Annotation.annotationLabel<any>;
    color: string;
    height: number;
    width: number;
    index: number;
};
export declare enum staticLegendPosition {
    "left" = "Left",
    "right" = "Right",
    "top" = "Top",
    "bottom" = "Bottom",
    "none" = "None"
}
export declare enum staticDisplayUnits {
    "thousands" = "Thousands",
    "millions" = "Millions",
    "billions" = "Billions",
    "none" = "None"
}
export declare enum staticNumberUnits {
    "percentage" = ",.0%",
    "general" = "",
    "scientific" = ".2n",
    "currency_USD" = ".2$",
    "currency_CAD" = ".2c",
    "currency_EUR" = ".2\u0113",
    "currency_CHF" = ".2ch",
    "currency_UK" = ".2\u00A3",
    "currency_INR" = ".2\u20B9",
    "commaSeparated" = ","
}
export declare enum staticDataLabelPositions {
    "top" = "1",
    "bottom" = "3",
    "middle" = "2"
}
export declare enum staticTotalAlignment {
    "start" = "1",
    "middle" = "2",
    "end" = "3"
}
export declare enum staticTotalPosition {
    "top" = "1",
    "bottom" = "2"
}
export declare const colorThemeTypes: {
    none: string;
    discrete: string;
    colorTheme: string;
};
export declare const dataLabelPositionType: {
    automatic: string;
    startOnly: string;
    endOnly: string;
    startAndEndBoth: string;
    none: string;
};
export declare enum connectorKPIforSpeedometerType {
    PointerValue = "1",
    Absolute = "2",
    CAGR = "3",
    PercentageGrowth = "4"
}
export declare const legendColorMode: {
    singleColor: string;
    multiColor: string;
};
export declare const fontStyleOptions: {
    underline: string;
    bold: string;
    italic: string;
    normal: string;
};
export declare enum verticalLegendAllignment {
    top = "Top",
    middle = "Middle",
    bottom = "Bottom"
}
export declare enum horizontalLegendAllignment {
    start = "Start",
    middle = "Middle",
    end = "End"
}
export type TSeries = {
    legendUniqueId: any;
    Type: any;
    Axis: any;
    AxisDataList: any;
    legend: string;
    data: TDataPoint[];
    properties?: TLegendEntry;
};
export type TData = {
    IsadvanceanalyticsChart?: any;
    IsCalCSensitivity?: any;
    ChartData: TSeries[];
    DimensionList: string[];
    LegendList: any[];
};
export type TDataPoint = {
    lineStyle: string;
    alias: string;
    markerColor: string;
    markerSize: number;
    markerShape: string;
    0?: number;
    1?: number;
    dimension: string;
    value: number;
    legend: string;
    hideZero?: boolean;
    axis?: string;
    legendUniqueId?: string;
    key?: string;
    type?: string;
    labelPosition?: string;
    labelColor?: string;
    lineWidth?: number;
    lineColor?: string;
};
export interface ICustomArcDatum extends d3.DefaultArcObject {
    x0: number;
    x1: number;
    y0: number;
    y1: number;
    depth: number;
    data: TSeries;
}
export interface IMapsProps {
    chartId: string;
    data: TSeries[];
    geoJsonNode: TGeoJsonNode;
    formatOptions: TDefaultChartFormatOptionsType;
}
type TGeoJsonNode = {
    dimensionName: string;
    mappings: {
        actualName: string;
        mappedName: string;
    }[];
    dimensionNode: TDimensionNode;
    groups: {
        groupName: string;
        groupedRegions: string[];
    }[];
};
type TDimensionNode = {
    "actualName": string;
    "dataType": string;
    "name": string;
    "datasourceId": string;
    "isVisible": boolean;
    "type": string;
    "datasourceName": string;
};
export type TLegendsFormatting = {
    color?: string;
    name?: string;
    alias?: string;
    fontSize?: number;
    fontStyle?: string[];
    fontFamily?: string;
    markerShape?: string;
    markerColor?: string;
    actualChartType?: string;
};
export type TBubbleChartProps = {
    chartId?: string;
    clientWidth: number;
    clientHeight: number;
    data: any;
    legendEntries?: TLegendsFormatting[];
    formatOptions?: TDefaultChartFormatOptionsType;
    addLocalFilterFromLib?: (clickedLegendData: any) => void;
};
export declare const referenceLineTypes: {
    None: string;
    Mean: string;
    Median: string;
    Custom: string;
};
export type TScatterChartProps = {
    chartId: string;
    clientWidth: number;
    clientHeight: number;
    data: any;
    shapesList: TLegendsFormatting[];
    colorsList: TLegendsFormatting[];
    formatOptions: TDefaultChartFormatOptionsType;
};
export declare enum commonColors {
    white = "#ffffff",
    black = "#000000",
    transparent = "#FFFFFF00"
}
export declare enum tornadoEntryName {
    positive = "Positive",
    negative = "Negative",
    default = "defaultEntry"
}
export declare enum waterfallKeys {
    total = "Total",
    base = "base",
    dimensionTotal = "dimensionTotal",
    up = "up",
    down = "down"
}
export declare const effectsMap: Record<string, any>;
export {};
