import { Sub } from "@e280/stz"; import { DerivedFn, SignalFn } from "@e280/strata"; import * as Sparrow from "../../../browser/index.js"; import { Lobby, UserDetails } from "../types.js"; import { SignallerStats } from "../../../signaller/types.js"; import { ConnectivityReport } from "../../../browser/utils/report-connectivity.js"; type User = { id: string; reputation: string; details: UserDetails; connection: Sparrow.Connection | null; report: ConnectivityReport | null; }; export declare class HostingSituation { #private; url: string; hosted: Sparrow.Host; users: SignalFn>; stats: SignalFn; stopRtcStats: () => void; stopSignallerStats: () => void; lobby: DerivedFn; stopUpdates: () => void; constructor(url: string, hosted: Sparrow.Host, users: SignalFn>, stats: SignalFn, onClosed: Sub); static start(url: string, closed: () => void): Promise; getLobby(): Lobby; findUser(id: string): User | undefined; killUser(id: string): void; getConnections(): Sparrow.Connection[]; } export {};