/** * CsvEngine — Stateful CSV engine composing all modules. * * Pure library class: no file I/O, no async, no side effects. * The photon wraps this with load/save/emit/watch. */ import type { ColumnMeta, CsvEngineOptions, ToCsvOptions, EngineSnapshot, QueryResult, SqlResult, SchemaColumn } from './types.js'; export declare class CsvEngine { private cells; private headers; private columnMeta; private hasFormatRow; private metaCustomized; private _rowCount; private _colCount; constructor(options?: CsvEngineOptions); /** Create an engine from CSV text. */ static fromCSV(csvText: string): CsvEngine; private _loadFromCSV; get rowCount(): number; get colCount(): number; getHeaders(): string[]; getColumnMeta(): ColumnMeta[]; getRawCell(row: number, col: number): string; getCells(): string[][]; getHasFormatRow(): boolean; getMetaCustomized(): boolean; /** Evaluate a single cell, resolving formulas. */ evaluate(row: number, col: number): string; /** Evaluate all cells, returning a grid of computed values. */ evaluateAll(): string[][]; /** Set a single cell value. */ set(cell: string, value: string): void; /** Add a row using column name → value mapping. */ add(values: Record): number; /** Remove a row (1-indexed). */ remove(row: number): void; /** Update fields in a row (1-indexed). */ update(row: number, values: Record): string[]; /** Batch-append rows. Each row is an array of values or a column→value object. */ push(rows: (string[] | Record)[]): number; /** Fill a range with a repeating pattern of values. */ fill(range: string, pattern: string): void; /** Clear all cells or a specific range. */ clear(range?: string): void; /** Resize the grid. */ resize(rows?: number, cols?: number): void; /** Rename a column header. */ rename(column: string, name: string): string; /** Sort rows by a column. */ sort(column: string, order?: string): void; /** Set column formatting. */ format(column: string, opts: { align?: string; type?: string; width?: number; wrap?: boolean; }): void; /** Filter rows by a simple condition string. */ query(where: string, limit?: number): QueryResult; /** Run a SQL query. Requires alasql as a peer dependency. */ sql(queryStr: string): Promise; /** Serialize to CSV text. */ toCSV(options?: ToCsvOptions): string; /** Convert to array of typed objects, with auto-coercion for numeric columns. */ toObjects(): Record[]; /** Format as an ASCII markdown table. */ toTable(range?: string): string; /** Get a full engine state snapshot for UI rendering. */ snapshot(message?: string): EngineSnapshot; /** Get column schema with type detection. */ schema(): SchemaColumn[]; /** Load CSV data from text (replaces current state). */ loadCSV(csvText: string): void; /** Append parsed CSV rows, skipping headers and format rows. */ appendCSVLines(lines: string[]): number; private _ensureCapacity; private _formulaContext; } //# sourceMappingURL=engine.d.ts.map