/// import { SCTP_STATE } from "./const"; import { Chunk, ForwardTsnChunk, DataChunk } from "./chunk"; import { Transport } from "./transport"; import { Event } from "rx.mini"; import { Unpacked } from "./helper"; import { StreamResetOutgoingParam, StreamParam } from "./param"; declare const SCTPConnectionStates: readonly ["new", "closed", "connected", "connecting"]; declare type SCTPConnectionState = Unpacked; export declare class SCTP { transport: Transport; port: number; stateChanged: { [key in SCTPConnectionState]: Event; }; associationState: SCTP_STATE; started: boolean; state: SCTPConnectionState; private hmacKey; isServer: boolean; private localPartialReliability; private localPort; private localVerificationTag; remoteExtensions: number[]; remotePartialReliability: boolean; private remotePort?; private remoteVerificationTag; private advertisedRwnd; private inboundStreams; _inboundStreamsCount: number; _inboundStreamsMax: number; private lastReceivedTsn?; private sackDuplicates; private sackMisOrdered; private sackNeeded; private cwnd; private fastRecoveryExit?; private fastRecoveryTransmit; private forwardTsnChunk?; private flightSize; outboundQueue: DataChunk[]; private outboundStreamSeq; _outboundStreamsCount: number; private localTsn; private lastSackedTsn; private advancedPeerAckTsn; private partialBytesAcked; private sentQueue; reconfigRequestSeq: number; reconfigResponseSeq: number; reconfigRequest?: StreamResetOutgoingParam; reconfigQueue: number[]; private srtt?; private rttvar?; private rto; private t1Handle?; private t1Chunk?; private t1Failures; private t2Handle?; private t2Chunk?; private t2Failures; private t3Handle?; private ssthresh?; constructor(transport: Transport, port?: number); get maxChannels(): number; static client(transport: Transport, port?: number): SCTP; static server(transport: Transport, port?: number): SCTP; private handleData; private sendSack; private receiveChunk; private getExtensions; onDeleteStreams: (streamIds: number[]) => void; private receiveReconfigParam; private receiveDataChunk; private receiveSackChunk; receiveForwardTsnChunk(chunk: ForwardTsnChunk): void; private updateRto; onRecieve?: (streamId: number, ppId: number, data: Buffer) => void; private receive; private getInboundStream; private markReceived; send(streamId: number, ppId: number, userData: Buffer, expiry?: number | undefined, maxRetransmits?: number | undefined, ordered?: boolean): void; private transmit; transmitReconfig(): void; sendReconfigParam(param: StreamParam): void; sendResetRequest(streamId: number): void; private flightSizeIncrease; private flightSizeDecrease; private t1Cancel; private t1Expired; private t1Start; private t2Cancel; private t2Expired; private t2Start; private t3Expired; private t3Restart; private t3Start; private t3Cancel; private updateAdvancedPeerAckPoint; private maybeAbandon; static getCapabilities(): RTCSctpCapabilities; start(remotePort: number): void; private init; private setExtensions; sendChunk(chunk: Chunk): void; setState(state: SCTP_STATE): void; setConnectionState(state: SCTPConnectionState): void; stop(): void; abort(): void; private removeAllListeners; } export declare class InboundStream { reassembly: DataChunk[]; sequenceNumber: number; addChunk(chunk: DataChunk): void; popMessages(): Generator<[number, number, Buffer]>; pruneChunks(tsn: number): number; } export declare class RTCSctpCapabilities { maxMessageSize: number; constructor(maxMessageSize: number); } export {};