import type { AggregateUngrouping, Expr, ExpressionValueTypeDef, RequiredGroupBy, TemporalTypeDef, TimestampUnit } from '../../../model'; import type { ExprResult } from './expr-result'; import type { TimeResult } from './time-result'; export type ExprValue = ExprResult | TimeResult; export declare function computedExprValue({ value, dataType, from, }: { value: Expr; dataType: ExpressionValueTypeDef; from: ExprValue[]; }): ExprValue; export declare function computedTimeResult({ value, dataType, from, timeframe, }: { value: Expr; dataType: TemporalTypeDef; timeframe?: TimestampUnit; from: ExprValue[]; }): TimeResult; export declare function computedErrorExprValue({ dataType, from, error, }: { error: string; dataType?: ExpressionValueTypeDef; from: ExprValue[]; }): ExprValue; export declare function literalExprValue(options: { value: Expr; dataType: ExpressionValueTypeDef; }): ExprValue; export declare function literalTimeResult({ value, dataType, timeframe, }: { value: Expr; dataType: TemporalTypeDef; timeframe?: TimestampUnit; }): TimeResult; export declare function mergeGroupedBys(...groupByses: (RequiredGroupBy[] | undefined)[]): RequiredGroupBy[] | undefined; export declare function mergeUngroupings(...usages: (AggregateUngrouping[] | undefined)[]): AggregateUngrouping[] | undefined;