/** * This is a utility function to make scheduling sequential tasks that run back to back easier. * We schedule on the same queue (setTimeout) at the same time to ensure no other events can sneak in between. */ export declare function prerenderAndAbortInSequentialTasks(prerender: () => Promise, abort: () => void): Promise; /** * Like `prerenderAndAbortInSequentialTasks`, but with another task between `prerender` and `abort`, * which allows us to move a part of the render into a separate task. */ export declare function prerenderAndAbortInSequentialTasksWithStages(prerender: () => Promise, advanceStage: () => void, abort: () => void): Promise; export declare class ReactServerResult { private _stream; constructor(stream: ReadableStream); tee(): ReadableStream>; consume(): ReadableStream>; } export type ReactServerPrerenderResolveToType = { prelude: ReadableStream; }; export declare function createReactServerPrerenderResult(underlying: Promise): Promise; export declare function createReactServerPrerenderResultFromRender(underlying: ReadableStream): Promise; export declare class ReactServerPrerenderResult { private _chunks; private assertChunks; private consumeChunks; consume(): void; constructor(chunks: Array); asUnclosingStream(): ReadableStream; consumeAsUnclosingStream(): ReadableStream; asStream(): ReadableStream; consumeAsStream(): ReadableStream; } export declare function processPrelude(unprocessedPrelude: ReadableStream): Promise<{ prelude: ReadableStream>; preludeIsEmpty: boolean; }>;