/**
 * Copyright (c) 2020, 2021 Visa, Inc.
 *
 * This source code is licensed under the MIT license
 * https://github.com/visa/visa-chart-components/blob/master/LICENSE
 *
 **/
import { EventEmitter } from '../../stencil-public-runtime';
import { IBoxModelType, IHoverStyleType, IClickStyleType, IAxisType, IReferenceStyleType, IFocusStyleType, IBarStyleType, IMarkerStyleType, ISeriesLabelType, IDifferenceLabelType, IDataLabelType, ITooltipLabelType, IAccessibilityType, ILegendType } from '@visa/charts-types';
import 'd3-transition';
export declare class DumbbellPlot {
    clickFunc: EventEmitter;
    hoverFunc: EventEmitter;
    mouseOutFunc: EventEmitter;
    mainTitle: string;
    subTitle: string;
    height: number;
    width: number;
    margin: IBoxModelType;
    padding: IBoxModelType;
    highestHeadingLevel: string | number;
    data: object[];
    uniqueID: string;
    ordinalAccessor: string;
    valueAccessor: string;
    seriesAccessor: string;
    sortOrder: string;
    xAxis: IAxisType;
    yAxis: IAxisType;
    wrapLabel: boolean;
    layout: string;
    showBaselineX: boolean;
    showBaselineY: boolean;
    colorPalette: string;
    colors: string[];
    hoverStyle: IHoverStyleType;
    hoverOpacity: number;
    clickStyle: IClickStyleType;
    referenceStyle: IReferenceStyleType;
    cursor: string;
    focusMarker: IFocusStyleType;
    marker: IMarkerStyleType;
    barStyle: IBarStyleType;
    dataLabel: IDataLabelType;
    seriesLabel: ISeriesLabelType;
    differenceLabel: IDifferenceLabelType;
    showTooltip: boolean;
    tooltipLabel: ITooltipLabelType;
    accessibility: IAccessibilityType;
    legend: ILegendType;
    annotations: object[];
    maxValueOverride: number;
    minValueOverride: number;
    referenceLines: object[];
    suppressEvents: boolean;
    hoverHighlight: object;
    clickHighlight: object[];
    interactionKeys: string[];
    unitTest: boolean;
    dumbbellPlotEl: HTMLElement;
    shouldValidateAccessibility: boolean;
    svg: any;
    root: any;
    rootG: any;
    gridG: any;
    defs: any;
    x: any;
    y: any;
    nest: any;
    map: any;
    innerHeight: number;
    innerWidth: number;
    innerPaddedHeight: number;
    innerPaddedWidth: number;
    innerXAxis: any;
    innerYAxis: any;
    baselineG: any;
    references: any;
    defaults: boolean;
    duration: number;
    enter: any;
    exit: any;
    update: any;
    enterMarkers: any;
    updateMarkers: any;
    exitMarkers: any;
    enteringLabels: any;
    exitingLabels: any;
    updatingLabels: any;
    enterSeriesLabel: any;
    updateSeriesLabel: any;
    exitSeriesLabel: any;
    enterDiffLabel: any;
    updateDiffLabel: any;
    exitDiffLabel: any;
    enterLabels: any;
    updateLabels: any;
    enterLabelChildren: any;
    updateLabelChildren: any;
    exitLabelChildren: any;
    exitLabels: any;
    enterSize: number;
    exitSize: number;
    legendG: any;
    tooltipG: any;
    legendData: any;
    ordinalLabel: any;
    labels: any;
    dumbbellG: any;
    colorArr: any;
    rawColors: any;
    textColors: any;
    markerData: any;
    xAccessor: any;
    yAccessor: any;
    placement: string;
    layoutOverride: any;
    seriesLabelDetails: any;
    diffLabelDetails: any;
    diffLabelWrapper: any;
    isVertical: boolean;
    seriesInteraction: any;
    dumbbellInteraction: any;
    innerInteractionKeys: any;
    innerLabelAccessor: string;
    url: string;
    tableData: any;
    tableColumns: any;
    updated: boolean;
    time: {
        timemillisecond: any;
        timesecond: any;
        timeminute: any;
        timehour: any;
        timeday: any;
        timeweek: any;
        timemonth: any;
        timeyear: any;
    };
    chartID: string;
    markerG: any;
    seriesData: any;
    seriesLabelWrapper: any;
    shouldUpdateLayout: boolean;
    shouldValidate: boolean;
    shouldUpdateAnnotations: boolean;
    shouldUpdateReferenceLines: boolean;
    shouldResetRoot: boolean;
    shouldUpdateXAxis: boolean;
    shouldUpdateXGrid: boolean;
    shouldUpdateYAxis: boolean;
    shouldUpdateYGrid: boolean;
    shouldUpdateScales: boolean;
    shouldUpdateBaseline: boolean;
    shouldCheckValueAxis: boolean;
    shouldCheckLabelAxis: boolean;
    shouldSetColors: boolean;
    shouldUpdateLegend: boolean;
    shouldSetGlobalSelections: boolean;
    shouldSetSeriesSelections: boolean;
    shouldSetTestingAttributes: boolean;
    shouldUpdateData: boolean;
    shouldEnterUpdateExit: boolean;
    shouldEnterUpdateExitMarkers: boolean;
    shouldUpdateMarkerOpacity: boolean;
    shouldUpdateGeometries: boolean;
    shouldUpdateSeriesLabels: boolean;
    shouldUpdateDifferenceLabels: boolean;
    shouldUpdateLabels: boolean;
    shouldValidateInteractionKeys: boolean;
    shouldUpdateTableData: boolean;
    shouldValidateDataLabelPlacement: boolean;
    shouldValidateDataLabelAccessor: boolean;
    shouldAddStrokeUnder: boolean;
    shouldUpdateBaselineX: boolean;
    shouldUpdateBaselineY: boolean;
    shouldUpdateLegendData: boolean;
    shouldUpdateMarkerIDs: boolean;
    shouldValidateLayout: boolean;
    shouldValidateSeriesLabelPlacement: boolean;
    shouldValidateDiffLabelPlacement: boolean;
    shouldBindInteractivity: boolean;
    shouldBindLegendInteractivity: boolean;
    shouldBindSeriesInteractivity: boolean;
    shouldUpdateCursor: boolean;
    shouldSetLegendCursor: boolean;
    shouldSetSeriesCursor: boolean;
    shouldSetLabelOpacity: boolean;
    shouldSetSeriesLabelOpacity: boolean;
    shouldSetDifferenceLabelOpacity: boolean;
    shouldSetSelectionClass: boolean;
    shouldDrawInteractionState: boolean;
    shouldRenderMarkerGroup: boolean;
    shouldUpdateBarStyle: boolean;
    shouldUpdateMarkerSize: boolean;
    shouldUpdateDiffLabelColor: boolean;
    shouldUpdateMarkerStyle: boolean;
    shouldDrawMarkerGeometries: boolean;
    shouldUpdateMarkerData: boolean;
    shouldUpdateSeriesData: boolean;
    shouldUpdateDescriptionWrapper: boolean;
    shouldSetChartAccessibilityTitle: boolean;
    shouldSetChartAccessibilitySubtitle: boolean;
    shouldSetChartAccessibilityLongDescription: boolean;
    shouldSetChartAccessibilityExecutiveSummary: boolean;
    shouldSetChartAccessibilityStatisticalNotes: boolean;
    shouldSetChartAccessibilityStructureNotes: boolean;
    shouldSetParentSVGAccessibility: boolean;
    shouldSetGeometryAccessibilityAttributes: boolean;
    shouldSetGeometryAriaLabels: boolean;
    shouldSetGroupAccessibilityAttributes: boolean;
    shouldSetGroupAccessibilityLabel: boolean;
    shouldSetChartAccessibilityPurpose: boolean;
    shouldSetChartAccessibilityContext: boolean;
    shouldRedrawWrapper: boolean;
    shouldSetTagLevels: boolean;
    shouldSetChartAccessibilityCount: boolean;
    shouldSetYAxisAccessibility: boolean;
    shouldSetXAxisAccessibility: boolean;
    shouldSetAnnotationAccessibility: boolean;
    topLevel: string;
    bottomLevel: string;
    strokes: any;
    mainTitleWatcher(_newData: any, _oldData: any): void;
    subTitleWatcher(_newData: any, _oldData: any): void;
    dimensionWatcher(_newVal: any, _oldVal: any): void;
    dataWatcher(_newData: any, _oldData: any): void;
    idWatcher(newID: any, _oldID: any): void;
    headingWatcher(_newVal: any, _oldVal: any): void;
    ordinalAccessorWatcher(_newVal: any, _oldVal: any): void;
    valueAccessorWatcher(_newVal: any, _oldVal: any): void;
    seriesAccessorWatcher(_newVal: any, _oldVal: any): void;
    sortWatcher(_newVal: any, _oldVal: any): void;
    xAxisWatcher(_newVal: any, _oldVal: any): void;
    yAxisWatcher(_newVal: any, _oldVal: any): void;
    wrapLabelWatcher(_newVal: any, _oldVal: any): void;
    layoutWatcher(_newVal: any, _oldVal: any): void;
    showBaselineXWatcher(_newVal: any, _oldVal: any): void;
    showBaselineYWatcher(_newVal: any, _oldVal: any): void;
    paletteWatcher(_newVal: any, _oldVal: any): void;
    hoverStyleWatcher(_newVal: any, _oldVal: any): void;
    clickStyleWatcher(_newVal: any, _oldVal: any): void;
    hoverOpacityWatcher(_newVal: any, _oldVal: any): void;
    cursorWatcher(_newVal: any, _oldVal: any): void;
    focusMarkerWatcher(_newVal: any, _oldVal: any): void;
    markerWatcher(_newVal: any, _oldVal: any): void;
    barStyleWatcher(_newVal: any, _oldVal: any): void;
    dataLabelWatcher(_newVal: any, _oldVal: any): void;
    seriesLabelWatcher(_newVal: any, _oldVal: any): void;
    differenceLabelWatcher(_newVal: any, _oldVal: any): void;
    showTooltipWatcher(_newVal: any, _oldVal: any): void;
    tooltipLabelWatcher(_newVal: any, _oldVal: any): void;
    accessibilityWatcher(_newVal: any, _oldVal: any): void;
    legendWatcher(_newVal: any, _oldVal: any): void;
    annotationsWatcher(_newVal: any, _oldVal: any): void;
    valueOverrideWatcher(_newVal: any, _oldVal: any): void;
    referenceWatcher(_newVal: any, _oldVal: any): void;
    suppressWatcher(_newVal: any, _oldVal: any): void;
    hoverWatcher(_newVal: any, _oldVal: any): void;
    clickWatcher(_newVal: any, _oldVal: any): void;
    interactionWatcher(_newVal: any, _oldVal: any): void;
    unitTestWatcher(_newVal: any, _oldVal: any): void;
    componentWillLoad(): Promise<unknown>;
    componentWillUpdate(): Promise<unknown>;
    componentDidLoad(): Promise<unknown>;
    componentDidUpdate(): Promise<unknown>;
    shouldValidateAccessibilityProps(): void;
    validateInteractionKeys(): void;
    validateDataLabelAccessor(): void;
    validateLayout(): void;
    validateDataLabelPlacement(): void;
    validateSeriesLabelPlacement(): void;
    validateDiffLabelPlacement(): void;
    checkIfSafari(): void;
    setColors(): void;
    setLayoutData(): void;
    setTableData(): void;
    prepareData(): void;
    prepareMarkerData(): void;
    prepareSeriesData(): void;
    prepareLegendData(): void;
    prepareScales(): void;
    addStrokeUnder(): void;
    renderRootElements(): void;
    renderMarkerGroup(): void;
    setSeriesSelections(): void;
    setGlobalSelections(): void;
    setTestingAttributes(): void;
    reSetRoot(): void;
    drawXAxis(): void;
    drawYAxis(): void;
    setXAxisAccessibility(): void;
    setYAxisAccessibility(): void;
    drawBaselineX(): void;
    drawBaselineY(): void;
    drawXGrid(): void;
    drawYGrid(): void;
    enterMarkerGeometries(): void;
    updateMarkerGeometries(): void;
    updateMarkerStyle(): void;
    exitMarkerGeometries(): void;
    enterDumbbells(): void;
    updateBarStyle(): void;
    handleMarkerColors: (d: any, i: any, n: any) => any;
    handleSeriesLabelColors: (d: any, i: any) => any;
    handleLabelColors: (d: any, i: any) => any;
    handleBarColors: (d: any, i: any, n: any) => any;
    handleBarOpacity: (d: any, i: any, n: any) => number;
    updateMarkerSize(selection?: any): void;
    drawMarkerGeometries(): void;
    updateDumbbells(): void;
    exitDumbbells(): void;
    setBarSize: (d: any, i: any, n: any) => string;
    drawDumbbells(): void;
    updateMarkerIds(): void;
    updateInteractionState(): void;
    enterSeriesLabels(): void;
    updateSeriesLabels(): void;
    exitSeriesLabels(): void;
    drawSeriesLabels(): void;
    setSeriesLabelOpacity(): void;
    enterDifferenceLabels(): void;
    updateDifferenceLabels(): void;
    exitDifferenceLabels(): void;
    drawDifferenceLabels(): void;
    enterDataLabels(): void;
    setDifferenceLabelOpacity(): void;
    updateDataLabels(): void;
    exitDataLabels(): void;
    drawDataLabels(interactionOverride?: any): void;
    updateDiffLabelColor(): void;
    setDiffLabelColor: (d: any) => any;
    setLabelOpacity(): void;
    updateMarkerOpacity(): void;
    drawReferenceLines(): void;
    setSelectedClass(): void;
    drawAnnotations(): void;
    setAnnotationAccessibility(): void;
    setTagLevels(): void;
    setChartDescriptionWrapper(): void;
    setParentSVGAccessibility(): void;
    setGeometryAccessibilityAttributes(): void;
    setGeometryAriaLabels(): void;
    setGroupAccessibilityAttributes(): void;
    setGroupAccessibilityLabel(): void;
    setChartAccessibilityTitle(): void;
    setChartAccessibilitySubtitle(): void;
    setChartAccessibilityLongDescription(): void;
    setChartAccessibilityExecutiveSummary(): void;
    setChartAccessibilityPurpose(): void;
    setChartAccessibilityContext(): void;
    setChartAccessibilityStatisticalNotes(): void;
    setChartCountAccessibility(): void;
    setChartAccessibilityStructureNotes(): void;
    onChangeHandler(): void;
    onClickHandler(d: any): void;
    onHoverHandler(d: any, hasTooltip: any): void;
    onMouseOutHandler(): void;
    setTooltipInitialStyle(): void;
    eventsTooltip({ data, evt, isToShow }: {
        data?: any;
        evt?: any;
        isToShow: boolean;
    }): void;
    updateCursor(): void;
    drawLegendElements(): void;
    bindLegendInteractivity(): void;
    setLegendCursor(): void;
    setSeriesCursor(): void;
    bindSeriesInteractivity(): void;
    bindInteractivity(): void;
    findMarkerIndex(data: any, node: any, mouseEvent: any): number;
    findPosition(node: any, mouseEvent: any): any[];
    generateId(d: any, i: any): string;
    render(): any;
    private init;
}
