import { Readable, Transform } from "stream"; import { Record } from "./record"; interface CSVStreamConverterOptions { headers?: string[]; nullValue?: string; } type SerializeOptions = CSVStreamConverterOptions; export class RecordStream extends Transform { constructor(); filter(fn: (record: Record) => boolean): Serializable; filter(fn: (record: Record) => boolean): RecordStream; map(fn: (record: Record) => Record): Serializable; map(fn: (record: Record) => Record): RecordStream; recordMapStream(record: Record, noeval?: boolean): Serializable; } export class Serializable extends RecordStream { stream(type?: string, options?: SerializeOptions): Readable; } export class Parsable extends RecordStream { stream(type?: string): Readable; }