/**
 * This module provides utility functions for resolving and evaluating time series field mappings
 * used across renderers, labels, and popups.
 *
 * @since 5.1
 */
import type TimeSeriesInfo from "./TimeSeriesInfo.js";

/**
 * Creates an [Arcade expression](https://developers.arcgis.com/javascript/latest/arcade/) that resolves values from a time series data series using the
 * current [Map element](https://developers.arcgis.com/javascript/latest/references/map-components/components/arcgis-map/) time.
 *
 * @param dataSeriesInfo - The data series definition used to build the expression.
 * @returns An [Arcade expression](https://developers.arcgis.com/javascript/latest/arcade/) string.
 * @since 5.1
 */
export function createTimeSeriesExpression(dataSeriesInfo: TimeSeriesInfo): string;

/**
 * Maps a data series time value unit to the corresponding Arcade string that dictates time formatting.
 *
 * @param timeValueUnit - The time value unit from a data series definition.
 * @returns The Arcade string dictating time formatting.
 * @since 5.1
 * @see [Arcade Text function](https://developers.arcgis.com/arcade/function-reference/text_functions/#text)
 */
export function getArcadeTimeFormatString(timeValueUnit: TimeSeriesInfo["timeValueUnits"]): string;