@azuro-org/sdk
Version:
One-stop solution for building betting dApps on the Azuro Protocol.
59 lines (58 loc) • 2.45 kB
TypeScript
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 {};