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);
    numRows(): number;
    numColumns(): number;
    valueAt(rowIndex: number, columnIndex: number): any;
    row(rowIndex: number, sharedRow?: SharedRowOptions): DataRow;
    rowAsArray(rowIndex: number): any[];
    rows(sharedRow: SharedRowOptions): Generator<DataRow, void, unknown>;
    column(columnIndex: number): Generator<any, void, unknown>;
    flattenData(): any[][];
    getPlainIndex(): number[];
    map<T>(func: (row: DataRow, index: number) => T, sharedRow?: SharedRowOptions, options?: RangeOptions): T[];
    mapIndex<T>(func: ({ index }: {
        index: number;
    }, dc: DataContainerInterface) => T, options?: RangeOptions): T[];
    find(func: (row: DataRow, index: number) => boolean, sharedRow?: SharedRowOptions): DataRow | undefined;
    reduce<T>(func: (acc: T, row: DataRow, index: number) => T, initialValue: T, sharedRow?: SharedRowOptions): T;
}
export {};
