import { PluginManager } from './core/plugin-system'; import FastPathEngine from './engines/fast-path-engine'; import NdjsonParser from './formats/ndjson-parser'; import type { CsvToJsonOptions, JsonToCsvOptions, SaveAsCsvOptions } from './types'; export interface JtcsvWithPluginsOptions { enableFastPath?: boolean; enablePlugins?: boolean; [key: string]: any; } export interface PluginHookContext { operation: string; options?: any; metadata?: Record; } export declare class JtcsvWithPlugins { private pluginManager; private fastPathEngine; private options; constructor(options?: JtcsvWithPluginsOptions); private _registerBuiltinPlugins; csvToJson(csv: string, options?: CsvToJsonOptions): Promise; csvToJsonIterator(csv: string, options?: CsvToJsonOptions): AsyncGenerator; jsonToCsv(json: any[], options?: JsonToCsvOptions): Promise; saveAsCsv(data: any[], filePath: string, options?: SaveAsCsvOptions): Promise; readCsvAsJson(filePath: string, options?: CsvToJsonOptions): Promise; parseNdjson(input: string | ReadableStream, options?: any): Promise; toNdjson(data: any[], options?: any): string; use(name: string, plugin: any): this; getPluginManager(): PluginManager; getFastPathEngine(): FastPathEngine; listPlugins(): any[]; getStats(): any; configure(newOptions: JtcsvWithPluginsOptions): this; static create(options?: JtcsvWithPluginsOptions): JtcsvWithPlugins; } export default JtcsvWithPlugins; export { PluginManager, FastPathEngine, NdjsonParser }; export declare const create: typeof JtcsvWithPlugins.create;