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