import { Card } from './Card';
import { Deck } from './Deck';
export declare class Player {
    private static readonly MAX_CARDS;
    private static playerCounter;
    private readonly _id;
    private _name;
    private _cards;
    private _isCurrentTurn;
    constructor(name?: string);
    get id(): string;
    get name(): string;
    get cards(): readonly Card[];
    get isCurrentTurn(): boolean;
    get cardCount(): number;
    get isHandFull(): boolean;
    private _validatePlayer;
    changeName(newName: string): void;
    addCard(card: Card): void;
    addCards(cards: Card[]): void;
    removeCard(cardValue: number): Card | undefined;
    clearCards(): void;
    hasCard(cardValue: number): boolean;
    drawCardFromDeck(deck: Deck): Card | undefined;
    setCurrentTurn(isCurrentTurn: boolean): void;
    endTurn(players: Player[]): string;
    equals(other: Player): boolean;
    toString(): string;
    toJSON(): {
        id: string;
        name: string;
        cards: Array<{
            value: number;
            id?: string;
        }>;
        isCurrentTurn: boolean;
    };
    static fromJSON(data: {
        id: string;
        name: string;
        cards: Array<{
            value: number;
            id?: string;
        }>;
        isCurrentTurn: boolean;
    }): Player;
    static resetCounter(): void;
}
//# sourceMappingURL=Player.d.ts.map