import { DataBaseOptions, RawTableList, TableListData, TableListOptions } from '../types'; import { DataBase } from './base'; export declare class DataTableList extends DataBase { private _data; /** * A header is usually a dimension of a list. */ get headers(): Meta[]; /** * A list corresponds to a column in the database table. */ get lists(): Meta[][]; /** * Pure data without headers. */ get rawTableList(): RawTableList; /** * The combination of `this.headers` and `this.rawTableList`. * Which is equivalent to the original data. */ get rawTableListWithHeaders(): Meta[][]; constructor(data: RawTableList, options?: DataBaseOptions); /** * Filter some rows inside a database table. * @param rows * An array of row indices. * @returns * New `DataTableList` containing specific rows. */ selectRows(rows: number[]): DataTableList; /** * Filter some columns in a database table, * and perform aggregate operations on demand. * @param headers * The header of the data list to be selected. * @param options * Aggregate operation configuration. * @returns * New `DataTableList` containing specific columns. */ select(headers: MaybeGroup, options?: TableListOptions): DataTableList; /** * Overwrite or append some columns to existing columns. * @param tableList * The `rawTableList` that need to perform the merge operation. * @param options * Some extra info on the columns. */ update(tableList: RawTableList, options?: AnyObject): void; /** * Remove some columns from existing columns. * @param headers * The header of the data list to be deleted. * @returns * Deleted `TableListData`. */ remove(headers: MaybeGroup): TableListData[]; /** * Calculate the maximum and minimum values in the current tableList. * @remarks * This usually requires lists to be of the same type. * @returns * Return maximum and minimum. */ range(): Vec2; /** * Sort the entire row of data by dimension or group weight. * @remarks * This method mutates the array. * @param options * The sort configuration. */ sort(options: { mode: 'asc' | 'desc'; targets: 'dimension' | 'groupWeight'; variant?: 'date'; }): void; }