/**
 * createBufferedRscStream.ts
 *
 * PURPOSE: Creates a buffered RSC stream factory that can generate multiple readable streams
 *
 * PROBLEM: Node.js streams can only be consumed once, but in client-side static generation
 * we need to consume the RSC stream twice:
 * 1. Write RSC content to index.rsc file
 * 2. Transform RSC content to HTML for index.html file
 *
 * SOLUTION: Buffer all RSC chunks and create a factory that can generate multiple
 * readable streams from the same buffered data.
 *
 * USAGE:
 * ```typescript
 * const bufferedStreamFactory = createBufferedRscStream(rscStream, {
 *   route: "/",
 *   logger: myLogger,
 *   verbose: true
 * });
 *
 * // Create separate streams for each consumer
 * const rscStream = bufferedStreamFactory.createStream();
 * const htmlStream = bufferedStreamFactory.createStream();
 *
 * // Can be piped to different destinations
 * rscStream.pipe(rscFileWriter);
 * htmlStream.pipe(htmlTransform);
 * ```
 */
import { Readable } from "node:stream";
export interface BufferedRscStreamOptions {
    route: string;
    logger?: any;
    verbose?: boolean;
}
export interface BufferedRscStreamFactory {
    createStream(): Readable;
    getBufferInfo(): {
        chunks: number;
        bytes: number;
    };
}
/**
 * Creates a buffered RSC stream factory that can generate multiple readable streams
 *
 * @param rscStream - The original RSC stream from the worker
 * @param options - Configuration options
 * @returns A factory that can create multiple readable streams from the same buffered data
 */
export declare function createBufferedRscStream(rscStream: Readable, options: BufferedRscStreamOptions): BufferedRscStreamFactory;
//# sourceMappingURL=createBufferedRscStream.d.ts.map