import type { AssistantStreamChunk } from "../AssistantStreamChunk.js";
import type { PartProviderMetadata } from "../utils/types.js";
export type TextStreamController = {
    append(textDelta: string, providerMetadata?: PartProviderMetadata): void;
    close(providerMetadata?: PartProviderMetadata): void;
};
type TextStreamOptions = {
    strict?: boolean | undefined;
};
type ChunkSink = {
    enqueue(chunk: AssistantStreamChunk): void;
    close(): void;
};
export declare class TextStreamControllerImpl implements TextStreamController {
    private _controller;
    private _strict;
    private _isClosed;
    private _ignoreAppends;
    private _warnedDropped;
    constructor(controller: ChunkSink, options?: TextStreamOptions);
    append(textDelta: string, providerMetadata?: PartProviderMetadata): this;
    private _warnDroppedAfterClose;
    close(providerMetadata?: PartProviderMetadata): void;
    __internal_close(): void;
    __internal_truncate(): void;
}
export declare const createTextStreamController: (options?: TextStreamOptions) => readonly [ReadableStream<AssistantStreamChunk>, TextStreamControllerImpl];
export {};
//# sourceMappingURL=text.d.ts.map