import type { CommonStrings } from "../localization/interfaces.js";
import type { WebChart } from "../../spec/web-chart.js";
import type { WebChartTypes } from "../../spec/chart-object-literals.js";
import type { Icon as Icon } from "@esri/calcite-components/components/calcite-icon";

/**
 * @param chart
 * @internal
 */
export function getChartIcon(chart: WebChart): Icon["icon"];

/**
 * Fetches the chart type text based on the provided chart type.
 *
 * @param chartType - The type of chart
 * @param config - chart config to further determine chart type text (optional)
 * @internal
 */
export function fetchChartText(chartType: WebChartTypes, config?: WebChart): Promise<string>;

/**
 * Gets the chart type text based on the provided chart type.
 *
 * @param props - The type of chart
 * @internal
 */
export function getChartText(props: {
    chartType: WebChartTypes;
    commonStrings: CommonStrings;
    config?: WebChart;
}): string;