import { DataRow, SharedRowOptions } from './data-row'; import { ProtoDatasetField } from '@kepler.gl/types'; import { DataContainerInterface, RangeOptions } from './data-container-interface'; type RowDataContainerInput = { rows: any[][]; fields?: ProtoDatasetField[]; }; /** * A data container where all data is stored internally as a 2D array. */ export declare class RowDataContainer implements DataContainerInterface { _rows: any[][]; _numColumns: number; constructor(data: RowDataContainerInput); /** * Replace all rows. Callers pass the full snapshot (same contract as ArrowDataContainer). */ update(updateData: any[]): void; /** * Append rows without copying the existing table. Rejects the whole batch when * any row is not an array of the current column count (empty tables take the * width from the first row). */ append(rows: any[][]): boolean; /** * Overwrite one row. Rejects an out-of-range index or a row of the wrong width. */ replace(index: number, row: any[]): boolean; /** * Drop unique valid indexes in one rebuild. Any out-of-range or non-integer * index rejects the whole call so callers can no-op instead of shifting twice. */ remove(indexes: number[]): boolean; numRows(): number; numColumns(): number; valueAt(rowIndex: number, columnIndex: number): any; row(rowIndex: number, sharedRow?: SharedRowOptions): DataRow; rowAsArray(rowIndex: number): any[]; rows(sharedRow: SharedRowOptions): Generator; column(columnIndex: number): Generator; flattenData(): any[][]; getPlainIndex(): number[]; map(func: (row: DataRow, index: number) => T, sharedRow?: SharedRowOptions, options?: RangeOptions): T[]; mapIndex(func: ({ index }: { index: number; }, dc: DataContainerInterface) => T, options?: RangeOptions): T[]; find(func: (row: DataRow, index: number) => boolean, sharedRow?: SharedRowOptions): DataRow | undefined; reduce(func: (acc: T, row: DataRow, index: number) => T, initialValue: T, sharedRow?: SharedRowOptions): T; } export {};