import { EnforceNonEmptyRecord, ValueOrNestedValueRecord, ValueRecord } from '../../record'; import { Value } from '../../value'; import { Subtable } from '../subtable'; import { Table } from './table'; import { SelectRows } from '../selection/select_rows'; import { SelectVector } from '../selection/select_vector'; import { Constructor, SelectStatement } from '../../statements/select_statement'; export declare type Direction = 'asc' | 'desc'; export declare class SortTable { private readonly typeConstructor; private readonly statement; constructor(typeConstructor: Constructor, statement: SelectStatement); filter(predicate: (table: T) => boolean): SortTable; filter

(provided: P, predicate: (parameters: P, table: T) => boolean): SortTable; thenBy(sortBy: (table: T) => Value): SortTable; thenDescendinglyBy(sortBy: (table: T) => Value): SortTable; select(): SelectRows; map(f: (table: T) => EnforceNonEmptyRecord & U): SelectRows; map(tableInSubquery: Table, f: (s: Subtable, x: T) => EnforceNonEmptyRecord & U): SelectRows; get(f: (table: T) => U): SelectVector; }