import { CallingResult, CallingsCall, Card, CardColor, CardColorLocal, CardPoints, CardPointsAdut, CardType, CardTypeLocal, PlayedCard } from './types';
export declare function mulberry32(seed: number): () => number;
export declare function shuffleCards(deck: Card[], times?: number, rng?: () => number): Card[];
export declare function getCardValue(card: Card, adut: CardColor): CardPointsAdut | CardPoints;
export declare function firstLetterUpperCase<T extends string>(str: T): Capitalize<T>;
export declare function getCardImageUrl(card: Card, size: "large" | "medium" | "small" | undefined, imageProvider: string): string;
export declare function getCardColorImageUrl(color: CardColor, size: "large" | "medium" | "small" | undefined, imageProvider: string): string;
export declare function createDeck(shuffle?: number): Card[];
export declare function isConsecutiveSequence(cards: Card[]): boolean;
export declare function validateCalling(cards: Card[], adut: CardColor): CallingResult | null;
export declare function getHighestCall(calls: CallingsCall[]): CallingsCall | null;
export declare function compareCallStrength(call1: CallingsCall, call2: CallingsCall): number;
export declare function getHighestCardInSequence(cards: Card[]): Card;
export declare function canPlayCard(card: Card, currentTrick: PlayedCard[], adut: CardColor, playerCards: Card[]): boolean;
export declare function findLegalCard(currentTrick: PlayedCard[], adut: CardColor, playerCards: Card[]): Card | null;
export declare function canBeatCard(card: Card, targetCard: Card, adut: CardColor): boolean;
export declare function getHighestTrumpInTrick(trick: PlayedCard[], adut: CardColor): Card | null;
export declare function getHighestNonTrumpInTrick(trick: PlayedCard[], adut: CardColor): Card | null;
export declare function cardColorLocalized(color: CardColor): CardColorLocal;
export declare function cardTypeLocalized(type: CardType): CardTypeLocal;
export declare function normalizeLocalColor(color: CardColorLocal): CardColor;
export declare function normalizeLocalType(type: CardTypeLocal): CardType;
