import { ITelegramClient } from '../../client.types.js';
import { FileDownloadLocation, FileDownloadParameters } from '../../types/index.js';
/**
 * Download a file and return it as a Web Stream,
 * streaming file contents.
 *
 * @param params  File download parameters
 */
export declare function downloadAsStream(client: ITelegramClient, location: FileDownloadLocation, params?: FileDownloadParameters & {
    /**
     * If passed, the maximum number of bytes that can be buffered in the stream.
     *
     * If the consumer isn't keeping up, the stream will pause until the buffer is below this limit.
     *
     * Note that this parameter is not guaranteed to be strictly the maximum number of bytes
     * buffered at once, since the underlying download is parallelized, and is treated merely as a hint.
     * The actual number of bytes buffered at once can be as much as `partSize * numWorkers`
     */
    highWaterMark?: number;
}): ReadableStream<Uint8Array>;
