import { GameChoice, GameDefinition, TokenWithImage } from "../types/types"; interface UseBetCalculationsProps { selection: T; betAmount: bigint | undefined; betCount: number | undefined; gameDefinition: GameDefinition | undefined; token: TokenWithImage | undefined; } interface UseBetCalculationsResult { totalBetAmount: bigint; grossMultiplier: number; netMultiplier: number; grossPayout: bigint; netPayout: bigint; betSwirlFees: bigint; formattedNetMultiplier: number; } /** * Calculates payout amounts and multipliers for a bet on a casino game. * House edge represents the mathematical advantage the casino has over players. * * @param gameType - Type of casino game being played * @param selection - Player's choice (coin face or dice number) * @param houseEdge - Casino's edge in basis points (e.g., 100 = 1%) * @param betAmount - Amount wagered by the player * @param betCount - Number of bets to be placed * @returns Payout calculations including multipliers and target payout * * @example * ```ts * const { targetPayoutAmount, multiplier } = useBetCalculations({ * gameType: CASINO_GAME_TYPE.COINTOSS, * selection: COINTOSS_FACE.HEADS, * houseEdge: 100, // 1% house edge * betAmount: parseEther('1') * }) * ``` */ export declare function useBetCalculations({ selection, betAmount, betCount, gameDefinition, token, }: UseBetCalculationsProps): UseBetCalculationsResult; export {};