import { Card } from './Card';
export type PileDirection = 'asc' | 'desc';
export declare class Pile {
    private readonly _number;
    private readonly _direction;
    private _lastCard;
    private readonly _id?;
    constructor(_number: number, _direction: PileDirection, _lastCard: Card, _id?: string | undefined);
    get number(): number;
    get direction(): PileDirection;
    get lastCard(): Card;
    get id(): string | undefined;
    private _validatePileNumber;
    private _validateLastCard;
    canAcceptCard(card: Card): boolean;
    addCard(card: Card): void;
    equals(other: Pile): boolean;
    toString(): string;
    toJSON(): {
        number: number;
        direction: PileDirection;
        lastCard: {
            value: number;
            id?: string;
        };
        id?: string;
    };
    static fromJSON(data: {
        number: number;
        direction: PileDirection;
        lastCard: {
            value: number;
            id?: string;
        };
        id?: string;
    }): Pile;
    static createInitialPiles(): Pile[];
}
//# sourceMappingURL=Pile.d.ts.map