import type { FieldUsage, FunctionOrderBy as ModelFunctionOrderBy } from '../../../model/malloy_types'; import type { ExpressionDef } from '../types/expression-def'; import type { FieldSpace } from '../types/field-space'; import { ListOf, MalloyElement } from '../types/malloy-element'; type FieldUsageSummary = FieldUsage[] | undefined; export declare class FunctionOrderBy extends MalloyElement { readonly field?: ExpressionDef | undefined; readonly dir?: "asc" | "desc" | undefined; elementType: string; constructor(field?: ExpressionDef | undefined, dir?: "asc" | "desc" | undefined); computeAnalyticOrderBy(fs: FieldSpace): { modelFunctionOrderBy: ModelFunctionOrderBy; fieldUsage: FieldUsageSummary; }; computeAggregateOrderByWithUsage(fs: FieldSpace, allowExpression: boolean): { modelFunctionOrderBy: ModelFunctionOrderBy; fieldUsage: FieldUsageSummary; }; } export declare class FunctionOrdering extends ListOf { elementType: string; constructor(list: FunctionOrderBy[]); getAnalyticOrderBy(fs: FieldSpace): { orderBy: ModelFunctionOrderBy[]; fieldUsage: FieldUsageSummary; }; getAggregateOrderBy(fs: FieldSpace, allowExpression: boolean): { orderBy: ModelFunctionOrderBy[]; fieldUsage: FieldUsageSummary; }; } export {};