/**
 * Stream Module
 *
 * Native stream implementations for Node.js and Browser.
 *
 * - Node.js: Uses native `stream` module (Readable, Writable, Transform, Duplex, PassThrough)
 * - Browser: Uses Web Streams API (ReadableStream, WritableStream, TransformStream)
 *
 * Both implementations provide the same API for cross-platform compatibility.
 *
 * @example
 * ```typescript
 * import {
 *   Readable,
 *   Writable,
 *   Transform,
 *   Duplex,
 *   PassThrough,
 *   pipeline,
 *   createTransform,
 *   streamToUint8Array
 * } from './modules/stream.js';
 *
 * // Create a transform stream
 * const uppercase = createTransform<Uint8Array, Uint8Array>(chunk => {
 *   const text = new TextDecoder().decode(chunk);
 *   return new TextEncoder().encode(text.toUpperCase());
 * });
 *
 * // Use pipeline for clean stream composition
 * await pipeline(readable, uppercase, writable);
 * ```
 */
import type { ReadableStreamOptions, WritableStreamOptions, TransformStreamOptions, DuplexStreamOptions, PullStreamOptions, BufferedStreamOptions, TransformCallback, FlushCallback, WriteCallback, DestroyCallback, IEventEmitter, IReadable, IWritable, ITransform, IDuplex, IPullStream, IBufferedStream, IPassThrough, ICollector, DataChunk, EventListener, PipelineSource, PipelineTransform, PipelineDestination, ReadWriteBufferOptions } from "./types.js";
export type { ReadableStreamOptions, WritableStreamOptions, TransformStreamOptions, DuplexStreamOptions, PullStreamOptions, BufferedStreamOptions, TransformCallback, FlushCallback, WriteCallback, DestroyCallback, IEventEmitter, IReadable, IWritable, ITransform, IDuplex, IPullStream, IBufferedStream, IPassThrough, ICollector, DataChunk, EventListener, PipelineSource, PipelineTransform, PipelineDestination, ReadWriteBufferOptions };
import { Readable, Writable, Transform, Duplex, PassThrough, Collector, PullStream, BufferedStream, StringChunk, BufferChunk, createReadable, createWritable, createTransform, createCollector, createPassThrough, createPullStream, createBufferedStream, createReadableFromArray, createReadableFromAsyncIterable, createReadableFromGenerator, createReadableFromPromise, createDuplex, createEmptyReadable, createNullWritable, pipeline, finished, streamToPromise, streamToUint8Array, streamToBuffer, streamToString, drainStream, copyStream, addAbortSignal, compose, finishedAll, once, promisify, isReadable, isWritable, isTransform, isDuplex, isStream, isDestroyed, isDisturbed, isErrored, getDefaultHighWaterMark, setDefaultHighWaterMark, duplexPair, normalizeWritable as Writeable, consumers, promises } from "./streams.js";
import type { PipelineOptions, FinishedOptions } from "./streams.js";
export { Readable, Writable, Transform, Duplex, PassThrough, Collector, PullStream, BufferedStream, StringChunk, BufferChunk, createReadable, createWritable, createTransform, createCollector, createPassThrough, createPullStream, createBufferedStream, createReadableFromArray, createReadableFromAsyncIterable, createReadableFromGenerator, createReadableFromPromise, createDuplex, createEmptyReadable, createNullWritable, pipeline, finished, streamToPromise, streamToUint8Array, streamToBuffer, streamToString, drainStream, copyStream, addAbortSignal, compose, finishedAll, once, promisify, isReadable, isWritable, isTransform, isDuplex, isStream, isDestroyed, isDisturbed, isErrored, getDefaultHighWaterMark, setDefaultHighWaterMark, duplexPair, Writeable, consumers, promises };
export type { PipelineOptions, FinishedOptions };
import { EventEmitter } from "./event-emitter.js";
export { EventEmitter };
import { ChunkedBuilder, TransactionalChunkedBuilder } from "./chunked-builder.js";
import type { ChunkedBuilderOptions, BuilderSnapshot } from "./chunked-builder.js";
export { ChunkedBuilder, TransactionalChunkedBuilder };
export type { ChunkedBuilderOptions, BuilderSnapshot };
import { textEncoder, textDecoder, stringToUint8Array, uint8ArrayToString, uint8ArrayEquals, uint8ArrayIndexOf, uint8ArraySlice, toUint8Array, bufferToString, concatUint8Arrays } from "./shared.js";
export { textEncoder, textDecoder, stringToUint8Array, uint8ArrayToString, uint8ArrayEquals, uint8ArrayIndexOf, uint8ArraySlice, toUint8Array, bufferToString, concatUint8Arrays };
import { collect, text, json, bytes, fromString, fromJSON, fromBytes, transform, filter } from "./utils.js";
export { collect, text, json, bytes, fromString, fromJSON, fromBytes, transform, filter };
