import { B as BaseStreamInfo, e as TextStreamInfo, b as ByteStreamInfo } from '../types-f7wTlFjs.cjs';
import '@livekit/rtc-ffi-bindings';

declare class BaseStreamWriter<T, InfoType extends BaseStreamInfo> {
    protected writableStream: WritableStream<T>;
    protected defaultWriter: WritableStreamDefaultWriter<T>;
    protected onClose?: () => void;
    readonly info: InfoType;
    constructor(writableStream: WritableStream<T>, info: InfoType, onClose?: () => void);
    write(chunk: T): Promise<void>;
    close(): Promise<void>;
}
declare class TextStreamWriter extends BaseStreamWriter<string, TextStreamInfo> {
}
declare class ByteStreamWriter extends BaseStreamWriter<Uint8Array, ByteStreamInfo> {
}

export { ByteStreamWriter, TextStreamWriter };
