///
import { IEventEmitter } from "tsee";
export declare type StreamReadableEvents = {
close(): void;
error(err: Error): void;
data(chunk: Chunk): void;
};
export declare type StreamWritableEvents = {
close(): void;
error(err: Error): void;
};
export interface IStreamReadable extends IEventEmitter> {
}
export declare type StreamReadableLike = IStreamReadable | NodeJS.ReadableStream;
export interface IStreamWritable extends IEventEmitter {
write(chunk: Chunk, callback?: Function): boolean;
write(chunk: Chunk, stringEncoding?: string, callback?: Function): boolean;
}
export declare type StreamWritableLike = IStreamWritable | NodeJS.WritableStream;
export interface IStreamDuplex extends IEventEmitter & StreamWritableEvents> {
write(chunk: WriteChunk, callback?: Function): boolean;
write(chunk: WriteChunk, stringEncoding?: string, callback?: Function): boolean;
}
export declare type StreamDuplexLike = IStreamDuplex | NodeJS.ReadWriteStream;
export declare function asReadableStream, Chunk = string | Uint8Array>(rstream: T): IStreamReadable;
export declare function asWritableStream, Chunk = string | Uint8Array>(wstream: T): IStreamWritable;
export declare function asDuplexStream, ReadChunk = string | Uint8Array, WriteChunk = string | Uint8Array>(rwstream: T): IStreamDuplex;