/**
 * 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 type { CreateContestRequestEntriesInner } from './CreateContestRequestEntriesInner';
/**
 *
 * @export
 * @interface CreateContestRequest
 */
export interface CreateContestRequest {
    /**
     * The name of the contest
     * @type {string}
     * @memberof CreateContestRequest
     */
    name: string;
    /**
     * The unique identifier of the contest type
     * @type {string}
     * @memberof CreateContestRequest
     */
    contestTypeId: string;
    /**
     * Single episode ID for episode-specific contests (optional)
     * @type {string}
     * @memberof CreateContestRequest
     */
    episodeId?: string;
    /**
     * Array of show IDs to link this contest to (optional)
     * @type {Array<string>}
     * @memberof CreateContestRequest
     */
    showIds?: Array<string>;
    /**
     * Array of season IDs to link this contest to (optional)
     * @type {Array<string>}
     * @memberof CreateContestRequest
     */
    seasonIds?: Array<string>;
    /**
     * Array of episode IDs to link this contest to (optional)
     * @type {Array<string>}
     * @memberof CreateContestRequest
     */
    episodeIds?: Array<string>;
    /**
     * Whether this is a standalone contest not linked to any content (optional)
     * @type {boolean}
     * @memberof CreateContestRequest
     */
    isStandalone?: boolean;
    /**
     * Optional image URL for the contest
     * @type {string}
     * @memberof CreateContestRequest
     */
    imageUrl?: string;
    /**
     * When the contest starts
     * @type {Date}
     * @memberof CreateContestRequest
     */
    startDate: Date;
    /**
     * When the contest ends
     * @type {Date}
     * @memberof CreateContestRequest
     */
    endDate: Date;
    /**
     * Entry requirements for the contest
     * @type {Array<CreateContestRequestEntriesInner>}
     * @memberof CreateContestRequest
     */
    entries: Array<CreateContestRequestEntriesInner>;
}
/**
 * Check if a given object implements the CreateContestRequest interface.
 */
export declare function instanceOfCreateContestRequest(value: object): value is CreateContestRequest;
export declare function CreateContestRequestFromJSON(json: any): CreateContestRequest;
export declare function CreateContestRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): CreateContestRequest;
export declare function CreateContestRequestToJSON(json: any): CreateContestRequest;
export declare function CreateContestRequestToJSONTyped(value?: CreateContestRequest | null, ignoreDiscriminator?: boolean): any;
