import WritableTrackingBuffer from '../tracking-buffer/writable-tracking-buffer';
/**
 * A value that is read while the request is written, rather than being fully
 * in memory: the `max` text and binary types accept an async iterable of
 * chunks (strings or buffers) here.
 */
export declare function isAsyncIterable(value: unknown): value is AsyncIterable<unknown>;
/**
 * Writes an in-memory PLP value into `buffer`: the unknown-length marker,
 * the bytes as one chunk if there are any, then the terminator.
 */
export declare function writePlpValue(buffer: WritableTrackingBuffer, bytes: Buffer): void;
/**
 * Writes a PLP value read from `source` into `buffer`: the unknown-length
 * marker, then one length-prefixed chunk per non-empty encoded piece, then
 * the terminator. Yields whenever the buffer holds a chunk's worth, as the
 * rest of a `DataType.writeValue` promises.
 */
export declare function writePlpStream(buffer: WritableTrackingBuffer, source: AsyncIterable<unknown>, encode: (chunk: unknown) => Buffer): AsyncGenerator<void, void>;
