import type { DOMElementType, HTMLDOMElement } from '../../Core/Renderer/DOMElementType';
import AccessibilityComponent from '../AccessibilityComponent.js';
import Announcer from '../Utils/Announcer.js';
import AST from '../../Core/Renderer/HTML/AST.js';
import Chart from '../../Core/Chart/Chart.js';
/**
* The InfoRegionsComponent class
*
* @private
* @class
* @name Highcharts.InfoRegionsComponent
*/
declare class InfoRegionsComponent extends AccessibilityComponent {
announcer: Announcer;
dataTableButtonId?: string;
dataTableDiv?: HTMLDOMElement;
linkedDescriptionElement: (HTMLDOMElement | undefined);
screenReaderSections: Record;
sonifyButton?: (DOMElementType | null);
sonifyButtonId?: string;
viewDataTableButton?: ('' | DOMElementType | null);
/**
* Init the component
* @private
*/
init(): void;
/**
* @private
*/
initRegionsDefinitions(): void;
/**
* Called on chart render. Have to update the sections on render, in order
* to get a11y info from series.
*/
onChartRender(): void;
updateAllScreenReaderSections(): void;
/**
* @private
*/
getLinkedDescriptionElement(): (HTMLDOMElement | undefined);
/**
* @private
*/
setLinkedDescriptionAttrs(): void;
/**
* @private
* @param {string} regionKey
* The name/key of the region to update
*/
updateScreenReaderSection(regionKey: string): void;
/**
* Apply a11y attributes to a screen reader info section
* @private
* @param {Highcharts.HTMLDOMElement} sectionDiv The section element
* @param {string} regionKey Name/key of the region we are setting attrs for
*/
setScreenReaderSectionAttribs(sectionDiv: HTMLDOMElement, regionKey: string): void;
/**
* @private
*/
defaultBeforeChartFormatter(): string;
/**
* @private
*/
defaultAfterChartFormatter(): string;
/**
* @private
*/
getLinkedDescription(): string;
/**
* @private
*/
getLongdescText(): string;
/**
* @private
*/
getTypeDescriptionText(): string;
/**
* @private
*/
getDataTableButtonText(buttonId: string): string;
/**
* @private
*/
getSonifyButtonText(buttonId: string): string;
/**
* @private
*/
getSubtitleText(): string;
/**
* @private
*/
getEndOfChartMarkerText(): string;
/**
* @private
* @param {Highcharts.Dictionary} e
*/
onDataTableCreated(e: {
tree: AST.Node;
}): void;
/**
* @private
*/
focusDataTable(): void;
/**
* @private
* @param {string} sonifyButtonId
*/
initSonifyButton(sonifyButtonId: string): void;
/**
* Set attribs and handlers for default viewAsDataTable button if exists.
* @private
* @param {string} tableButtonId
*/
initDataTableButton(tableButtonId: string): void;
/**
* Return object with text description of each of the chart's axes.
* @private
*/
getAxesDescription(): Record;
/**
* @private
*/
getAxisDescriptionText(collectionKey: ('xAxis' | 'yAxis')): string;
/**
* Remove component traces
*/
destroy(): void;
}
declare namespace InfoRegionsComponent {
interface ScreenReaderSectionObject {
afterInserted?: Function;
element: (HTMLDOMElement | null);
buildContent: Function;
insertIntoDOM: Function;
}
interface TypeDescFormatContextObject {
chart: Chart;
mapTitle: (string | undefined);
numSeries: number;
numPoints: number;
}
}
export default InfoRegionsComponent;