import { IMsgFromClient } from "./from-client/ClientMessage";
import { IMsgFromServer } from "./from-server/IFromServer";
import { User } from "./User";
export declare class UserManager {
    private sendToClient;
    private users;
    constructor(sendToClient?: (id: string, msg: IMsgFromServer) => void);
    add(x: User): boolean;
    remove(p: User): void;
    find(id: string): User | undefined;
    findByMessage(m: IMsgFromClient): User | undefined;
    count(): number;
    makeUser(id: string, token: string): User<import("./Player").Player>;
    sendToAll(msg: IMsgFromServer): void;
    toClient(): {
        id: string;
        name: string;
        playing: boolean | null;
        turn: {} | null;
    }[];
    findByName(name: string): User<import("./Player").Player> | undefined;
    getUsersForRemove(): User<import("./Player").Player>[];
}
