import type { IArcGISContext } from "../../types/IArcGISContext";
import { DynamicValues, DynamicValueDefinition, DynamicValueResult, IDynamicItemQueryDefinition } from "../../core/types/DynamicValues";
export declare const _INTERNAL_FNS: {
    resolveDynamicValue: typeof resolveDynamicValue;
    resolveDynamicValues: typeof resolveDynamicValues;
    resolveItemQueryValues: typeof resolveItemQueryValues;
};
/**
 * @internal
 * Resolve a single dynamic value. The definition can be of many types (item-query, portal etc), each of which has their own logic for resolving the value.
 * @param valueDef
 * @param context
 * @returns
 */
export declare function resolveDynamicValue(valueDef: DynamicValueDefinition, context: IArcGISContext): Promise<Record<string, DynamicValueResult>>;
/**
 * @internal
 * Resolve a set of dynamic values.
 * The individual definitions can be of many types (item-query, portal etc), each of which has their own logic for resolving the value.
 * @param dynamicValues Array of dynamic value definitions to resolve
 * @param context ArcGIS context of the current user.
 * @returns
 */
export declare function resolveDynamicValues(dynamicValues: DynamicValueDefinition[], context: IArcGISContext): Promise<Record<string, DynamicValueResult>>;
/**
 * @internal
 * Resolve a set of dynamic values based on an item query.
 * This is used to query for a set of items, extract a specific value from each
 * then run an aggregation on the set of values.
 * @param valueDef Item Query Definition that will be resolved by querying for items and extracting a specific value from each
 * @param context ArcGIS context of the current user.
 * @returns
 */
export declare function resolveItemQueryValues(valueDef: IDynamicItemQueryDefinition, context: IArcGISContext): Promise<DynamicValues>;
