/**
 * 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, IReferenceStyleType, IDataLabelType, ITooltipLabelType, IAnimationConfig, IAccessibilityType, ISubTitleType } from '@visa/charts-types';
import 'd3-transition';
export declare class PieChart {
  clickEvent: EventEmitter;
  hoverEvent: EventEmitter;
  mouseOutEvent: EventEmitter;
  initialLoadEvent: EventEmitter;
  initialLoadEndEvent: EventEmitter;
  drawStartEvent: EventEmitter;
  drawEndEvent: EventEmitter;
  transitionEndEvent: EventEmitter;
  localization: ILocalizationType;
  mainTitle: string;
  subTitle: string | ISubTitleType;
  centerTitle: string;
  centerSubTitle: string;
  height: number;
  width: number;
  highestHeadingLevel: string | number;
  margin: IBoxModelType;
  padding: IBoxModelType;
  data: object[];
  uniqueID: string;
  ordinalAccessor: string;
  valueAccessor: string;
  sortOrder: string;
  colorPalette: string;
  colors: string[];
  innerRatio: number;
  showEdgeLine: boolean;
  hoverStyle: IHoverStyleType;
  clickStyle: IClickStyleType;
  referenceStyle: IReferenceStyleType;
  cursor: string;
  hoverOpacity: number;
  animationConfig: IAnimationConfig;
  showPercentage: boolean;
  showTooltip: boolean;
  showLabelNote: boolean;
  labelOffset: number;
  dataLabel: IDataLabelType;
  dataKeyNames: object;
  tooltipLabel: ITooltipLabelType;
  accessibility: IAccessibilityType;
  annotations: object[];
  referenceData: object[];
  suppressEvents: boolean;
  hoverHighlight: object;
  clickHighlight: object[];
  interactionKeys: string[];
  unitTest: boolean;
  pieChartEl: HTMLElement;
  shouldValidateAccessibility: boolean;
  shouldValidateLocalization: boolean;
  graphDataMerged: any;
  preppedData: any;
  svg: any;
  root: any;
  rootG: any;
  arc: any;
  edgeG: any;
  current: any;
  enter: any;
  exit: any;
  enteringLabels: any;
  exitingLabels: any;
  updatingLabels: any;
  enteringRefLabels: any;
  exitingRefLabels: any;
  updatingRefLabels: any;
  enteringLabelsNotes: any;
  exitingLabelsNotes: any;
  updatingLabelsNotes: any;
  enteringRefLabelsNotes: any;
  exitingRefLabelsNotes: any;
  updatingRefLabelsNotes: any;
  enteringEdges: any;
  exitingEdges: any;
  updatingEdges: any;
  update: any;
  updateRefPie: any;
  duration: number;
  defaults: boolean;
  innerWidth: number;
  innerHeight: number;
  innerPaddedHeight: number;
  innerPaddedWidth: number;
  radius: number;
  innerRadius: number;
  outerRadius: number;
  pie: any;
  pieBackground: any;
  pieG: any;
  placement: string;
  refArr: any;
  edges: any;
  refEdges: any;
  pieData: any;
  colorArr: any;
  preparedColors: any;
  refData: any;
  labelsCurrent: any;
  labelG: any;
  tooltipG: any;
  subTitleG: any;
  references: any;
  refLabelG: any;
  refLabelsCurrent: any;
  labelsCurrentNotes: any;
  refLabelsCurrentNotes: any;
  tableData: any;
  tableColumns: any;
  updated: boolean;
  enterSize: number;
  exitSize: number;
  chartID: string;
  innerInteractionKeys: any;
  shouldValidate: boolean;
  shouldUpdateCenterTitle: boolean;
  shouldUpdateTableData: boolean;
  shouldResetRoot: boolean;
  shouldUpdateLabels: boolean;
  shouldUpdateAnnotations: boolean;
  shouldUpdateData: boolean;
  shouldSetColors: boolean;
  shouldSetSubTitle: boolean;
  shouldUpdateCursor: boolean;
  shouldUpdateGeometries: boolean;
  shouldUpdateEdgeLines: boolean;
  shouldUpdateInnerRatio: boolean;
  shouldUpdateLayout: boolean;
  shouldSetPieRadius: boolean;
  shouldPrepareChartData: boolean;
  shouldUpdateReferenceLines: boolean;
  shouldValidateInteractionKeys: boolean;
  shouldSetGlobalSelections: boolean;
  shouldSetTestingAttributes: boolean;
  shouldEnterUpdateExit: boolean;
  shouldBindInteractivity: boolean;
  shouldSetSelectionClass: boolean;
  shouldDrawInteractionState: boolean;
  shouldSetLabelOpacity: boolean;
  shouldCheckLabelColor: boolean;
  shouldUpdateScales: 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;
  shouldSetAnnotationAccessibility: boolean;
  shouldSetTextures: boolean;
  shouldSetStrokes: boolean;
  shouldSetLocalizationConfig: boolean;
  strokes: any;
  topLevel: string;
  bottomLevel: string;
  bitmaps: any;
  titleWatcher(_newVal: any, _oldVal: any): void;
  subtitleWatcher(_newVal: any, _oldVal: any): void;
  headingWatcher(_newVal: any, _oldVal: any): void;
  centerTitleWatcher(_newVal: any, _oldVal: any): void;
  layoutWatcher(_newVal: any, _oldVal: any): void;
  dataWatcher(_newVal: any, _oldVal: any): void;
  idWatcher(newVal: any, _oldVal: any): void;
  ordinalAccessorWatcher(_newVal: any, _oldVal: any): void;
  valueAccessorWatcher(_newVal: any, _oldVal: any): void;
  sortWatcher(_newVal: any, _oldVal: any): void;
  paletteWatcher(_newVal: any, _oldVal: any): void;
  colorsWatcher(_newVal: any, _oldVal: any): void;
  innerRatioWatcher(_newVal: any, _oldVal: any): void;
  showEdgeLineWatcher(_newVal: any, _oldVal: any): void;
  referenceWatcher(_newVal: any, _oldVal: any): void;
  hoverOpacityWatcher(_newVal: any, _oldVal: any): void;
  cursorWatcher(_newVal: any, _oldVal: any): void;
  showPercentageWatcher(_newVal: any, _oldVal: any): void;
  showTooltipWatcher(_newVal: any, _oldVal: any): void;
  tooltipLabelWatcher(_newVal: any, _oldVal: any): void;
  labelWatcher(_newVal: any, _oldVal: any): void;
  labelNoteWatcher(_newVal: any, _oldVal: any): void;
  labelOffsetWatcher(_newVal: any, _oldVal: any): void;
  localizationWatcher(_newVal: any, _oldVal: any): void;
  accessibilityWatcher(_newVal: any, _oldVal: any): void;
  annotationsWatcher(_newVal: any, _oldVal: any): void;
  referenceDataWatcher(_newVal: any, _oldVal: any): void;
  suppressWatcher(_newVal: any, _oldVal: any): void;
  clickStyleWatcher(_newVal: any, _oldVal: any): void;
  hoverStyleWatcher(_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;
  unitTestWatcher(_newVal: any, _oldVal: any): void;
  componentWillLoad(): Promise<unknown>;
  componentWillUpdate(): Promise<unknown>;
  componentDidLoad(): Promise<CustomEvent<any>>;
  componentDidUpdate(): Promise<CustomEvent<any>>;
  shouldValidateLocalizationProps(): void;
  shouldValidateAccessibilityProps(): void;
  validateInteractionKeys(): void;
  getLanguageString(): any;
  setLocalizationConfig(): void;
  setLayoutData(): void;
  setPieRadius(): void;
  prepareData(): void;
  prepareScales(): void;
  setTableData(): void;
  setSubTitleElements(): void;
  setColors(): void;
  setTextures(): void;
  setStrokes(): void;
  setInnerRatio(): void;
  setTestingAttributes(): void;
  renderRootElements(): void;
  reSetRoot(): void;
  setGlobalSelections(): void;
  updateInteractionState(): void;
  setLabelOpacity(): void;
  checkLabelColorAgainstBackground(group: any): void;
  textTreatmentHandler: (d: any, i: any, n: any, specifiedPlacement?: any) => any;
  enterGeometries(): void;
  updateGeometries(): void;
  exitGeometries(): void;
  drawGeometries(): void;
  setSelectedClass(): void;
  drawReferenceLines(): void;
  enterLabels(group: any): void;
  updateLabels(group: any): void;
  exitLabels(group: any): void;
  drawDataLabels(group: any): void;
  drawCenterTitle(): void;
  enterEdgeLine(): void;
  updateEdgeLine(group: any): void;
  exitEdgeLine(): void;
  drawEdgeLine(): void;
  drawAnnotations(): void;
  setAnnotationAccessibility(): void;
  setTagLevels(): void;
  setChartDescriptionWrapper(): void;
  setParentSVGAccessibility(): void;
  setGeometryAccessibilityAttributes(): void;
  setGeometryAriaLabels(): void;
  setGroupAccessibilityAttributes(): void;
  setGroupAccessibilityID(): void;
  setChartAccessibilityTitle(): void;
  setChartAccessibilitySubtitle(): void;
  setChartAccessibilityLongDescription(): void;
  setChartAccessibilityExecutiveSummary(): void;
  setChartAccessibilityPurpose(): void;
  setChartAccessibilityContext(): void;
  setChartAccessibilityStatisticalNotes(): void;
  setChartCountAccessibility(): void;
  setChartAccessibilityStructureNotes(): void;
  onChangeHandler(): void;
  updateCursor(): void;
  bindInteractivity(): void;
  onClickHandler(d: any, n: any): void;
  onHoverHandler(d: any, n: any): void;
  onMouseOutHandler(): void;
  setTooltipInitialStyle(): void;
  eventsTooltip({ data, evt, isToShow }: {
    data?: any;
    evt?: any;
    isToShow: boolean;
  }): void;
  render(): any;
  private init;
}
