import { OjWebElement } from '../';
/**
 * This is the base class for oj-thematic-map WebElement, and is generated from the
 * component's metadata. Do not modify these contents since they'll be replaced
 * during the next generation.
 * Put overrides into the WebElements's subclass, OjThematicMap.ts.
 */
export declare class OjThematicMapBase extends OjWebElement {
    /**
     * Gets the value of <code>animationDuration</code> property.
     * The duration of the animations in milliseconds. See the Help documentation for more information.
     * @return The value of <code>animationDuration</code> property.
     *
     */
    getAnimationDuration(): Promise<number>;
    /**
     * Gets the value of <code>animationOnDisplay</code> property.
     * Specifies the animation that is shown on initial display.
     * @return The value of <code>animationOnDisplay</code> property.
     *
     */
    getAnimationOnDisplay(): Promise<string>;
    /**
     * Gets the value of <code>areas</code> property.
     * An array of objects that define area data layers. Also accepts a Promise for deferred data rendering. See the Help documentation for more information.
     * @return The value of <code>areas</code> property.
     *
     */
    getAreas(): Promise<Array<Areas> | null | null>;
    /**
     * Gets the value of <code>as</code> property.
     * An alias for the '$current' context variable passed to slot content for the areaTemplate, markerTemplate, or linkTemplate slots.
     * @return The value of <code>as</code> property.
     * @deprecated Since 6.2.0. Set the alias directly on the template element using the data-oj-as attribute instead.
     */
    getAs(): Promise<string>;
    /**
     * Gets the value of <code>focusRenderer</code> property.
     * An optional callback function to update the data item in response to changes in keyboard focus state. The function takes a context argument, provided by the thematic map. See the Help documentation for more information.
     * @return The value of <code>focusRenderer</code> property.
     *
     */
    getFocusRenderer(): Promise<null | null>;
    /**
     * Sets the value of <code>hiddenCategories</code> property.
     * An array of category strings used for filtering. Data items matching categories in this array will be filtered.
     * @param hiddenCategories The value to set for <code>hiddenCategories</code>
     *
     */
    changeHiddenCategories(hiddenCategories: Array<string>): Promise<void>;
    /**
     * Gets the value of <code>hiddenCategories</code> property.
     * An array of category strings used for filtering. Data items matching categories in this array will be filtered.
     * @return The value of <code>hiddenCategories</code> property.
     *
     */
    getHiddenCategories(): Promise<Array<string>>;
    /**
     * Gets the value of <code>highlightMatch</code> property.
     * The matching condition for the highlightedCategories property. See the Help documentation for more information.
     * @return The value of <code>highlightMatch</code> property.
     *
     */
    getHighlightMatch(): Promise<string>;
    /**
     * Sets the value of <code>highlightedCategories</code> property.
     * An array of category strings used for highlighting. Data items matching categories in this array will be highlighted.
     * @param highlightedCategories The value to set for <code>highlightedCategories</code>
     *
     */
    changeHighlightedCategories(highlightedCategories: Array<string>): Promise<void>;
    /**
     * Gets the value of <code>highlightedCategories</code> property.
     * An array of category strings used for highlighting. Data items matching categories in this array will be highlighted.
     * @return The value of <code>highlightedCategories</code> property.
     *
     */
    getHighlightedCategories(): Promise<Array<string>>;
    /**
     * Gets the value of <code>hoverBehavior</code> property.
     * Defines the behavior applied when hovering over data items.
     * @return The value of <code>hoverBehavior</code> property.
     *
     */
    getHoverBehavior(): Promise<string>;
    /**
     * Gets the value of <code>hoverRenderer</code> property.
     * An optional callback function to update the node in response to changes in hover state. The function takes a context argument, provided by the thematic map. See the Help documentation for more information.
     * @return The value of <code>hoverRenderer</code> property.
     *
     */
    getHoverRenderer(): Promise<null | null>;
    /**
     * Gets the value of <code>initialZooming</code> property.
     * Specifies whether the map will zoom to fit the data objects on initial render.
     * @return The value of <code>initialZooming</code> property.
     *
     */
    getInitialZooming(): Promise<string>;
    /**
     * Gets the value of <code>isolatedItem</code> property.
     * The id for the isolated area of this area data layer. If set, only the isolated area will be displayed.
     * @return The value of <code>isolatedItem</code> property.
     *
     */
    getIsolatedItem(): Promise<any>;
    /**
     * Gets the value of <code>labelDisplay</code> property.
     * Specifies how labels for this layer should be displayed.
     * @return The value of <code>labelDisplay</code> property.
     *
     */
    getLabelDisplay(): Promise<string>;
    /**
     * Gets the value of <code>labelType</code> property.
     * Specifies which type of map labels to display.
     * @return The value of <code>labelType</code> property.
     *
     */
    getLabelType(): Promise<string>;
    /**
     * Gets the value of <code>links</code> property.
     * An array of objects that define the map links. Also accepts a Promise for deferred data rendering. See the Help documentation for more information.
     * @return The value of <code>links</code> property.
     *
     */
    getLinks(): Promise<Array<Links> | null | null>;
    /**
     * Gets the value of <code>mapProvider</code> property.
     * An object defining a custom map.
     * @return The value of <code>mapProvider</code> property.
     *
     */
    getMapProvider(): Promise<MapProvider>;
    /**
     * Gets the value of <code>markerZoomBehavior</code> property.
     * Specifies marker behavior on zoom.
     * @return The value of <code>markerZoomBehavior</code> property.
     *
     */
    getMarkerZoomBehavior(): Promise<string>;
    /**
     * Gets the value of <code>markers</code> property.
     * An array of objects that define marker data layers. Also accepts a Promise for deferred data rendering. See the Help documentation for more information.
     * @return The value of <code>markers</code> property.
     *
     */
    getMarkers(): Promise<Array<Markers> | null | null>;
    /**
     * Gets the value of <code>maxZoom</code> property.
     * Specifies the maximum zoom level for this element. Must be greater than or equal to 1.0. See the Help documentation for more information.
     * @return The value of <code>maxZoom</code> property.
     *
     */
    getMaxZoom(): Promise<number>;
    /**
     * Gets the value of <code>panning</code> property.
     * Specifies whether element panning is allowed.
     * @return The value of <code>panning</code> property.
     *
     */
    getPanning(): Promise<string>;
    /**
     * Gets the value of <code>renderer</code> property.
     * An optional callback function to stamp custom SVG elements for a data layer. The function takes a context argument, provided by the thematic map. See the Help documentation for more information.
     * @return The value of <code>renderer</code> property.
     *
     */
    getRenderer(): Promise<null | null>;
    /**
     * Sets the value of <code>selection</code> property.
     * An array of strings containing the ids of the selected data items.
     * @param selection The value to set for <code>selection</code>
     *
     */
    changeSelection(selection: Array<any>): Promise<void>;
    /**
     * Gets the value of <code>selection</code> property.
     * An array of strings containing the ids of the selected data items.
     * @return The value of <code>selection</code> property.
     *
     */
    getSelection(): Promise<Array<any>>;
    /**
     * Gets the value of <code>selectionMode</code> property.
     * Specifies the selection mode.
     * @return The value of <code>selectionMode</code> property.
     *
     */
    getSelectionMode(): Promise<string>;
    /**
     * Gets the value of <code>selectionRenderer</code> property.
     * An optional callback function to update the data item in response to changes in selection state. The function takes a context argument, provided by the thematic map. See the Help documentation for more information.
     * @return The value of <code>selectionRenderer</code> property.
     *
     */
    getSelectionRenderer(): Promise<null | null>;
    /**
     * Gets the value of <code>styleDefaults</code> property.
     * An object defining the style defaults for this thematic map. See the Help documentation for more information.
     * @return The value of <code>styleDefaults</code> property.
     *
     */
    getStyleDefaults(): Promise<StyleDefaults>;
    /**
     * Gets the value of <code>tooltip</code> property.
     * An object containing an optional callback function for tooltip customization.
     * @return The value of <code>tooltip</code> property.
     *
     */
    getTooltip(): Promise<Tooltip>;
    /**
     * Gets the value of <code>tooltipDisplay</code> property.
     * Specifies the tooltip behavior of the thematic map.
     * @return The value of <code>tooltipDisplay</code> property.
     *
     */
    getTooltipDisplay(): Promise<string>;
    /**
     * Gets the value of <code>touchResponse</code> property.
     * Specifies configuration options for touch and hold delays on mobile devices. See the Help documentation for more information.
     * @return The value of <code>touchResponse</code> property.
     * @deprecated Since 18.0.0. This attribute is deprecated and no longer recommended in the Redwood Design system. The "auto" value behavior will be applied instead.
     */
    getTouchResponse(): Promise<string>;
    /**
     * Gets the value of <code>trackResize</code> property.
     * Defines whether the element will automatically render in response to changes in size. See the Help documentation for more information.
     * @return The value of <code>trackResize</code> property.
     *
     */
    getTrackResize(): Promise<string>;
    /**
     * Gets the value of <code>translations</code> property.
     * A collection of translated resources from the translation bundle, or null if this component has no resources.
     * @return The value of <code>translations</code> property.
     *
     */
    getTranslations(): Promise<Translations | null>;
    /**
     * Gets the value of <code>zooming</code> property.
     * Specifies whether element zooming is allowed.
     * @return The value of <code>zooming</code> property.
     *
     */
    getZooming(): Promise<string>;
}
export interface Areas {
    /**
     * An array of category strings corresponding to this area. This allows highlighting and filtering of areas.
     */
    categories: Array<string>;
    /**
     * The area color.
     */
    color: string;
    /**
     * The identifier for this area. The id should be set by the application if the DataProvider is not being used. The row key will be used as id in the case.
     */
    id: any;
    /**
     * Text used for the area's label.
     */
    label: string;
    /**
     * The CSS style defining the label style for this area. The following style properties are supported: color, cursor, fontFamily, fontSize, fontStyle, fontWeight, textDecoration.
     */
    labelStyle: object;
    /**
     * An identifier corresponding to a Feature provided in the mapProvider geo object that this area is associated with.
     */
    location: string;
    /**
     * The area opacity.
     */
    opacity: number;
    /**
     * Specifies whether or not the area will be selectable.
     */
    selectable: string;
    /**
     * The description of this element. Will be lazily created if a function is used. This is used for accessibility and also for customizing the tooltip text.
     */
    shortDesc: string | null;
    /**
     * The CSS style class defining the style of the area.
     */
    svgClassName: string;
    /**
     * The CSS style object defining the style of the area. Only SVG CSS style properties are supported.
     */
    svgStyle: object;
}
export interface Links {
    /**
     * An array of category strings corresponding to this link. This allows highlighting and filtering of links.
     */
    categories: Array<string>;
    /**
     * The link color.
     */
    color: string;
    /**
     * An object used to determine the end point of the link.
     */
    endLocation: LinksEndLocation;
    /**
     * The identifier for this link. The id should be set by the application if the DataProvider is not being used. The row key will be used as id in the case.
     */
    id: any;
    /**
     * Specifies whether or not the link will be selectable.
     */
    selectable: string;
    /**
     * The description of this element. Will be lazily created if a function is used. This is used for accessibility and also for customizing the tooltip text.
     */
    shortDesc: string | null;
    /**
     * An object used to determine the start point of the link.
     */
    startLocation: LinksStartLocation;
    /**
     * The CSS style class defining the style of the link.
     */
    svgClassName: string;
    /**
     * The CSS style object defining the style of the link. Only SVG CSS style properties are supported.
     */
    svgStyle: object;
    /**
     * The link width in pixels.
     */
    width: number;
}
export interface LinksEndLocation {
    /**
     * The marker or area id to be used as the end point.
     */
    id: any;
    /**
     * An identifier corresponding to a Feature provided in the mapProvider geo object to be used as the end point.
     */
    location: string;
    /**
     * The x coordinate which can represent latitude of the end point.
     */
    x: number;
    /**
     * The y coordinate which can represent longitude of the end point.
     */
    y: number;
}
export interface LinksStartLocation {
    /**
     * The marker id to be used as the start point.
     */
    id: any;
    /**
     * An identifier corresponding to a Feature provided in the mapProvider geo object to be used as the start point.
     */
    location: string;
    /**
     * The x coordinate which can represent latitude of the start point.
     */
    x: number;
    /**
     * The y coordinate which can represent longitude of the start point.
     */
    y: number;
}
export interface MapProvider {
    /**
     * An object defining a custom area's coordinates and "properties" object. See the Help documentation for more information.
     */
    geo: object;
    /**
     * An object specifying "properties" object keys to use for custom area id and label mappings.
     */
    propertiesKeys: MapProviderPropertiesKeys;
}
export interface MapProviderPropertiesKeys {
    /**
     * The required name of the "properties" key to use as the location id that will map a data item to a map area.
     */
    id: string;
    /**
     * The optional name of the "properties" key to use for rendering area labels when labelType is set to "long".
     */
    longLabel: string;
    /**
     * The optional name of the "properties" key to use for rendering area labels when labelType is set to "short".
     */
    shortLabel: string;
}
export interface Markers {
    /**
     * The marker border color.
     */
    borderColor: string;
    /**
     * The marker border style.
     */
    borderStyle: string;
    /**
     * The marker border width in pixels.
     */
    borderWidth: number;
    /**
     * An array of category strings corresponding to this marker. This allows highlighting and filtering of markers.
     */
    categories: Array<string>;
    /**
     * The marker color.
     */
    color: string;
    /**
     * The pixel height for this marker. Note that this attribute will be ignored if a value is provided to calculate marker sizes.
     */
    height: number;
    /**
     * The identifier for this marker. The id should be set by the application if the DataProvider is not being used. The row key will be used as id in the case.
     */
    id: any;
    /**
     * Text used for the marker's label.
     */
    label: string;
    /**
     * Determines the label position relative to the marker.
     */
    labelPosition: string;
    /**
     * The CSS style object defining the style of the marker. The following style properties are supported: color, cursor, fontFamily, fontSize, fontStyle, fontWeight, textDecoration.
     */
    labelStyle: object;
    /**
     * An identifier corresponding to a Feature provided in the mapProvider geo object that this marker is associated with.
     */
    location: string;
    /**
     * The marker opacity.
     */
    opacity: number;
    /**
     * The angle to rotate the marker in clockwise degrees around the marker center.
     */
    rotation: number;
    /**
     * Specifies whether or not the marker will be selectable.
     */
    selectable: string;
    /**
     * Specifies the shape of a marker. Can take the name of a built-in shape or the SVG path commands for a custom shape.
     */
    shape: string;
    /**
     * The description of this element. Will be lazily created if a function is used. This is used for accessibility and also for customizing the tooltip text.
     */
    shortDesc: string | null;
    /**
     * Specifies an URI specifying the location of the image resource to use for the marker instead of a built-in shape. The shape attribute is ignored if the source image is defined.
     */
    source: string;
    /**
     * An optional URI specifying the location of the hover image resource. If not defined, the source image will be used.
     */
    sourceHover: string;
    /**
     * An optional URI specifying the location of the selected image resource on hover. If not defined, the sourceSelected image will be used. If sourceSelected is not defined, then the source image will be used.
     */
    sourceHoverSelected: string;
    /**
     * An optional URI specifying the location of the selected image. If not defined, the source image will be used.
     */
    sourceSelected: string;
    /**
     * The CSS style class defining the style of the marker.
     */
    svgClassName: string;
    /**
     * The CSS style object defining the style of the marker. Only SVG CSS style properties are supported.
     */
    svgStyle: object;
    /**
     * A data value used to calculate the marker dimensions based on the range of all the data values and the element size. Markers with negative or zero data values will not be rendered. If specified, this value takes precedence over the width and height attributes.
     */
    value: number;
    /**
     * The pixel width for this marker. Note that this attribute will be ignored if a value is provided to calculate marker.
     */
    width: number;
    /**
     * The x coordinate of the marker transformed using the map projection, which can be null if location is set instead.
     */
    x: number;
    /**
     * The y coordinate of the marker transformed using the map projection, which can be null if location is set instead.
     */
    y: number;
}
export interface StyleDefaults {
    /**
     * The CSS style object defining the style of the area layer areas.
     */
    areaSvgStyle: object;
    /**
     * An object defining the default styles for data areas.
     */
    dataAreaDefaults: StyleDefaultsDataAreaDefaults;
    /**
     * An object defining the default styles for data markers.
     */
    dataMarkerDefaults: StyleDefaultsDataMarkerDefaults;
    /**
     * Specifies initial hover delay in milliseconds for highlighting data items.
     */
    hoverBehaviorDelay: number;
    /**
     * The CSS style object defining the style of the area layer labels.
     */
    labelStyle: object;
    /**
     * An object defining the default styles for data links.
     */
    linkDefaults: StyleDefaultsLinkDefaults;
}
export interface StyleDefaultsDataAreaDefaults {
    /**
     * The area stroke color for the area data layer.
     */
    borderColor: string;
    /**
     * The hover data area border color.
     */
    hoverColor: string;
    /**
     * The inner selected data area border color.
     */
    selectedInnerColor: string;
    /**
     * The outer selected data area border color.
     */
    selectedOuterColor: string;
}
export interface StyleDefaultsDataMarkerDefaults {
    /**
     * The border color.
     */
    borderColor: string;
    /**
     * The border style.
     */
    borderStyle: string;
    /**
     * The border width in pixels.
     */
    borderWidth: number;
    /**
     * The fill color of a marker.
     */
    color: string;
    /**
     * The default marker pixel height.
     */
    height: number;
    /**
     * The CSS style object defining the style of the marker label.
     */
    labelStyle: object;
    /**
     * The default marker opacity.
     */
    opacity: number;
    /**
     * The default marker shape. Can take the name of a built-in shape or the SVG path commands for a custom shape.
     */
    shape: string;
    /**
     * The default marker pixel width.
     */
    width: number;
}
export interface StyleDefaultsLinkDefaults {
    /**
     * The stroke color for links.
     */
    color: string;
    /**
     * The stroke width for links in pixels.
     */
    width: number;
}
export interface Tooltip {
}
export interface Translations {
    /**
     * Used to describe a container that contains controls.
     */
    accessibleContainsControls: string;
    /**
     * Used to describe the areas map layer for accessibility.
     */
    areasRegion: string;
    /**
     * Used to describe the data visualization type for accessibility.
     */
    componentName: string;
    /**
     * Used to display a label and its value.
     */
    labelAndValue: string;
    /**
     * Text shown for clearing multiple selection on touch devices.
     */
    labelClearSelection: string;
    /**
     * Used to display a count out of a total.
     */
    labelCountWithTotal: string;
    /**
     * Label for data visualizations used for accessibility.
     */
    labelDataVisualization: string;
    /**
     * Text shown when the component receives invalid data.
     */
    labelInvalidData: string;
    /**
     * Text shown when the component receives no data.
     */
    labelNoData: string;
    /**
     * Used to describe the links map layer for accessibility.
     */
    linksRegion: string;
    /**
     * Used to describe the markers map layer for accessibility.
     */
    markersRegion: string;
    /**
     * Used to describe the collapsed state for accessibility.
     */
    stateCollapsed: string;
    /**
     * Used to describe a drillable object for accessibility.
     */
    stateDrillable: string;
    /**
     * Used to describe the expanded state for accessibility.
     */
    stateExpanded: string;
    /**
     * Used to describe the hidden state for accessibility.
     */
    stateHidden: string;
    /**
     * Used to describe the isolated state for accessibility.
     */
    stateIsolated: string;
    /**
     * Used to describe the maximized state for accessibility.
     */
    stateMaximized: string;
    /**
     * Used to describe the minimized state for accessibility.
     */
    stateMinimized: string;
    /**
     * Used to describe the selected state for accessibility.
     */
    stateSelected: string;
    /**
     * Used to describe the unselected state for accessibility.
     */
    stateUnselected: string;
    /**
     * Used to describe the visible state for accessibility.
     */
    stateVisible: string;
}
