import { AllCardsService, GameTag, Race, ReferenceCard } from '@firestone-hs/reference-data';
import { BgsPlayerEntity } from '../bgs-player-entity';
import { BoardEntity } from '../board-entity';
export declare const isWhelp: (cardId: string, allCards: AllCardsService) => boolean;
export declare const validBonusKeywords: GameTag[];
export declare const hasKeyword: (entity: BoardEntity, keyword: GameTag) => boolean;
export declare class CardsData {
    private readonly allCards;
    ghastcoilerSpawns: readonly string[];
    impMamaSpawns: readonly string[];
    demonSpawns: readonly string[];
    gentleDjinniSpawns: readonly string[];
    kilrekSpawns: readonly string[];
    battlecryMinions: readonly string[];
    deathrattleMinions: readonly string[];
    pirateSpawns: readonly string[];
    beastSpawns: readonly string[];
    scrapScraperSpawns: readonly string[];
    bountyTavernSpellIds: readonly string[];
    endOfTurnMinions: readonly string[];
    magneticMinions: readonly ReferenceCard[];
    spellcraftPool: readonly ReferenceCard[];
    putricidePool1: readonly string[];
    putricidePool2: readonly string[];
    putridicePool2ForEternalSummoner: readonly string[];
    private pool;
    private minionsForTier;
    constructor(allCards: AllCardsService, init?: boolean);
    inititialize(validTribes?: readonly Race[], anomalies?: readonly string[]): void;
    avengeValue(cardId: string): number;
    defaultScriptDataNum(cardId: string): number;
    getTavernLevel(cardId: string): number;
    getRandomMinionForTavernTier(tavernTier: number): string;
    getRandomMinionForMinTavernTier(tavernTier: number): string;
    getRandomMechToMagnetize(tavernLimitUpper: number): string;
    getRandomMagneticVolumizer(playerEntity: BgsPlayerEntity, anomalies: readonly string[], tavernLimitUpper: number, sourceEntity?: BoardEntity, targetEntity?: BoardEntity): string;
    getRandomDivineShield(tavernLimitUpper: number): string;
    getRandomRally(tavernLimitUpper: number): string;
    getRandomMinionForTribe(tribe: Race, tavernLimitUpper: number, excludedCards?: readonly string[]): string;
    getRandomProtossMinion(tavernLimitUpper: number): string;
    getRandomSpellcraft(options: {
        maxTavernTier?: number;
    }): string;
    isGolden(card: ReferenceCard): boolean;
    private isValidTribe;
    getRandomTavernSpell(options?: {
        exactTavernTier?: number;
        maxTavernTier?: number;
    }): string;
    getTwoCostBattlegroundsSpellIdsImplemented(): string[];
}
