import { EnforceNonEmptyRecord, ValueRecord } from '../../record'; import { AggregatableTable, Avg, Count, GroupAggregationRecord, Max, Min, Sum } from '../aggregatable_table'; import { SelectRows } from '../selection/select_rows'; import { SortGrouping } from './sort_grouping'; import { GroupSelectStatement } from '../../statements/group_select_statement'; export declare class GroupTable { private readonly statement; constructor(statement: GroupSelectStatement); sortBy(sortBy: (key: K, table: AggregatableTable, count: () => Count) => K | Max | Min | Avg | Sum | Count): SortGrouping; sortDescendinglyBy(sortBy: (key: K, table: AggregatableTable, count: () => Count) => K | Max | Min | Avg | Sum | Count): SortGrouping; aggregate>(aggregation: (key: K, table: AggregatableTable, count: () => Count) => EnforceNonEmptyRecord & A): SelectRows; }