/**
 * Litty API
 *        Complete API documentation for the Litty platform.        ## Authentication       Most endpoints require authentication via Supabase JWT tokens.       Include the token in the Authorization header: `Bearer <token>`        ## API Structure       - **Contests**: Create and manage contests, entries, and settlements       - **Markets**: Manage prediction markets within contests       - **Transactions**: Handle financial transactions for contest entries and rewards       - **Wallet**: Manage user wallet balances (cashable, points, tickets)       - **Users**: User management and profiles       - **Leaderboards**: Competition rankings and scoring       - **Uploads**: File upload management       - **Shows**: TV show and episode management (admin only)        ## Response Formats       All endpoints return JSON responses with consistent error handling.       Error responses include `statusCode`, `message`, and `error` fields.
 *
 * The version of the OpenAPI document: 1.0
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
import * as runtime from '../runtime';
import type { AnswerQuestion200Response, AnswerQuestionRequest, CompleteSession200Response, CompleteSessionRequest, CreateContest201Response, CreateContestRequest, CreateContestRewards201Response, CreateContestRewardsRequest, CreateContestTypeRequest, DebugCalculateWinners200Response, EnterContest201Response, EnterContestRequest, GetAllContestTypes200ResponseInner, GetAllContests200ResponseInner, GetContestById200Response, GetContestEntries200Response, GetContestPredictions200ResponseInner, GetContestRewards200ResponseInner, GetContestSession200Response, GetContestSettlements200ResponseInner, SettleContest200Response, SettleContestRequest, UpdateContestStatus200Response, UpdateContestStatusRequest } from '../models/index';
export interface AnswerQuestionOperationRequest {
    answerQuestionRequest: AnswerQuestionRequest;
}
export interface CompleteSessionOperationRequest {
    completeSessionRequest: CompleteSessionRequest;
}
export interface CreateContestOperationRequest {
    createContestRequest: CreateContestRequest;
}
export interface CreateContestRewardsOperationRequest {
    id: string;
    createContestRewardsRequest: CreateContestRewardsRequest;
}
export interface CreateContestTypeOperationRequest {
    createContestTypeRequest: CreateContestTypeRequest;
}
export interface DebugCalculateWinnersRequest {
    id: string;
}
export interface EnterContestOperationRequest {
    enterContestRequest: EnterContestRequest;
}
export interface GetContestByIdRequest {
    id: string;
}
export interface GetContestEntriesRequest {
    id: string;
}
export interface GetContestFlowDataRequest {
    id: string;
}
export interface GetContestPredictionsRequest {
    id: string;
}
export interface GetContestRewardsRequest {
    id: string;
}
export interface GetContestSessionRequest {
    entryId: string;
}
export interface GetContestSettlementsRequest {
    id: string;
}
export interface GetContestTypeByIdRequest {
    id: string;
}
export interface SettleContestOperationRequest {
    id: string;
    settleContestRequest: SettleContestRequest;
}
export interface UpdateContestStatusOperationRequest {
    id: string;
    updateContestStatusRequest: UpdateContestStatusRequest;
}
/**
 *
 */
export declare class ContestsApi extends runtime.BaseAPI {
    /**
     * Submit an answer for a contest question (Pick Pack or Traditional).
     * Answer contest question
     */
    answerQuestionRaw(requestParameters: AnswerQuestionOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<AnswerQuestion200Response>>;
    /**
     * Submit an answer for a contest question (Pick Pack or Traditional).
     * Answer contest question
     */
    answerQuestion(requestParameters: AnswerQuestionOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<AnswerQuestion200Response>;
    /**
     * Mark a contest session as completed (Pick Pack or Traditional).
     * Complete contest session
     */
    completeSessionRaw(requestParameters: CompleteSessionOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<CompleteSession200Response>>;
    /**
     * Mark a contest session as completed (Pick Pack or Traditional).
     * Complete contest session
     */
    completeSession(requestParameters: CompleteSessionOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<CompleteSession200Response>;
    /**
     * Create a new contest with flexible content linking options. Can be linked to shows, seasons, episodes, or be standalone.
     * Create a new contest
     */
    createContestRaw(requestParameters: CreateContestOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<CreateContest201Response>>;
    /**
     * Create a new contest with flexible content linking options. Can be linked to shows, seasons, episodes, or be standalone.
     * Create a new contest
     */
    createContest(requestParameters: CreateContestOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<CreateContest201Response>;
    /**
     * Create reward structure for a specific contest.
     * Create contest rewards
     */
    createContestRewardsRaw(requestParameters: CreateContestRewardsOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<CreateContestRewards201Response>>;
    /**
     * Create reward structure for a specific contest.
     * Create contest rewards
     */
    createContestRewards(requestParameters: CreateContestRewardsOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<CreateContestRewards201Response>;
    /**
     * Create a new contest type with the provided details.
     * Create a new contest type
     */
    createContestTypeRaw(requestParameters: CreateContestTypeOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<GetAllContestTypes200ResponseInner>>;
    /**
     * Create a new contest type with the provided details.
     * Create a new contest type
     */
    createContestType(requestParameters: CreateContestTypeOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<GetAllContestTypes200ResponseInner>;
    /**
     * Calculate and preview contest winners without settling the contest.
     * Debug calculate winners
     */
    debugCalculateWinnersRaw(requestParameters: DebugCalculateWinnersRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<DebugCalculateWinners200Response>>;
    /**
     * Calculate and preview contest winners without settling the contest.
     * Debug calculate winners
     */
    debugCalculateWinners(requestParameters: DebugCalculateWinnersRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<DebugCalculateWinners200Response>;
    /**
     * Submit an entry for any type of contest. The system automatically detects contest type and handles entry accordingly.
     * Enter a contest (Unified for all contest types)
     */
    enterContestRaw(requestParameters: EnterContestOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<EnterContest201Response>>;
    /**
     * Submit an entry for any type of contest. The system automatically detects contest type and handles entry accordingly.
     * Enter a contest (Unified for all contest types)
     */
    enterContest(requestParameters: EnterContestOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<EnterContest201Response>;
    /**
     * Retrieve a list of all available contest types.
     * Get all contest types
     */
    getAllContestTypesRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<GetAllContestTypes200ResponseInner>>>;
    /**
     * Retrieve a list of all available contest types.
     * Get all contest types
     */
    getAllContestTypes(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Array<GetAllContestTypes200ResponseInner>>;
    /**
     * Retrieve a list of all contests with their associated markets and rewards, ordered by creation date (newest first).
     * Get all contests
     */
    getAllContestsRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<GetAllContests200ResponseInner>>>;
    /**
     * Retrieve a list of all contests with their associated markets and rewards, ordered by creation date (newest first).
     * Get all contests
     */
    getAllContests(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Array<GetAllContests200ResponseInner>>;
    /**
     * Retrieve a specific contest by its ID, including all associated markets and options.
     * Get contest by ID
     */
    getContestByIdRaw(requestParameters: GetContestByIdRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<GetContestById200Response>>;
    /**
     * Retrieve a specific contest by its ID, including all associated markets and options.
     * Get contest by ID
     */
    getContestById(requestParameters: GetContestByIdRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<GetContestById200Response>;
    /**
     * Retrieve all entries for a specific contest with user information.
     * Get contest entries
     */
    getContestEntriesRaw(requestParameters: GetContestEntriesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<GetContestEntries200Response>>;
    /**
     * Retrieve all entries for a specific contest with user information.
     * Get contest entries
     */
    getContestEntries(requestParameters: GetContestEntriesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<GetContestEntries200Response>;
    /**
     */
    getContestFlowDataRaw(requestParameters: GetContestFlowDataRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>>;
    /**
     */
    getContestFlowData(requestParameters: GetContestFlowDataRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void>;
    /**
     * Retrieve all predictions for a specific contest.
     * Get contest predictions
     */
    getContestPredictionsRaw(requestParameters: GetContestPredictionsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<GetContestPredictions200ResponseInner>>>;
    /**
     * Retrieve all predictions for a specific contest.
     * Get contest predictions
     */
    getContestPredictions(requestParameters: GetContestPredictionsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Array<GetContestPredictions200ResponseInner>>;
    /**
     * Retrieve reward information for a specific contest.
     * Get contest rewards
     */
    getContestRewardsRaw(requestParameters: GetContestRewardsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<GetContestRewards200ResponseInner>>>;
    /**
     * Retrieve reward information for a specific contest.
     * Get contest rewards
     */
    getContestRewards(requestParameters: GetContestRewardsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Array<GetContestRewards200ResponseInner>>;
    /**
     * Retrieve session information for a contest entry.
     * Get contest session
     */
    getContestSessionRaw(requestParameters: GetContestSessionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<GetContestSession200Response>>;
    /**
     * Retrieve session information for a contest entry.
     * Get contest session
     */
    getContestSession(requestParameters: GetContestSessionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<GetContestSession200Response>;
    /**
     * Retrieve settlement information for a specific contest.
     * Get contest settlements
     */
    getContestSettlementsRaw(requestParameters: GetContestSettlementsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<GetContestSettlements200ResponseInner>>>;
    /**
     * Retrieve settlement information for a specific contest.
     * Get contest settlements
     */
    getContestSettlements(requestParameters: GetContestSettlementsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Array<GetContestSettlements200ResponseInner>>;
    /**
     * Retrieve a specific contest type by its ID.
     * Get contest type by ID
     */
    getContestTypeByIdRaw(requestParameters: GetContestTypeByIdRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<GetAllContestTypes200ResponseInner>>;
    /**
     * Retrieve a specific contest type by its ID.
     * Get contest type by ID
     */
    getContestTypeById(requestParameters: GetContestTypeByIdRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<GetAllContestTypes200ResponseInner>;
    /**
     * Settle a contest by providing the correct answers and calculating winners.
     * Settle a contest
     */
    settleContestRaw(requestParameters: SettleContestOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SettleContest200Response>>;
    /**
     * Settle a contest by providing the correct answers and calculating winners.
     * Settle a contest
     */
    settleContest(requestParameters: SettleContestOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SettleContest200Response>;
    /**
     * Update the status of an existing contest.
     * Update contest status
     */
    updateContestStatusRaw(requestParameters: UpdateContestStatusOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<UpdateContestStatus200Response>>;
    /**
     * Update the status of an existing contest.
     * Update contest status
     */
    updateContestStatus(requestParameters: UpdateContestStatusOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<UpdateContestStatus200Response>;
}
