/// import {EventEmitter} from 'events'; import { SRTResult, SRTSockOpt } from '../src/srt-api-enums'; import { SRTSockOptValue } from './srt-api'; import { AsyncSRT } from './srt-api-async'; export class AsyncReaderWriter { constructor(asyncSrt: AsyncSRT, socketFd: number); writeChunks(buffer: Uint8Array | Buffer, mtuSize: number, writesPerTick: number): Promise; readChunks(minBytesRead: number, readBufSize: number, onRead: (buf: Uint8Array) => void, onError: (readResult: (SRTResult.SRT_ERROR | null)) => void): Promise; } export class SRTConnection extends EventEmitter { readonly fd: number; readonly gotFirstData: boolean; read(): Promise; write(chunk: Buffer | Uint8Array): Promise; close(): Promise; isClosed(): boolean; onData(): void; getReaderWriter(): AsyncReaderWriter; getSocketOpt(opt: number): Promise; setSocketOpt(opt: number, val: number|boolean|string): Promise; } export class SRTServer extends EventEmitter /**/ { static create(port: number, address?: string, epollPeriodMs?: number): Promise; port: number; address: string; epollPeriodMs: number; socket: number; epid: number; constructor(port: number, address?: string, epollPeriodMs?: number); create(): Promise; open(): Promise; dispose(): Promise; setSocketFlags(opts: SRTSockOpt[], values: SRTSockOptValue[]): Promise; getConnectionByHandle(fd: number); getAllConnections(): SRTConnection[]; }