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