/**
 * 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 'd3-transition';
import { IBoxModelType, IHoverStyleType, IClickStyleType, IAxisType, IReferenceStyleType, IDataLabelType, ITooltipLabelType, IAccessibilityType, ILegendType } from '@visa/charts-types';
export declare class ScatterPlot {
    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;
    xAccessor: string;
    yAccessor: string;
    groupAccessor: string;
    xAxis: IAxisType;
    yAxis: IAxisType;
    showBaselineX: boolean;
    showBaselineY: boolean;
    colorPalette: string;
    colors: string[];
    dotRadius: number;
    dotOpacity: number;
    hoverStyle: IHoverStyleType;
    clickStyle: IClickStyleType;
    referenceStyle: IReferenceStyleType;
    cursor: string;
    hoverOpacity: number;
    fitLineStyle: IReferenceStyleType;
    dotSymbols: string[];
    dataLabel: IDataLabelType;
    showTooltip: boolean;
    tooltipLabel: ITooltipLabelType;
    accessibility: IAccessibilityType;
    legend: ILegendType;
    annotations: object[];
    xMaxValueOverride: number;
    xMinValueOverride: number;
    yMaxValueOverride: number;
    yMinValueOverride: number;
    showFitLine: boolean;
    referenceLines: object[];
    suppressEvents: boolean;
    hoverHighlight: object;
    clickHighlight: object[];
    interactionKeys: string[];
    unitTest: boolean;
    scatterChartEl: HTMLElement;
    shouldValidateAccessibility: boolean;
    svg: any;
    root: any;
    rootG: any;
    dotG: any;
    gridG: any;
    fitLine: any;
    references: any;
    legendG: any;
    tooltipG: any;
    colorArr: any;
    x: any;
    y: any;
    nest: any;
    symbol: any;
    innerHeight: number;
    innerWidth: number;
    innerPaddedHeight: number;
    innerPaddedWidth: number;
    xMin: any;
    xMax: any;
    yMin: any;
    yMax: any;
    defaults: boolean;
    current: any;
    enterPointWrappers: any;
    exitPointWrappers: any;
    updatePointWrappers: any;
    enterPoints: any;
    exitPoints: any;
    updatePoints: any;
    enteringLabelGroups: any;
    exitingLabelGroups: any;
    updatingLabelGroups: any;
    enterLabels: any;
    updateLabels: any;
    exitLabels: any;
    innerClickStyle: any;
    innerHoverStyle: any;
    innerLabelAccessor: string;
    duration: any;
    labels: any;
    labelG: any;
    tableData: any;
    tableColumns: any;
    updated: boolean;
    enterSize: number;
    exitSize: number;
    chartID: string;
    dotColor: any;
    textColor: any;
    rawColors: any;
    textColorArr: any;
    innerInteractionKeys: string[];
    shouldUpdateAnnotations: boolean;
    shouldResetRoot: boolean;
    shouldUpdateTableData: boolean;
    shouldSetColors: boolean;
    shouldUpdateData: boolean;
    shouldUpdateScales: boolean;
    shouldValidate: boolean;
    shouldUpdateLayout: boolean;
    shouldEnterUpdateExit: boolean;
    shouldSetGlobalSelections: boolean;
    shouldSetTestingAttributes: boolean;
    shouldUpdateGeometries: boolean;
    shouldUpdateXAxis: boolean;
    shouldUpdateYAxis: boolean;
    shouldUpdateBaselineX: boolean;
    shouldUpdateBaselineY: boolean;
    shouldUpdateXGrid: boolean;
    shouldUpdateYGrid: boolean;
    shouldUpdateLegend: boolean;
    shouldUpdateReferenceLines: boolean;
    shouldDrawFitLine: boolean;
    shouldUpdateLabels: boolean;
    shouldAddStrokeUnder: boolean;
    shouldValidateClickStyle: boolean;
    shouldValidateHoverStyle: boolean;
    shouldValidateInteractionKeys: boolean;
    shouldValidateDataLabelAccessor: boolean;
    shouldSetSelectionClass: boolean;
    shouldUpdateCursor: boolean;
    shouldDrawInteractionState: boolean;
    shouldSetDotRadius: boolean;
    shouldBindInteractivity: boolean;
    shouldUpdateLegendInteractivity: boolean;
    shouldSetLegendCursor: boolean;
    shouldSetLabelOpacity: boolean;
    shouldSetPointOpacity: 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;
    shouldSetStrokes: boolean;
    topLevel: string;
    bottomLevel: string;
    filter: any;
    textFilter: any;
    strokes: any;
    dataWatcher(_newData: any, _oldData: any): void;
    idWatcher(newID: any, _oldID: any): void;
    headingWatcher(_newVal: any, _oldVal: any): void;
    titleWatcher(_newVal: any, _oldVal: any): void;
    subtitleWatcher(_newVal: any, _oldVal: any): void;
    layoutWatcher(_newVal: any, _oldVal: any): void;
    xAccessorWatcher(_newVal: any, _oldVal: any): void;
    yAccessorWatcher(_newVal: any, _oldVal: any): void;
    groupAccessorWatcher(_newVal: any, _oldVal: any): void;
    xAxisWatcher(_newVal: any, _oldVal: any): void;
    yAxisWatcher(_newVal: any, _oldVal: any): void;
    showBaselineXWatcher(_newVal: any, _oldVal: any): void;
    showBaselineYWatcher(_newVal: any, _oldVal: any): void;
    colorsWatcher(_newVal: any, _oldVal: any): void;
    dotRadiusWatcher(_newVal: any, _oldVal: any): void;
    dotOpacityWatcher(_newVal: any, _oldVal: any): void;
    dotSymbolsWatcher(_newVal: any, _oldVal: any): void;
    hoverStyleWatcher(_newVal: any, _oldVal: any): void;
    clickStyleWatcher(_newVal: any, _oldVal: any): void;
    referenceWatcher(_newVal: any, _oldVal: any): void;
    fitLineStyleWatcher(_newVal: any, _oldVal: any): void;
    cursorWatcher(_newVal: any, _oldVal: any): void;
    hoverOpacityWatcher(_newVal: any, _oldVal: any): void;
    labelWatcher(_newVal: any, _oldVal: any): void;
    showTooltipWatcher(_newVal: any, _oldVal: any): void;
    tooltipLabelWatcher(_newVal: any, _oldVal: any): void;
    legendWatcher(_newVal: any, _oldVal: any): void;
    suppressWatcher(_newVal: any, _oldVal: any): void;
    annotationsWatcher(_newVal: any, _oldVal: any): void;
    accessibilityWatcher(_newVal: any, _oldVal: any): void;
    xValueOverrideWatcher(_newVal: any, _oldVal: any): void;
    yValueOverrideWatcher(_newVal: any, _oldVal: any): void;
    showFitLineWatcher(_newVal: any, _oldVal: any): void;
    clickWatcher(_newVal: any, _oldVal: any): void;
    hoverWatcher(_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;
    setLayoutData(): void;
    validateInteractionKeys(): void;
    validateDataLabelAccessor(): void;
    setTableData(): void;
    prepareData(): void;
    setColors: () => void;
    prepareScales(): void;
    validateHoverStyle(): void;
    validateClickStyle(): void;
    setStrokes(): void;
    addStrokeUnder(): void;
    textFillHandler: (d: any) => any;
    updateStrokeWidth(): void;
    handleDotStyle: (d: any, i: any, n: any) => any;
    renderRootElements(): void;
    setGlobalSelections(): void;
    setTestingAttributes(): void;
    enterPointGroups(): void;
    exitPointGroups(): void;
    drawPointGroups(): void;
    setDotRadius(): void;
    setSelectedClass(): void;
    updateCursor(): void;
    reSetRoot(): void;
    drawXAxis(): void;
    drawYAxis(): void;
    setXAxisAccessibility(): void;
    setYAxisAccessibility(): void;
    drawBaselineY(): void;
    drawBaselineX(): void;
    drawXGrid(): void;
    drawYGrid(): void;
    bindLegendInteractivity(): void;
    setLegendCursor(): void;
    bindInteractivity(): void;
    enterDataLabels(): void;
    updateDataLabels(): void;
    exitDataLabels(): void;
    drawDataLabels(): void;
    updateInteractionState(): void;
    setPointOpacity(): void;
    setLabelOpacity(): void;
    drawFitLine(): void;
    drawReferenceLines(): void;
    drawAnnotations(): void;
    setAnnotationAccessibility(): void;
    setTagLevels(): void;
    setChartDescriptionWrapper(): void;
    setParentSVGAccessibility(): void;
    setGeometryAccessibilityAttributes(): void;
    setGeometryAriaLabels(): void;
    setGroupAccessibilityLabel(): void;
    setChartAccessibilityTitle(): void;
    setChartAccessibilitySubtitle(): void;
    setChartAccessibilityLongDescription(): void;
    setChartAccessibilityExecutiveSummary(): void;
    setChartAccessibilityPurpose(): void;
    setChartAccessibilityContext(): void;
    setChartAccessibilityStatisticalNotes(): void;
    setChartCountAccessibility(): void;
    setChartAccessibilityStructureNotes(): void;
    drawLegendElements(): void;
    onChangeHandler(): void;
    onClickHandler(d: any): void;
    onHoverHandler(d: any, isLegend?: any): void;
    onMouseOutHandler(): void;
    setTooltipInitialStyle(): void;
    eventsTooltip({ data, evt, isToShow }: {
        data?: any;
        evt?: any;
        isToShow: boolean;
    }): void;
    render(): any;
    private init;
}
