| /// <reference types="node"/> | 
| import {Stream} from 'stream'; | 
|   | 
| declare class MaxBufferErrorClass extends Error { | 
|     readonly name: 'MaxBufferError'; | 
|     constructor(); | 
| } | 
|   | 
| declare namespace getStream { | 
|     interface Options { | 
|         /** | 
|         Maximum length of the returned string. If it exceeds this value before the stream ends, the promise will be rejected with a `MaxBufferError` error. | 
|   | 
|         @default Infinity | 
|         */ | 
|         readonly maxBuffer?: number; | 
|     } | 
|   | 
|     interface OptionsWithEncoding<EncodingType = BufferEncoding> extends Options { | 
|         /** | 
|         [Encoding](https://nodejs.org/api/buffer.html#buffer_buffer) of the incoming stream. | 
|   | 
|         @default 'utf8' | 
|         */ | 
|         readonly encoding?: EncodingType; | 
|     } | 
|   | 
|     type MaxBufferError = MaxBufferErrorClass; | 
| } | 
|   | 
| declare const getStream: { | 
|     /** | 
|     Get the `stream` as a string. | 
|   | 
|     @returns A promise that resolves when the end event fires on the stream, indicating that there is no more data to be read. The stream is switched to flowing mode. | 
|   | 
|     @example | 
|     ``` | 
|     import * as fs from 'fs'; | 
|     import getStream = require('get-stream'); | 
|   | 
|     (async () => { | 
|         const stream = fs.createReadStream('unicorn.txt'); | 
|   | 
|         console.log(await getStream(stream)); | 
|         //               ,,))))))));, | 
|         //            __)))))))))))))), | 
|         // \|/       -\(((((''''((((((((. | 
|         // -*-==//////((''  .     `)))))), | 
|         // /|\      ))| o    ;-.    '(((((                                  ,(, | 
|         //          ( `|    /  )    ;))))'                               ,_))^;(~ | 
|         //             |   |   |   ,))((((_     _____------~~~-.        %,;(;(>';'~ | 
|         //             o_);   ;    )))(((` ~---~  `::           \      %%~~)(v;(`('~ | 
|         //                   ;    ''''````         `:       `:::|\,__,%%    );`'; ~ | 
|         //                  |   _                )     /      `:|`----'     `-' | 
|         //            ______/\/~    |                 /        / | 
|         //          /~;;.____/;;'  /          ___--,-(   `;;;/ | 
|         //         / //  _;______;'------~~~~~    /;;/\    / | 
|         //        //  | |                        / ;   \;;,\ | 
|         //       (<_  | ;                      /',/-----'  _> | 
|         //        \_| ||_                     //~;~~~~~~~~~ | 
|         //            `\_|                   (,~~ | 
|         //                                    \~\ | 
|         //                                     ~~ | 
|     })(); | 
|     ``` | 
|     */ | 
|     (stream: Stream, options?: getStream.OptionsWithEncoding): Promise<string>; | 
|   | 
|     /** | 
|     Get the `stream` as a buffer. | 
|   | 
|     It honors the `maxBuffer` option as above, but it refers to byte length rather than string length. | 
|     */ | 
|     buffer( | 
|         stream: Stream, | 
|         options?: getStream.OptionsWithEncoding | 
|     ): Promise<Buffer>; | 
|   | 
|     /** | 
|     Get the `stream` as an array of values. | 
|   | 
|     It honors both the `maxBuffer` and `encoding` options. The behavior changes slightly based on the encoding chosen: | 
|   | 
|     - When `encoding` is unset, it assumes an [object mode stream](https://nodesource.com/blog/understanding-object-streams/) and collects values emitted from `stream` unmodified. In this case `maxBuffer` refers to the number of items in the array (not the sum of their sizes). | 
|     - When `encoding` is set to `buffer`, it collects an array of buffers. `maxBuffer` refers to the summed byte lengths of every buffer in the array. | 
|     - When `encoding` is set to anything else, it collects an array of strings. `maxBuffer` refers to the summed character lengths of every string in the array. | 
|     */ | 
|     array<StreamObjectModeType>( | 
|         stream: Stream, | 
|         options?: getStream.Options | 
|     ): Promise<StreamObjectModeType[]>; | 
|     array( | 
|         stream: Stream, | 
|         options: getStream.OptionsWithEncoding<'buffer'> | 
|     ): Promise<Buffer[]>; | 
|     array( | 
|         stream: Stream, | 
|         options: getStream.OptionsWithEncoding<BufferEncoding> | 
|     ): Promise<string[]>; | 
|   | 
|     MaxBufferError: typeof MaxBufferErrorClass; | 
|   | 
|     // TODO: Remove this for the next major release | 
|     default: typeof getStream; | 
| }; | 
|   | 
| export = getStream; |