import { Sideboard } from '@firestone-hs/deckstrings';
import { ReferenceCard } from '../models/reference-cards/reference-card';
import { GameFormat } from '../public-api';
export declare class AllCardsService {
    private cache;
    private cacheDbfId;
    private deckbuilding;
    constructor();
    getCard(id: string | number, errorWhenUndefined?: boolean): ReferenceCard;
    getMultipleCards(ids: (string | number)[]): ReferenceCard[];
    getCardFromDbfId(dbfId: number): ReferenceCard;
    getCardsFromDbfIds(dbfIds: number[]): ReferenceCard[];
    getCards(): ReferenceCard[];
    initializeCardsDbFromCards(allCards: readonly ReferenceCard[]): void;
    initializeCardsDb(version?: string, cardsFile?: string): Promise<void>;
    getRootCardId(cardId: string): string;
    normalizeDeckList(decklist: string): string;
    normalizeSideboard(sideboard: Sideboard, format: GameFormat): Sideboard;
    getBaseCardDbfIdForDeckbuilding(cardIdOrDbfId: number | string, format: GameFormat): number;
    getBaseCardIdForDeckbuilding(cardIdOrDbfId: number | string, format: GameFormat): string;
    private loadCards;
    private applyRelatedCardsData;
    protected getCardsStr(url: string): Promise<string>;
}
export declare const getBaseCardId: (cardId: string, allCards: AllCardsService) => string;
