UNPKG

typescript-libraries

Version:
81 lines (80 loc) 2.39 kB
export interface TSBSSelection { k: string; m: string; o: number; id: string; sk?: string; s?: string; } export interface TSBSEventSelection { k: string; e: any; s: TSBSSelection; } export type TSBSCallback = (stake: number, odd: number, keys: any, group?: number | string) => { payout: number; stake: number; }; export type TSBSResult = { numberOfBets: number; totalStake: number; totalOdds: number; minPayOut?: number; maxPayOut: number; }; export type TSBSMode = 'single' | 'multiple' | 'multiple+' | 'system'; export declare class TSBetSlip { static get modes(): Array<TSBSMode>; static initModes({ modes, multiplePlus }: { modes: any; multiplePlus: any; }): Array<TSBSMode>; static filterMode(modes: Array<TSBSMode> | TSBSMode): Array<TSBSMode> | TSBSMode; static accumulator(selections: TSBSSelection[], data: any, cb?: TSBSCallback): TSBSResult; static multiplicator(selections: TSBSSelection[], data: number, cb?: TSBSCallback): TSBSResult; static aggregator(selections: Record<string, TSBSSelection>, data: any, cb?: TSBSCallback): TSBSResult; static cb(stake: number, odd: number, keys: any, group?: number | string): { payout: number; stake: number; }; static rules({ minBet, maxBet, maxPayout, minSelection, maxSelection }?: { minBet?: number; maxBet?: number; maxPayout?: number; minSelection?: number; maxSelection?: number; }, overrides?: {}): { stake: { min: number; max: number; }; payout: { max: number; }; selection: { min: number; max: number; }; }; static isValid({ rules, selection, stake, balance, payout }: { rules?: { stake: { min: number; max: number; }; payout: { max: number; }; selection: { min: number; max: number; }; }; selection: any; stake: any; balance: any; payout: any; }): any[]; static validate(rules: any, data: any, prefix: (prefix: any) => string): any[]; static areDuplicate(selections: TSBSSelection[], separator?: string): boolean; }