/** * Represents a pile of cards */ export declare class Pile { /** * Name of the pile */ private readonly name; /** * The moment the deck was created */ private readonly createdAt; /** * The moment the deck was last updated (draw, shuffle, reset, ...) */ private updatedAt; private cardStack; constructor(name: string); /** * Shuffle the remaining cards in the pile */ shuffle(): void; /** * Add cards at the top of the pile * @param cards cards to add */ add(cards: string[]): void; /** * Add cards at the bottom of the pile * @param cards cards to add */ addBottom(cards: string[]): void; /** * Draw one or more cards from the top of the pile * @param amount (Optionnal) amount of cards to draw, defaults to 1 */ draw(amount?: number): string[]; /** * Draw one or more cards from the bottom of the pile * @param amount (Optionnal) amount of cards to draw, defaults to 1 */ drawBottom(amount?: number): string[]; /** * Returns if the pile is shuffled */ isShuffled(): boolean; /** * Return how many cards are left in the pile */ remaining(): number; /** * Return the cards array used by the pile, you should normaly not have to use this. */ getCards(): string[]; /** * Return the name of the pile * @returns the name of the pile */ getName(): string; /** * Return the moment the pile was created * @returns the moment the pile was created */ getCreatedAt(): Date; /** * Return the moment the pile was last updated * @returns the moment the pile was last updated */ getUpdatedAt(): Date; }