/**
 * Copyright (c) 2020, 2021, 2022, 2023 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, ILocalizationType, IHoverStyleType, IClickStyleType, IAxisType, IDataLabelType, ITooltipLabelType, IAccessibilityType, IAnimationConfig, ILegendType, ISeriesLabelType, ISecondaryLinesType, ISubTitleType } from '@visa/charts-types';
import 'd3-transition';
export declare class ParallelPlot {
  clickEvent: EventEmitter;
  hoverEvent: EventEmitter;
  mouseOutEvent: EventEmitter;
  initialLoadEvent: EventEmitter;
  initialLoadEndEvent: EventEmitter;
  drawStartEvent: EventEmitter;
  drawEndEvent: EventEmitter;
  transitionEndEvent: EventEmitter;
  mainTitle: string;
  subTitle: string | ISubTitleType;
  height: number;
  width: number;
  highestHeadingLevel: string | number;
  margin: IBoxModelType;
  padding: IBoxModelType;
  data: object[];
  uniqueID: string;
  localization: ILocalizationType;
  ordinalAccessor: string;
  valueAccessor: string;
  seriesAccessor: string;
  xAxis: IAxisType;
  yAxis: IAxisType;
  wrapLabel: boolean;
  showBaselineX: boolean;
  colorPalette: string;
  colors: string[];
  hoverStyle: IHoverStyleType;
  clickStyle: IClickStyleType;
  cursor: string;
  hoverOpacity: number;
  animationConfig: IAnimationConfig;
  strokeWidth: number;
  showDots: boolean;
  dotRadius: number;
  lineCurve: string;
  dataLabel: IDataLabelType;
  dataKeyNames: object;
  showTooltip: boolean;
  tooltipLabel: ITooltipLabelType;
  accessibility: IAccessibilityType;
  legend: ILegendType;
  annotations: object[];
  seriesLabel: ISeriesLabelType;
  maxValueOverride: number;
  minValueOverride: number;
  secondaryLines: ISecondaryLinesType;
  suppressEvents: boolean;
  hoverHighlight: object;
  clickHighlight: object[];
  interactionKeys: string[];
  unitTest: boolean;
  parallelChartEl: HTMLElement;
  shouldValidateAccessibility: boolean;
  shouldValidateLocalization: boolean;
  svg: any;
  root: any;
  rootG: any;
  gridG: any;
  parallelLineG: any;
  dotG: any;
  yEnter: any;
  yUpdate: any;
  yExit: any;
  line: any;
  seriesLabelG: any;
  x: any;
  y: any;
  nest: any;
  map: any;
  interpolating: any;
  innerHeight: number;
  innerWidth: number;
  innerPaddedHeight: number;
  innerPaddedWidth: number;
  innerXAxis: any;
  innerYAxis: any;
  innerLabelAccessor: any;
  defaults: boolean;
  duration: number;
  legendG: any;
  tooltipG: any;
  subTitleG: any;
  labels: any;
  colorArr: any;
  rawColors: any;
  textColors: any;
  multiYScale: any;
  scalesUsed: any;
  yGroup: any;
  extent: any;
  seriesInteraction: any;
  updated: boolean;
  enterSize: number;
  exitSize: number;
  enterLines: any;
  exitLines: any;
  updateLines: any;
  enterDotWrappers: any;
  updateDotWrappers: any;
  exitDotWrappers: any;
  enterDots: any;
  updateDots: any;
  exitDots: any;
  enteringLabelGroups: any;
  exitingLabelGroups: any;
  updatingLabelGroups: any;
  enteringLabels: any;
  exitingLabels: any;
  updatingLabels: any;
  seriesLabelEnter: any;
  seriesLabelUpdate: any;
  seriesLabelExit: any;
  tableData: any;
  tableColumns: any;
  time: {
    timehour: any;
    timeday: any;
    timeweek: any;
    timemonth: any;
    timeyear: any;
  };
  curveOptions: {
    linear: any;
    bumpX: any;
    bumpY: any;
    catmullRom: any;
  };
  chartID: string;
  innerInteractionKeys: any;
  labelDetails: any;
  seriesLabelCurrent: any;
  isRight: any;
  shouldUpdateXAxis: boolean;
  shouldUpdateYAxis: boolean;
  shouldUpdateXGrid: boolean;
  shouldUpdateYGrid: boolean;
  shouldValidate: boolean;
  shouldUpdateData: boolean;
  shouldSetDimensions: boolean;
  shouldUpdateScales: boolean;
  shouldUpdateTableData: boolean;
  shouldUpdateLabels: boolean;
  shouldUpdateAnnotations: boolean;
  shouldDrawInteractionState: boolean;
  shouldSetSelectionClass: boolean;
  shouldUpdateCursor: boolean;
  shouldSetColors: boolean;
  shouldSetSubTitle: boolean;
  shouldUpdateLines: boolean;
  shouldUpdatePoints: boolean;
  shouldUpdateLegend: boolean;
  shouldBindInteractivity: boolean;
  shouldUpdateLegendInteractivity: boolean;
  shouldResetRoot: boolean;
  shouldUpdateBaseline: boolean;
  shouldValidateInteractionKeys: boolean;
  shouldEnterUpdateExit: boolean;
  shouldSetGlobalSelections: boolean;
  shouldSetTestingAttributes: boolean;
  shouldSetLabelOpacity: boolean;
  shouldSetSeriesLabelOpacity: boolean;
  shouldSetLegendCursor: boolean;
  shouldAddStrokeUnder: boolean;
  shouldValidateSeriesLabels: boolean;
  shouldUpdateSeriesLabels: boolean;
  shouldUpdateColors: boolean;
  shouldUpdateStrokeWidth: boolean;
  shouldUpdateInterpolationData: boolean;
  shouldSetScaleUsed: boolean;
  shouldUpdateDotRadius: boolean;
  shouldUpdateDescriptionWrapper: boolean;
  shouldSetChartAccessibilityTitle: boolean;
  shouldSetChartAccessibilitySubtitle: boolean;
  shouldSetChartAccessibilityLongDescription: boolean;
  shouldSetChartAccessibilityExecutiveSummary: boolean;
  shouldSetChartAccessibilityStatisticalNotes: boolean;
  shouldSetChartAccessibilityStructureNotes: boolean;
  shouldSetParentSVGAccessibility: boolean;
  shouldSetGeometryAccessibilityAttributes: boolean;
  shouldSetGeometryAriaLabels: boolean;
  shouldSetGroupAccessibilityLabel: boolean;
  shouldSetChartAccessibilityPurpose: boolean;
  shouldSetChartAccessibilityContext: boolean;
  shouldRedrawWrapper: boolean;
  shouldSetTagLevels: boolean;
  shouldSetChartAccessibilityCount: boolean;
  shouldSetYAxisAccessibility: boolean;
  shouldSetXAxisAccessibility: boolean;
  shouldSetAnnotationAccessibility: boolean;
  shouldUpdateDashPatterns: boolean;
  shouldValidateDataLabelAccessor: boolean;
  shouldSetLocalizationConfig: boolean;
  topLevel: string;
  bottomLevel: string;
  strokes: any;
  b: string;
  short: string;
  med: string;
  long: string;
  dashPatterns: any;
  bitmaps: any;
  hiddenHash: object;
  collisionSettings: object;
  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;
  dimensionWatcher(_newVal: any, _oldVal: any): void;
  seriesAccessorWatcher(_newVal: any, _oldVal: any): void;
  ordinalAccessorWatcher(_newVal: any, _oldVal: any): void;
  valueAccessorWatcher(_newVal: any, _oldVal: any): void;
  xAxisWatcher(_newVal: any, _oldVal: any): void;
  yAxisWatcher(_newVal: any, _oldVal: any): void;
  wrapLabelWatcher(_newVal: any, _oldVal: any): void;
  showBaselineXWatcher(_newVal: any, _oldVal: any): void;
  paletteWatcher(_newVal: any, _oldVal: any): void;
  colorsWatcher(_newVal: any, _oldVal: any): void;
  clickStyleWatcher(_newVal: any, _oldVal: any): void;
  hoverStyleWatcher(_newVal: any, _oldVal: any): void;
  cursorWatcher(_newVal: any, _oldVal: any): void;
  strokeWidthWatcher(_newVal: any, _oldVal: any): void;
  showDotsWatcher(_newVal: any, _oldVal: any): void;
  dotRadiusWatcher(_newVal: any, _oldVal: any): void;
  lineCurveWatcher(_newLineCurve: any, _oldLineCurve: any): void;
  hoverOpacityWatcher(_newVal: any, _oldVal: any): void;
  dataLabelWatcher(_newVal: any, _oldVal: any): void;
  seriesLabelWatcher(_newVal: any, _oldVal: any): void;
  tooltipLabelWatcher(_newVal: any, _oldVal: any): void;
  showTooltipWatcher(_newVal: any, _oldVal: any): void;
  accessibilityWatcher(_newVal: any, _oldVal: any): void;
  localizationWatcher(_newVal: any, _oldVal: any): void;
  legendWatcher(_newVal: any, _oldVal: any): void;
  annotationsWatcher(_newVal: any, _oldVal: any): void;
  valueOverrideWatcher(_newVal: any, _oldVal: any): void;
  secondaryLinesWatcher(_newVal: any, _oldVal: any): void;
  clickWatcher(_newVal: any, _oldVal: any): void;
  hoverWatcher(_newVal: any, _oldVal: any): void;
  interactionWatcher(_newVal: any, _oldVal: any): void;
  dataKeyNamesWatcher(_newVal: any, _oldVal: any): void;
  suppressWatcher(_newVal: any, _oldVal: any): void;
  unitTestWatcher(_newVal: any, _oldVal: any): void;
  componentWillLoad(): Promise<unknown>;
  componentWillUpdate(): Promise<unknown>;
  componentDidLoad(): Promise<CustomEvent<any>>;
  componentDidUpdate(): Promise<CustomEvent<any>>;
  shouldValidateLocalizationProps(): void;
  shouldValidateAccessibilityProps(): void;
  setDimensions(): void;
  validateInteractionKeys(): void;
  getLanguageString(): any;
  setLocalizationConfig(): void;
  setSubTitleElements(): void;
  setColors(): void;
  innerScopeDataKeys(): any;
  setTableData(): void;
  prepareData(): void;
  updateInterpolationData(): void;
  prepareScales(): void;
  validateDataLabelAccessor(): void;
  validateSeriesLabels(): void;
  setScaleUsed(): void;
  renderRootElements(): void;
  renderChartRootElemets(): void;
  reSetRoot(): void;
  setGlobalSelections(): void;
  setTestingAttributes(): void;
  drawXAxis(): void;
  enterYAxis(): void;
  exitYAxis(): void;
  drawYAxis(): void;
  setXAxisAccessibility(): void;
  setYAxisAccessibility(): void;
  drawBaseline(): void;
  drawXGrid(): void;
  drawYGrid(): void;
  enterChartLines(): void;
  updateChartLines(): void;
  exitChartLines(): void;
  drawChartLines(): void;
  dynamicY: (d: any) => any;
  interpolateDynamicY: (d: any) => any;
  enterPoints(): void;
  updatePoints(): void;
  exitPoints(): void;
  drawPoints(): void;
  enterSeriesLabels(): void;
  updateSeriesLabels(): void;
  exitSeriesLabels(): void;
  drawSeriesLabels(): void;
  enterDataLabels(): void;
  updateDataLabels(): void;
  exitDataLabels(): void;
  drawDataLabels(): void;
  updateInteractionState(): void;
  setSeriesLabelOpacity(): void;
  setLabelOpacity(): void;
  bindInteractivity(): void;
  addStrokeUnder(): void;
  handleDotStroke: (d: any, i: any, n: any) => any;
  handleLineStroke: (data: any, i: any) => any;
  handleSeriesTextFill: (data: any, i: any) => any;
  handleTextFill: (d: any, i: any, n: any) => any;
  updateColors(): void;
  updateCursor(): void;
  updateStrokeWidth(): void;
  calculateStrokeWidth: (data: any, useChildData?: any) => string | number;
  updateStrokePattern(): void;
  handleStrokeDasharray: (d: any, i: any) => any;
  updateDotRadius(): void;
  setSelectedClass(): void;
  drawAnnotations(): void;
  setAnnotationAccessibility(): void;
  setTagLevels(): void;
  setChartDescriptionWrapper(): void;
  setParentSVGAccessibility(): void;
  setGeometryAccessibilityAttributes(): void;
  setGeometryAriaLabels(): void;
  setGroupAccessibilityID(): void;
  setChartAccessibilityTitle(): void;
  setChartAccessibilitySubtitle(): void;
  setChartAccessibilityLongDescription(): void;
  setChartAccessibilityExecutiveSummary(): void;
  setChartAccessibilityPurpose(): void;
  setChartAccessibilityContext(): void;
  setChartAccessibilityStatisticalNotes(): void;
  setChartCountAccessibility(): void;
  setChartAccessibilityStructureNotes(): void;
  onChangeHandler(): void;
  onClickHandler(d: any, n: any): void;
  onHoverHandler(d: any, n: any): void;
  onSeriesHoverHandler(d: any, n: any): void;
  onMouseOutHandler(): void;
  setTooltipInitialStyle(): void;
  eventsTooltip({ data, evt, isToShow }: {
    data?: any;
    evt?: any;
    isToShow: boolean;
  }): void;
  bindLegendInteractivity(): void;
  setLegendCursor(): void;
  drawLegendElements(): void;
  render(): any;
  private init;
}
