import { StreamCloseCode } from "./StreamCloseCode"; import { StreamState } from "./StreamState"; declare type WriterCallback = (write: (B extends true ? ((data: ArrayBuffer) => void) : ((data: any, processComplexTypes?: boolean) => void)), end: (B extends true ? ((data?: ArrayBuffer) => void) : ((data?: any, processComplexTypes?: boolean) => void))) => void | Promise; interface TimeoutOption { acceptTimeout?: number; sizePermissionTimeout?: number | null; endClosureTimeout?: number | null; } export default class WriteStream { private readonly acceptTimeout; private readonly sizePermissionTimeout; private readonly endClosureTimeout; readonly transmitted: boolean; readonly binary: boolean; get object(): boolean; readonly state: StreamState; private _allowedSize; private _sentSize; private _resolveSizePermissionWait; private _cancelLowSendBackpressureWait; private _writeLock; private _closePromiseResolve; readonly closed: Promise; private _openedPromiseResolve; readonly opened: Promise; readonly closeCode?: StreamCloseCode | number; private _id; private _transport; private _acceptTimeoutTicker; private _endClosureTimeoutTicker; private _eofSent; constructor(binary?: B, timeouts?: TimeoutOption); useWriter(callback: WriterCallback): void; private get remainingSizeAllowed(); private waitForMoreSizePermission; private waitForLowSendBackpressure; private _allowSize; private binaryWrite; private _internalSendBinaryChunked; private objectWrite; readonly write: (B extends true ? ((data: ArrayBuffer | null) => Promise) : ((data: any | null, processComplexTypes?: boolean) => Promise)); private binaryEnd; private objectEnd; readonly end: (B extends true ? ((data?: ArrayBuffer) => Promise) : ((data?: any, processComplexTypes?: boolean) => Promise)); private _sendBinaryChunk; private _sendObjectChunk; private _sendStreamEnd; private _onEOFSend; get closedSuccessfully(): boolean; close(closeCode: Exclude | number): void; private _close; } export {};