@sillyal/dominion
Version:
Representation of Dominion, a deck-building card game created by Donald X. Vaccarino and published by Rio Grande Games.
214 lines (213 loc) • 7.32 kB
TypeScript
export declare abstract class Card {
readonly name: string;
readonly cost: number;
protected constructor(name: string, cost: number);
abstract accept(visitor: CardVisitor): void;
}
export declare abstract class VictoryCard extends Card {
readonly points: number;
protected constructor(name: string, cost: number, points: number);
}
export declare class EstateCard extends VictoryCard {
constructor();
accept(visitor: CardVisitor): void;
}
export declare const Estate: EstateCard;
export declare class DuchyCard extends VictoryCard {
constructor();
accept(visitor: CardVisitor): void;
}
export declare const Duchy: DuchyCard;
export declare class ProvinceCard extends VictoryCard {
constructor();
accept(visitor: CardVisitor): void;
}
export declare const Province: ProvinceCard;
export declare class CurseCard extends VictoryCard {
constructor();
accept(visitor: CardVisitor): void;
}
export declare const Curse: CurseCard;
export declare class GardensCard extends VictoryCard {
constructor();
accept(visitor: CardVisitor): void;
}
export declare const Gardens: GardensCard;
export declare function isVictoryCard(card: Card): card is VictoryCard;
export declare abstract class TreasureCard extends Card {
readonly coins: number;
protected constructor(name: string, cost: number, coins: number);
}
export declare class CopperCard extends TreasureCard {
constructor();
accept(visitor: CardVisitor): void;
}
export declare const Copper: CopperCard;
export declare class SilverCard extends TreasureCard {
constructor();
accept(visitor: CardVisitor): void;
}
export declare const Silver: SilverCard;
export declare class GoldCard extends TreasureCard {
constructor();
accept(visitor: CardVisitor): void;
}
export declare const Gold: GoldCard;
export declare function isTreasureCard(card: Card): card is TreasureCard;
export declare abstract class ActionCard extends Card {
}
export declare class CellarCard extends ActionCard {
constructor();
accept(visitor: CardVisitor): void;
}
export declare const Cellar: CellarCard;
export declare class ChapelCard extends ActionCard {
constructor();
accept(visitor: CardVisitor): void;
}
export declare const Chapel: ChapelCard;
export declare class MoatCard extends ActionCard {
constructor();
accept(visitor: CardVisitor): void;
}
export declare const Moat: MoatCard;
export declare class HarbingerCard extends ActionCard {
constructor();
accept(visitor: CardVisitor): void;
}
export declare const Harbinger: HarbingerCard;
export declare class MerchantCard extends ActionCard {
constructor();
accept(visitor: CardVisitor): void;
}
export declare const Merchant: MerchantCard;
export declare class VassalCard extends ActionCard {
constructor();
accept(visitor: CardVisitor): void;
}
export declare const Vassal: VassalCard;
export declare class VillageCard extends ActionCard {
constructor();
accept(visitor: CardVisitor): void;
}
export declare const Village: VillageCard;
export declare class WorkshopCard extends ActionCard {
constructor();
accept(visitor: CardVisitor): void;
}
export declare const Workshop: WorkshopCard;
export declare class BureaucratCard extends ActionCard {
constructor();
accept(visitor: CardVisitor): void;
}
export declare const Bureaucrat: BureaucratCard;
export declare class MilitiaCard extends ActionCard {
constructor();
accept(visitor: CardVisitor): void;
}
export declare const Militia: MilitiaCard;
export declare class MoneylenderCard extends ActionCard {
constructor();
accept(visitor: CardVisitor): void;
}
export declare const Moneylender: MoneylenderCard;
export declare class PoachCard extends ActionCard {
constructor();
accept(visitor: CardVisitor): void;
}
export declare const Poacher: PoachCard;
export declare class RemodelCard extends ActionCard {
constructor();
accept(visitor: CardVisitor): void;
}
export declare const Remodel: RemodelCard;
export declare class SmithyCard extends ActionCard {
constructor();
accept(visitor: CardVisitor): void;
}
export declare const Smithy: SmithyCard;
export declare class ThroneRoomCard extends ActionCard {
constructor();
accept(visitor: CardVisitor): void;
}
export declare const ThroneRoom: ThroneRoomCard;
export declare class BanditCard extends ActionCard {
constructor();
accept(visitor: CardVisitor): void;
}
export declare const Bandit: BanditCard;
export declare class FestivalCard extends ActionCard {
constructor();
accept(visitor: CardVisitor): void;
}
export declare const Festival: FestivalCard;
export declare class LaboratoryCard extends ActionCard {
constructor();
accept(visitor: CardVisitor): void;
}
export declare const Laboratory: LaboratoryCard;
export declare class LibraryCard extends ActionCard {
constructor();
accept(visitor: CardVisitor): void;
}
export declare const Library: LibraryCard;
export declare class MarketCard extends ActionCard {
constructor();
accept(visitor: CardVisitor): void;
}
export declare const Market: MarketCard;
export declare class MineCard extends ActionCard {
constructor();
accept(visitor: CardVisitor): void;
}
export declare const Mine: MineCard;
export declare class SentryCard extends ActionCard {
constructor();
accept(visitor: CardVisitor): void;
}
export declare const Sentry: SentryCard;
export declare class WitchCard extends ActionCard {
constructor();
accept(visitor: CardVisitor): void;
}
export declare const Witch: WitchCard;
export declare class ArtisanCard extends ActionCard {
constructor();
accept(visitor: CardVisitor): void;
}
export declare const Artisan: ArtisanCard;
export declare function isActionCard(card: Card): card is ActionCard;
export interface CardVisitor {
visitEstate(estate: EstateCard): void;
visitDuchy(duchy: DuchyCard): void;
visitProvince(province: ProvinceCard): void;
visitCurse(curse: CurseCard): void;
visitGardens(gardens: GardensCard): void;
visitCopper(copper: CopperCard): void;
visitSilver(silver: SilverCard): void;
visitGold(gold: GoldCard): void;
visitCellar(cellar: CellarCard): void;
visitChapel(chapel: ChapelCard): void;
visitMoat(moat: MoatCard): void;
visitHarbinger(harbinger: HarbingerCard): void;
visitMerchant(merchant: MerchantCard): void;
visitVassal(vassal: VassalCard): void;
visitVillage(village: VillageCard): void;
visitWorkshop(workshop: WorkshopCard): void;
visitBureaucrat(bureaucrat: BureaucratCard): void;
visitMilitia(militia: MilitiaCard): void;
visitMoneylender(moneylender: MoneylenderCard): void;
visitPoacher(poacher: PoachCard): void;
visitRemodel(remodel: RemodelCard): void;
visitSmithy(smithy: SmithyCard): void;
visitThroneRoom(throneRoom: ThroneRoomCard): void;
visitBandit(bandit: BanditCard): void;
visitFestival(festival: FestivalCard): void;
visitLaboratory(laboratory: LaboratoryCard): void;
visitLibrary(library: LibraryCard): void;
visitMarket(market: MarketCard): void;
visitMine(mine: MineCard): void;
visitSentry(sentry: SentryCard): void;
visitWitch(witch: WitchCard): void;
visitArtisan(artisan: ArtisanCard): void;
}