import { SheetData, Columns, Schema, CommonOptions } from '../index.d'; export { Row } from '../index.d'; // `Readable` type becomes globally available after installing `@types/node`. // https://stackoverflow.com/questions/49508610/type-for-nodejs-stream-stream-in-typescript // export interface Stream { // pipe(output: Stream): void; // } // If `filePath` parameter is not passed then the returned `Promise` // resolves to a `Stream`-like object having a `.pipe()` method. // With Schema. interface WithSchemaCommonOptionsWriteToFile extends CommonOptions { schema: Schema | Schema[]; filePath: string; } interface WithSchemaCommonOptionsReturnBuffer extends CommonOptions { schema: Schema | Schema[]; buffer: true; } interface WithSchemaCommonOptionsReturnStream extends CommonOptions { schema: Schema | Schema[]; } interface WithSchemaOptionsWriteToFile extends WithSchemaCommonOptionsWriteToFile { sheet?: string; } interface WithSchemaOptionsMultipleSheetsWriteToFile extends WithSchemaCommonOptionsWriteToFile { sheets?: string[]; } interface WithSchemaOptionsReturnBuffer extends WithSchemaCommonOptionsReturnBuffer { sheet?: string; } interface WithSchemaOptionsMultipleSheetsReturnBuffer extends WithSchemaCommonOptionsReturnBuffer { sheets?: string[]; } interface WithSchemaOptionsReturnStream extends WithSchemaCommonOptionsReturnStream { sheet?: string; } interface WithSchemaOptionsMultipleSheetsReturnStream extends WithSchemaCommonOptionsReturnStream { sheets?: string[]; } declare function writeXlsxFile( objects: Object[] | Object[][], options: WithSchemaOptionsWriteToFile | WithSchemaOptionsMultipleSheetsWriteToFile ) : Promise; declare function writeXlsxFile( objects: Object[] | Object[][], options: WithSchemaOptionsReturnBuffer | WithSchemaOptionsMultipleSheetsReturnBuffer ) : Promise; declare function writeXlsxFile( objects: Object[] | Object[][], options: WithSchemaOptionsReturnStream | WithSchemaOptionsMultipleSheetsReturnStream ) : Promise; // Without Schema. interface WithoutSchemaCommonOptionsWriteToFile extends CommonOptions { columns?: Columns | Columns[]; filePath: string; } interface WithoutSchemaCommonOptionsReturnBuffer extends CommonOptions { columns?: Columns | Columns[]; buffer: true; } interface WithoutSchemaCommonOptionsReturnStream extends CommonOptions { columns?: Columns | Columns[]; } interface WithoutSchemaOptionsWriteToFile extends WithoutSchemaCommonOptionsWriteToFile { sheet?: string; } interface WithoutSchemaOptionsMultipleSheetsWriteToFile extends WithoutSchemaCommonOptionsWriteToFile { sheets?: string[]; } interface WithoutSchemaOptionsReturnBuffer extends WithoutSchemaCommonOptionsReturnBuffer { sheet?: string; } interface WithoutSchemaOptionsMultipleSheetsReturnBuffer extends WithoutSchemaCommonOptionsReturnBuffer { sheets?: string[]; } interface WithoutSchemaOptionsReturnStream extends WithoutSchemaCommonOptionsReturnStream { sheet?: string; } interface WithoutSchemaOptionsMultipleSheetsReturnStream extends WithoutSchemaCommonOptionsReturnStream { sheets?: string[]; } declare function writeXlsxFile( data: SheetData | SheetData[], options: WithoutSchemaOptionsWriteToFile | WithoutSchemaOptionsMultipleSheetsWriteToFile ) : Promise; declare function writeXlsxFile( data: SheetData | SheetData[], options: WithoutSchemaOptionsReturnBuffer | WithoutSchemaOptionsMultipleSheetsReturnBuffer ) : Promise; declare function writeXlsxFile( data: SheetData | SheetData[], options?: WithoutSchemaOptionsReturnStream | WithoutSchemaOptionsMultipleSheetsReturnStream ) : Promise; export default writeXlsxFile;