import { IMsgFromServer } from "./from-server/IFromServer";
import { Player } from "./Player";
import { Room } from "./Room";
export declare class User<TPlayer extends Player = Player> {
    private id;
    private token;
    private sendToClient;
    protected lastSeen: Date;
    protected name: string;
    private _player;
    constructor(id?: string, token?: string, sendToClient?: (msg: IMsgFromServer) => void);
    player: TPlayer | null;
    playGame(msg: any): void;
    getName(): string;
    setName(x: string): void;
    setRoom(x: Room | null): void;
    getId(): string;
    getToken(): string;
    send(msg: IMsgFromServer): void;
    toClient(turn?: boolean): {
        id: string;
        name: string;
        playing: boolean | null;
        turn: {} | null;
    };
    sendStatus(): void;
    markLastSeen(): void;
    secondsFromLastSeen(): number;
    isPlaying(): boolean | null;
}
