///
import { ServerError } from './types';
import { Server as HttpServer } from 'http';
import { ServerOptions } from 'socket.io';
import TypedEmitter from "typed-emitter";
import { ConnectionStatus, OnStartHook } from './connection';
declare type BrowserToRtmpServerOptions = {
serverLogs?: {
minLevel?: 'silly' | 'trace' | 'debug' | 'info' | 'warn' | 'error' | 'fatal';
};
clientLogs?: {
sendErrorDetails?: boolean;
sendFfmpegOutput?: boolean;
};
maxFfmpegInstances?: number;
rtmpUrlRegexp?: RegExp;
socketio?: Partial;
hooks?: {
start?: OnStartHook;
};
};
declare type BrowserToRtmpServerEvents = {
error: (connectionId: string, error: ServerError) => void;
destroyed: (connectionId: string) => void;
ffmpegOutput: (connectionId: string, message: string) => void;
connection: (status: ConnectionStatus) => void;
};
declare const BrowserToRtmpServer_base: new () => TypedEmitter;
declare class BrowserToRtmpServer extends BrowserToRtmpServer_base {
private io;
private connections;
private logger;
private opts;
constructor(server: HttpServer, opts?: BrowserToRtmpServerOptions);
getConnections(): ConnectionStatus[];
getConnection(id: string): ConnectionStatus | undefined;
private countFfmpegInstances;
private onConnection;
}
export = BrowserToRtmpServer;