import { Card, Hand } from '@poker-apprentice/types'; import { EquityResult } from './types'; export interface EquityOptions { communityCards: Card[]; expectedCommunityCardCount: number; expectedHoleCardCount: number; minimumHoleCardsUsed: number; maximumHoleCardsUsed: number; /** * Maximum number of hand evaluations allowed before `equity` refuses to run (default 500 * million, roughly a few seconds of computation). Exhaustive enumeration guarantees exact * results but grows combinatorially with the number of unknown cards; beyond this limit, * `simulate` should be used instead. */ maximumEvaluations?: number; } /** @deprecated Use {@link EquityOptions} instead. */ export type OddsOptions = EquityOptions; /** * Determines the exact equity of each hand by exhaustively enumerating every possible * combination of the not-yet-dealt cards (any unspecified hole cards and the remaining * community cards) and evaluating every hand in each resulting scenario. * @param {Hand[]} allHoleCards Each player's known hole cards. * @param {EquityOptions} options Game rules: expected card counts and hole-card usage limits. * @returns {EquityResult[]} The win/tie counts and pot equity of each hand, in the order provided. */ export declare const equity: (allHoleCards: Hand[], options: EquityOptions) => EquityResult[]; /** @deprecated Use {@link equity} instead. */ export declare const odds: (allHoleCards: Hand[], options: EquityOptions) => EquityResult[];