/** * Concatenates N `ReadableStream`s into a single `ReadableStream`, sequentially. Stream 0 * is fully drained, then stream 1, …, then stream N-1. * * Pullers are created lazily — one stream at a time — so streams that haven't started yet * don't buffer data in the meantime. * * Throws `TypeError` if `streams` is missing, not an array, or empty. * * @typeParam S — the tuple type of input streams. * @param streams — non-empty array of `ReadableStream`s. Drained left-to-right. * @param options — optional. Currently no per-component options; reserved for future use. * @returns a `ReadableStream>` that emits stream 0's values, then stream 1's, etc. */ declare function concat< const S extends readonly ReadableStream[] = readonly ReadableStream[] >(streams: S, options?: concat.ConcatOptions): ReadableStream>; declare namespace concat { /** * Resolves to the value type of a `ReadableStream` — `R` for `ReadableStream`, otherwise `unknown`. * * @typeParam R — a `ReadableStream` whose value type to extract. */ export type StreamValue = R extends ReadableStream ? V : unknown; /** * Union of value types across the input streams. * * @typeParam S — the tuple type of input streams. */ export type ConcatItemType[]> = StreamValue; /** * Options accepted by `concat()` (Web variant). Currently no per-component options; reserved * for future use. */ export interface ConcatOptions {} } type StreamValue = concat.StreamValue; type ConcatItemType[]> = concat.ConcatItemType; type ConcatOptions = concat.ConcatOptions; export default concat; export {concat}; export type {StreamValue, ConcatItemType, ConcatOptions};