/// import { WriteStream } from 'fs'; import { Field, RawData, Table } from '../interfaces'; export declare type StreamBuilderType = NodeJS.ReadWriteStream | WriteStream; export declare enum OutputFormat { Csv = "csv", Json = "json" } export declare enum ActionType { ActionAppendDefault = "append-default", ActionExtendContract = "extend-contract", ActionValidate = "validate", ActionFilter = "filter", ActionOnData = "on-data" } export interface ActionFactoryAction { type: ActionType; filterFn?: (data: RawData) => boolean; onDataFn?: (data: RawData) => any; } export interface ActionFactorySource { folder: string; fields: Field[]; format?: OutputFormat; } export interface ActionFactoryOptions { table: Table; input: ActionFactorySource; actions: ActionFactoryAction[]; output?: ActionFactorySource; }