import { default as Player } from './Player';
import { default as ClientConnection } from './network/ClientConnection';
import { PlayerListEntry } from './network/packet/PlayerListPacket';
export default class SessionManager {
    private readonly connections;
    private readonly playerList;
    add(token: string, connection: ClientConnection): void;
    has(token: string): boolean;
    get(token: string): ClientConnection | null;
    remove(token: string): boolean;
    getPlayerList(): Map<string, PlayerListEntry>;
    getAllPlayers(): Player[];
    /**
     * Kick all players.
     * @param {string} reason - The reason to kick the players.
     */
    kickAllPlayers(reason: string): Promise<void>;
    findPlayer({ name, xuid }: {
        name?: string;
        xuid?: string;
    }): Player | null;
    /**
     * Just a compatibility layer to not break everything for now
     *
     * @deprecated
     * @param name
     * @returns
     */
    getPlayerByExactName(name: string): Player | null;
    /**
     * Just a compatibility layer to not break everything for now
     *
     * @deprecated
     * @param id
     * @returns
     */
    getPlayerById(id: bigint): Player | null;
}
//# sourceMappingURL=SessionManager.d.ts.map