import { RelationalJson, IRowValue } from './relational-json'; export declare class OutputGenerator { private relationalJson; protected newlineChars: string[]; constructor(relationalJson: RelationalJson); generateCsv(): string; generateMarkdown(): string; generateOutput(options: IOutputGeneratorOptions): string; protected removeUnwantedChars: (value: any, unwantedChars: string[], replaceWith?: string) => any; } export declare type TableLevelCallback = (output: string, table: RelationalJson) => string; export declare type RowLevelCallbackDelegate = (rowCol: IRowValue) => string; /** Options for specifying how output generator should output each level of iteration. * @export * @interface IOutputGeneratorOptions */ export interface IOutputGeneratorOptions { columnSeperator?: string; rowSeperator?: string; tableLevelCallback?: TableLevelCallback; rowLevelCallback?: RowLevelCallbackDelegate; rowLevelLinkedTableCallback?: RowLevelCallbackDelegate; rowEndOutput?: string; rowStartOutput?: string; tableEndOutput?: string; tableSpacing?: string; }