import type { AssistantStreamChunk } from "../../AssistantStreamChunk.js";
import { promiseWithResolvers } from "../../../utils/promiseWithResolvers.js";
export type MergeStreamFinishOrder = {
    previous: () => Promise<void>;
    delivered: ReturnType<typeof promiseWithResolvers<void>>;
};
type PartIndexReference = {
    value: number | undefined;
    promise: Promise<number>;
};
type MergeStreamOptions = {
    orderedFinish?: MergeStreamFinishOrder | undefined;
    written?: (() => number) | undefined;
    pathTransform?: "merge" | undefined;
};
export declare const createMergeStream: () => {
    readable: ReadableStream<AssistantStreamChunk>;
    isSealed(): boolean;
    isCancelled(): boolean;
    isErrored(): boolean;
    seal(): void;
    addStream: (stream: ReadableStream<AssistantStreamChunk>, pipeTask?: Promise<unknown>, options?: MergeStreamOptions) => void;
    enqueuePartStart(chunk: AssistantStreamChunk): PartIndexReference;
    enqueue(chunk: AssistantStreamChunk): void;
};
export {};
//# sourceMappingURL=merge.d.ts.map