/** * @fileoverview Index export. * @license * SPDX-License-Identifier: Apache-2.0 */ export type StreamItems = T | AsyncIterable> | StreamItems[]; export interface WritableStream { write(value: StreamItems): Promise; writeAndClose(value: StreamItems): Promise; close(): Promise; error(reason?: string): void; } export type ReadableStream = AsyncIterable & PromiseLike; /** Placeholder to write or read a tree or chunk fragments to later. */ export interface Stream extends ReadableStream, WritableStream { readonly isClosed: boolean; readonly size: number; readonly items: StreamItems[]; rawAsyncIterator(): AsyncIterator>; }