import type { IPlayerManagementUseCase, GetPlayerDetailOptions, PlayerDetail } from '../ports/inbound/IPlayerManagementUseCase.js'; import type { IPlayerRepository } from '../ports/outbound/IPlayerRepository.js'; import type { IRconPort } from '../ports/outbound/IRconPort.js'; import type { IPlayerSessionUseCase } from '../ports/inbound/IPlayerSessionUseCase.js'; import { Player } from '../../domain/index.js'; /** * Player Management Use Case * * Merges file-based known players (`IPlayerRepository`) with the live * online player names resolved by the caller via RCON `list` (#528, Phase 1). * `rcon` is optional — only needed for `include: ['nbt']`'s `livePosition` * (#528, Phase 3); omit it when the caller never requests `'nbt'`. * `playerSessions` is optional — only needed for `include: ['sessions']` * (#528, Phase 4); omit it when the caller never requests `'sessions'`. */ export declare class PlayerManagementUseCase implements IPlayerManagementUseCase { private readonly playerRepository; private readonly rcon?; private readonly playerSessions?; constructor(playerRepository: IPlayerRepository, rcon?: IRconPort | undefined, playerSessions?: IPlayerSessionUseCase | undefined); listPlayers(serverName: string, onlineNames: string[]): Promise; getPlayerDetail(serverName: string, uuid: string, onlineNames?: string[], options?: GetPlayerDetailOptions): Promise; /** RCON live position for an online player; `null` on any failure (no container, no rcon, RCON error). */ private getLivePosition; } //# sourceMappingURL=PlayerManagementUseCase.d.ts.map