import { ClientToServerEvents, FfmpegConfig, InterServerEvents, ServerToClientEvents, SocketData } from './types'; import { Socket } from 'socket.io'; import { Logger } from 'tslog'; import TypedEmitter from "typed-emitter"; import { FfmpegEvents, FfmpegStatus } from './ffmpeg'; export declare type OnStartHook = (socket: Socket, event: FfmpegConfig) => FfmpegConfig; export declare type ConnectionEvents = FfmpegEvents; export declare type ConnectionStatus = { uuid: string; remoteAddress: string; ffmpeg?: FfmpegStatus; }; declare const Connection_base: new () => TypedEmitter; export default class Connection extends Connection_base { private socket; private ffmpeg?; private static count; private logger; private uuid; private onStartHook?; constructor(logger: Logger, socket: Socket, uuid: string, onStartHook?: (socket: Socket, event: FfmpegConfig) => FfmpegConfig); destroy(): void; getStatus(): ConnectionStatus; private onSocketError; private onStop; private onStart; private onFfmpegError; private sendErrorToClient; private validateFfmpegConfig; private onBinaryStream; } export {};