import { SpecQueue } from '@mlytics/core-ts/core/util/queue'; import { SpecConstraintTimer, Timer } from '@mlytics/core-ts/core/util/watch'; import { UserManager } from '../../peer/manager/user/manager'; declare class SwarmInfo { protected _swarmID: string; protected _swarmURI: string; protected _swarmUsers: SpecQueue; protected _segmentIDs: Set; protected _userManager: UserManager; protected _timer: Timer; constructor(options: SwarmInfoOptions); get swarmID(): string; get swarmURI(): string; get segmentIDs(): Set; set segmentIDs(value: Set); get swarmUsers(): SpecQueue; set swarmUsers(values: SpecQueue); get userManager(): UserManager; get timer(): SpecConstraintTimer; } type SwarmInfoOptions = { swarmID: string; swarmURI: string; segmentIDs: Set; }; type SwarmUser = { peerID: string; swarmScore: number; }; declare class SwarmScorer { static give(info: SwarmInfo): number; protected static _calculateByElapsedTime(info: SwarmInfo): number; protected static _calculateBySegmentsCompletion(info: SwarmInfo): number; protected static _calculateByUserConnections(info: SwarmInfo): number; } export { SwarmInfo, SwarmInfoOptions, SwarmUser, SwarmScorer };