import type { Schema } from "../../../types/schema.js"; import type { TableBatch } from "../../../types/category-table.js"; import type { TableBatchConstructor } from "./table-batch-aggregator.js"; type TableBatchBuilderOptions = { shape?: 'array-row-table' | 'object-row-table' | 'columnar-table' | 'arrow-table'; batchSize?: number | 'auto'; batchDebounceMs?: number; limit?: number; _limitMB?: number; }; type GetBatchOptions = { bytesUsed?: number; [key: string]: any; }; /** Incrementally builds batches from a stream of rows */ export declare class TableBatchBuilder { schema: Schema; options: Required; private aggregator; private batchCount; private bytesUsed; private isChunkComplete; private lastBatchEmittedMs; private totalLength; private totalBytes; private rowBytes; static ArrowBatch?: TableBatchConstructor; constructor(schema: Schema, options?: TableBatchBuilderOptions); limitReached(): boolean; /** @deprecated Use addArrayRow or addObjectRow */ addRow(row: any[] | { [columnName: string]: any; }): void; /** Add one row to the batch */ protected addArrayRow(row: any[]): void; /** Add one row to the batch */ protected addObjectRow(row: { [columnName: string]: any; }): void; /** Mark an incoming raw memory chunk has completed */ chunkComplete(chunk: ArrayBuffer | string): void; getFullBatch(options?: GetBatchOptions): TableBatch | null; getFinalBatch(options?: GetBatchOptions): TableBatch | null; _estimateRowMB(row: any[] | object): number; private _isFull; /** * bytesUsed can be set via chunkComplete or via getBatch* */ private _getBatch; private _getTableBatchType; } export {}; //# sourceMappingURL=table-batch-builder.d.ts.map