UNPKG

@azuro-org/sdk

Version:

One-stop solution for building betting dApps on the Azuro Protocol.

59 lines (58 loc) 2.45 kB
import React from 'react'; import { type Selection, type Freebet, ConditionState, OutcomeState } from '@azuro-org/toolkit'; import { type Address } from 'viem'; export declare enum BetslipDisableReason { ConditionState = "ConditionState", BetAmountGreaterThanMaxBet = "BetAmountGreaterThanMaxBet", BetAmountLowerThanMinBet = "BetAmountLowerThanMinBet", ComboWithForbiddenItem = "ComboWithForbiddenItem", ComboWithSameGame = "ComboWithSameGame", SelectedOutcomesTemporarySuspended = "SelectedOutcomesTemporarySuspended", TotalOddsTooLow = "TotalOddsTooLow", /** * @deprecated Only for v2 */ PrematchConditionInStartedGame = "PrematchConditionInStartedGame", FreeBetExpired = "FreeBetExpired" } type RemoveItemProps = Selection; export type BaseBetslipContextValue = { items: AzuroSDK.BetslipItem[]; addItem: (itemProps: AzuroSDK.BetslipItem) => void; addItems: (items: AzuroSDK.BetslipItem[], replace?: boolean) => void; removeItem: (itemProps: RemoveItemProps) => void; clear: () => void; }; export type DetailedBetslipContextValue = { betAmount: string; odds: Record<string, number>; totalOdds: number; maxBet: number | undefined; minBet: number | undefined; selectedFreebet: Freebet | undefined; freebets: Freebet[] | undefined | null; states: Record<string, ConditionState>; /** map of `${conditionId}-${outcomeId}` to its current `OutcomeState` */ outcomeStates: Record<string, OutcomeState>; disableReason: BetslipDisableReason | undefined; changeBetAmount: (value: string) => void; selectFreebet: (value?: Freebet) => void; isStatesFetching: boolean; isOutcomeStatesFetching: boolean; isOddsFetching: boolean; isFreebetsFetching: boolean; /** @deprecated use `isBetCalculationFetching` instead */ isMaxBetFetching: boolean; isBetCalculationFetching: boolean; isBetAllowed: boolean; }; export declare const BaseBetslipContext: React.Context<BaseBetslipContextValue | null>; export declare const DetailedBetslipContext: React.Context<DetailedBetslipContextValue | null>; export declare const useBaseBetslip: () => BaseBetslipContextValue; export declare const useDetailedBetslip: () => DetailedBetslipContextValue; export type BetslipProviderProps = { children: React.ReactNode; affiliate?: Address; }; export declare const BetslipProvider: React.FC<BetslipProviderProps>; export {};