/** * Competition types * * Types for competitions, competition seasons, squares, and related entities */ import type { PublicPlayerProps } from './player.types'; /** * Competition season * * Represents a series of competitions grouped into a season */ export interface CompetitionSeasonProps { /** Unique competition season identifier */ competition_season_id: string; /** Season display name */ season_name: string; /** Season description */ season_description: string; /** Season image */ image?: { url: string; }; /** Ticket price to enter */ ticket_price: number; /** Total ticket revenue collected */ ticket_revenue: number; /** Guaranteed payout amount */ guaranteed_payout?: number; /** Payout amount */ payout_amt: number; /** Promotional payout amount */ promo_amt?: number; /** Maximum picks allowed */ max_picks: number; /** Starting balance for participants */ initial_balance: number; /** Whether season is invite-only */ invite_only: boolean; /** Company ID if company-owned */ company_id?: string; /** Whether balance rolls over between competitions */ balance_rollover: boolean; /** Admin player ID */ admin_id: string; /** Unallocated funds remaining */ unallocated_funds: number; /** Whether this is a template */ template?: boolean; /** Competition result type ID */ competition_result_type_id: string; /** Competition type ID */ competition_type_id: string; /** Sponsor player ID */ sponsor_id?: string; /** Number of tickets sold */ tickets_sold: number; /** Number of tickets available */ tickets_available: number; /** Whether current user has entered */ entered?: boolean; /** Competition invite code */ competition_code?: string; /** Expected number of competitions in season */ expected_competition_count: number; /** Pacer player ID */ pacer_id?: string; /** Following season ID for chaining */ following_season_id?: string; /** Payout allocation percentage */ payout_allocation: number; /** Whether season uses single buy-in */ single_buy_in: boolean; /** Whether late buy-in is allowed */ allow_late_buy_in: boolean; /** Scheduled start datetime */ scheduled_datetime: any; /** League ID */ league_id?: string; /** Current season status */ status: 'active' | 'inactive' | 'closed' | 'pending'; /** Market type */ market_type: 'FOR_MONEY' | 'FREE'; /** Timestamp when created */ create_datetime: any; /** Timestamp of last update */ last_update_datetime: any; } /** * Competition * * Represents a single competition event */ export interface CompetitionProps { /** Unique competition identifier */ competition_id: string; /** Competition display name */ competition_name: string; /** Competition description */ competition_description: string; /** Buy-in amount */ buy_in: number; /** Admin player ID */ admin_id: string; /** Stream configuration */ stream?: any; /** Group ID for grouped competitions */ group_id?: string; /** Auth strategy ID for registration */ auth_strategy_id?: string; /** Whether this is a template */ template?: boolean; /** Linked event ID */ linked_event_id?: string; /** Linked event IDs */ linked_event_ids?: string[]; /** Linked event type */ linked_event_type?: 'team' | 'match' | 'tournament'; /** Competition image */ image?: { url: string; }; /** Admin player details (enriched) */ admin?: PublicPlayerProps; /** Company ID if company-owned */ company_id?: string; /** Winner player ID */ winner_id?: string; /** Winner player details (enriched) */ winner?: PublicPlayerProps; /** Competition result type ID */ competition_result_type_id: string; /** Current competition status */ status: 'scheduled' | 'inprogress_open' | 'inprogress_locked' | 'closed' | 'pending' | 'inactive' | 'paused' | 'active'; /** Timestamp when created */ create_datetime: any; /** Timestamp of last update */ last_update_datetime: any; /** Scheduled start datetime */ scheduled_datetime: any; /** Client ID */ client_id?: string; /** Completion datetime */ complete_datetime?: any; /** End datetime */ end_datetime: any; /** League IDs associated with this competition */ leagues: string[]; /** Pacer player ID */ pacer_id?: string; /** Guaranteed payout amount */ guaranteed_payout?: number; /** Associated competition season */ competition_season?: CompetitionSeasonProps; /** Pacer player details (enriched) */ pacer?: PublicPlayerProps; /** Competition season ID */ competition_season_id?: string; /** Promotional payout amount */ promo_payout?: number; /** League name */ league_name?: string; /** Sponsor player ID */ sponsor_id?: string; /** Sponsor player details (enriched) */ sponsor?: PublicPlayerProps; /** Number of available tickets */ available_tickets: number; /** Number of tickets sold */ tickets_sold: number; /** Market IDs in this competition */ market_ids: string[]; /** Total ticket revenue */ ticket_revenue: number; /** Maximum pick count */ max_pick_count: number; /** Whether current user has entered */ entered: boolean; /** Market type */ market_type: string; /** Whether to invite followers */ invite_followers?: boolean; /** Competition type ID */ competition_type_id: string; /** Prize override text */ prize_override?: string; /** Prize image */ prize_image?: { url: string; }; /** Length type - event-based or time-based */ length_type: 'event' | 'time'; /** Whether competition is invite-only */ invite_only: boolean; /** Competition invite code */ competition_code: string; /** Starting balance for participants */ initial_balance: number; /** Opt-in URL */ opt_in_url?: string; /** Whether competition is premium-only */ premium_only?: boolean; /** Current number of entrants */ current_entrants?: number; } /** * Squares competition * * Represents an auction squares game */ export interface SquaresCompetitionProps { /** Unique squares competition identifier */ sq_comp_id: string; /** Squares competition display name */ sq_comp_name: string; /** Whether competition is invite-only */ invite_only_ind: boolean; /** Admin player ID */ admin_id: string; /** Minimum square price */ minimum_square_price: number; /** Company ID if company-owned */ company_id?: string; /** Squares type ID */ sq_type_id: string; /** Sponsor player ID */ sponsor_id?: string; /** Sponsor player details (enriched) */ sponsorDetails?: PublicPlayerProps; /** Squares payout type ID */ sq_payout_id: string; /** Associated event ID */ event_id: string; /** Sport type */ sport: string; /** Payout frequency */ payout_frequency: number; /** Whether competition is complete */ complete_ind: boolean; /** Market type */ market_type: 'FOR_MONEY' | 'FREE'; /** Potential winnings */ potential_winnings: number; /** Last iteration scored */ last_iteration_scored: number; /** Competition invite code */ competition_code?: string; /** Number of available squares */ available_squares?: number; /** Begin datetime */ begin_datetime: any; /** Timestamp when created */ create_datetime: any; /** Current status */ status?: string; /** Timestamp of last update */ last_update_datetime: any; /** Completion datetime */ complete_datetime?: any; /** Event backup data */ event_backup?: any; /** Guaranteed payout amount */ guaranteed_payout?: number; /** Squares competition description */ sq_comp_description?: string; /** Competition image */ image?: { url: string; }; /** Prize override text */ prize_override?: string; /** Prize image */ prize_image?: { url: string; }; /** Auth strategy ID */ auth_strategy_id?: string; /** Void reason */ void_reason?: string; /** Group ID */ group_id?: string; } /** * Competition type * * Defines a category/type of competition */ export interface CompetitionTypeProps { /** Unique competition type identifier */ competition_type_id: string; /** Type code */ type: string; /** Display label */ type_label: string; /** Type description */ description: string; /** Type image */ type_image?: any; /** Current status */ status: 'active' | 'inactive'; /** Timestamp when created */ create_datetime: any; /** Timestamp of last update */ last_update_datetime: any; } /** * Competition result type * * Defines how competition results are determined */ export interface CompetitionResultTypeProps { /** Unique competition result type identifier */ competition_result_type_id: string; /** Display label */ label: string; /** Result type description */ description: string; /** Current status */ status: string; /** Result type */ type: string; /** Timestamp when created */ create_datetime: any; /** Timestamp of last update */ last_update_datetime: any; } /** * Competition payout type * * Defines payout tiers for a competition result type */ export interface CompetitionPayoutTypeProps { /** Unique competition payout identifier */ competition_payout_id: string; /** Tier number */ tier: number; /** Tier type - count-based or percentage-based */ tier_type: 'count' | 'pct'; /** Associated competition result type ID */ competition_result_type_id: string; /** Payout amount/percentage */ payout: number; /** Tier amount */ tier_amt: number; /** Timestamp when created */ create_datetime: any; /** Timestamp of last update */ last_update_datetime: any; } /** * Competition player */ export interface CompetitionPlayerProps { competition_player_id: string | undefined; player_id: string; competition_id: string; accepted_ind: boolean; promo_balance?: boolean; wager_based_balance: number; status: string; create_datetime: any; last_update_datetime: any; } /** * Competition record */ export interface CompetitionRecordProps { competition_record_id: string; player_id: string; competition_id: string; completed_picks: number; wins: number; losses: number; draws: number; earnings: number; potential_earnings: number; potential_winnings: number; winnings: number; completed_stakes: number; remaining_stakes: number; win_pct: number; remaining_picks: number; } /** * Competition result */ export interface CompetitionResultProps { competition_result_id: string | undefined; competition_id: string; player_id: string; place: number; tie_ind: boolean; winnings: number; processed: boolean; status: 'inprogress' | 'closed' | 'deleted'; create_datetime: any; last_update_datetime: any; delay_loaded?: boolean; } /** * Competition season player */ export interface CompetitionSeasonPlayerProps { competition_season_player_id: string; competition_season_id: string; player_id: string; status: 'active' | 'inactive'; wins: number; losses: number; draws: number; wager_based_balance: number; earnings: number; create_datetime: any; last_update_datetime: any; } /** * Competition season result */ export interface CompetitionSeasonResultProps { competition_season_result_id: string; competition_season_id: string; place: number; status: string; winnings: number; player_id: string; processed: boolean; create_datetime: any; last_update_datetime: any; } /** * Competition match * * Represents a match within a competition */ export interface CompetitionMatchProps { competition_match_id: string; competition_id: string; event_id: string; create_datetime: any; market_id_override?: string; side_type_override?: string; side_id_override?: string; last_update_datetime: any; status: 'closed' | 'inprogress' | 'inactive' | 'pending'; event_type: 'team' | 'tournament' | 'match'; match_type: string; } /** * Competition match market * * Represents a market within a competition match */ export interface CompetitionMatchMarketProps { competition_match_market_id: string; competition_match_id: string; event_id?: string; event_type?: string; market_id: string; side: string; side_id: string; side_type?: string; var_1: number; odds: number; probability: number; status: string; create_datetime: any; last_update_datetime: any; } //# sourceMappingURL=competitions.types.d.ts.map