import type { AggregateFunctionType } from '../../../model/malloy_types'; import { FieldReference } from '../query-items/field-references'; import type { ExprValue } from '../types/expr-value'; import { ExpressionDef } from '../types/expression-def'; import type { FieldSpace } from '../types/field-space'; import type { JoinPath } from '../types/lookup-result'; export declare abstract class ExprAggregateFunction extends ExpressionDef { readonly func: AggregateFunctionType; elementType: string; source?: FieldReference; expr?: ExpressionDef; explicitSource?: boolean; legalChildTypes: import("../../../model/malloy_types").TypeDesc[]; constructor(func: AggregateFunctionType, expr?: ExpressionDef, explicitSource?: boolean); abstract returns(fromExpr: ExprValue): ExprValue; getExpression(fs: FieldSpace): ExprValue; isSymmetricFunction(): boolean; getJoinUsage(fs: FieldSpace): JoinPath[]; }