import type { CastType } from '../../../model/malloy_types'; import type { FieldReference } from '../query-items/field-references'; import type { FunctionOrdering } from './function-ordering'; import type { Limit } from '../query-properties/limit'; import type { PartitionBy } from './partition_by'; import type { ExprValue } from '../types/expr-value'; import { ExpressionDef } from '../types/expression-def'; import type { FieldSpace } from '../types/field-space'; export declare class ExprFunc extends ExpressionDef { readonly name: string; readonly args: ExpressionDef[]; readonly isRaw: boolean; readonly rawType: CastType | undefined; readonly source?: FieldReference | undefined; elementType: string; constructor(name: string, args: ExpressionDef[], isRaw: boolean, rawType: CastType | undefined, source?: FieldReference | undefined); canSupportPartitionBy(): boolean; canSupportOrderBy(): boolean; canSupportLimit(): boolean; getExpression(fs: FieldSpace): ExprValue; private findFunctionDef; getPropsExpression(fs: FieldSpace, props?: { partitionBys?: PartitionBy[]; orderBys?: FunctionOrdering[]; limit?: Limit; }): ExprValue; }