import { DEFAULT_DELIMITER, DEFAULT_QUOTATION } from '../../core/constants'; import { CSVBinary, ParseBinaryOptions, ParseOptions } from '../../core/types'; import { InternalEngineConfig } from '../config/InternalEngineConfig'; import { WorkerSession } from '../../worker/helpers/WorkerSession'; /** * Worker strategy interface. * * Defines how data is communicated between main thread and worker thread. * * @internal */ export interface WorkerStrategy { /** * Strategy name. */ readonly name: string; /** * Execute parsing with this strategy. * * @param input - Input data (string, binary, or stream) * @param options - Parse options * @param session - Worker session (can be null for single-use worker) * @param engineConfig - Engine configuration * @returns Async iterable iterator of parsed records */ execute
= readonly string[], Delimiter extends string = DEFAULT_DELIMITER, Quotation extends string = DEFAULT_QUOTATION>(input: string | CSVBinary | ReadableStream, options: ParseOptions | ParseBinaryOptions | undefined, session: WorkerSession | null, engineConfig: InternalEngineConfig): AsyncIterableIterator; }