/**
 * 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 { BulkCreateCastMembers201Response, BulkCreateEpisodes201Response, BulkCreateSeasons201Response, CreateShow201Response, CreateShowWithFullData201Response, DeleteShow200Response, GetAllShows200ResponseInner, GetAllShows200ResponseInnerSeasonsInnerCastInner, GetAllShows200ResponseInnerSeasonsInnerEpisodesInner, GetShowById200Response, GetShowById200ResponseSeasonsInner } from '../models/index';
export interface AddCastMemberRequest {
    seasonId: string;
    body: object;
}
export interface AddEpisodeRequest {
    seasonId: string;
    body: object;
}
export interface AddSeasonRequest {
    showId: string;
    body: object;
}
export interface BulkCreateCastMembersRequest {
    seasonId: string;
}
export interface BulkCreateEpisodesRequest {
    seasonId: string;
}
export interface BulkCreateSeasonsRequest {
    showId: string;
}
export interface CreateShowRequest {
    body: object;
}
export interface CreateShowWithFullDataRequest {
    body: object;
}
export interface DeleteShowRequest {
    id: string;
}
export interface GetAllCastMembersRequest {
    seasonId: string;
}
export interface GetAllEpisodesRequest {
    seasonId: string;
}
export interface GetAllSeasonsRequest {
    showId: string;
}
export interface GetShowByIdRequest {
    id: string;
}
export interface UpdateShowRequest {
    id: string;
    body: object;
}
/**
 *
 */
export declare class ShowsApi extends runtime.BaseAPI {
    /**
     * Add a new cast member to an existing season
     * Add cast member to season
     */
    addCastMemberRaw(requestParameters: AddCastMemberRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<CreateShow201Response>>;
    /**
     * Add a new cast member to an existing season
     * Add cast member to season
     */
    addCastMember(requestParameters: AddCastMemberRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<CreateShow201Response>;
    /**
     * Add a new episode to an existing season
     * Add episode to season
     */
    addEpisodeRaw(requestParameters: AddEpisodeRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<CreateShow201Response>>;
    /**
     * Add a new episode to an existing season
     * Add episode to season
     */
    addEpisode(requestParameters: AddEpisodeRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<CreateShow201Response>;
    /**
     * Add a new season to an existing show
     * Add season to show
     */
    addSeasonRaw(requestParameters: AddSeasonRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<CreateShow201Response>>;
    /**
     * Add a new season to an existing show
     * Add season to show
     */
    addSeason(requestParameters: AddSeasonRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<CreateShow201Response>;
    /**
     * Create multiple cast members for a season in one operation
     * Bulk create cast members
     */
    bulkCreateCastMembersRaw(requestParameters: BulkCreateCastMembersRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<BulkCreateCastMembers201Response>>;
    /**
     * Create multiple cast members for a season in one operation
     * Bulk create cast members
     */
    bulkCreateCastMembers(requestParameters: BulkCreateCastMembersRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<BulkCreateCastMembers201Response>;
    /**
     * Create multiple episodes for a season in one operation
     * Bulk create episodes
     */
    bulkCreateEpisodesRaw(requestParameters: BulkCreateEpisodesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<BulkCreateEpisodes201Response>>;
    /**
     * Create multiple episodes for a season in one operation
     * Bulk create episodes
     */
    bulkCreateEpisodes(requestParameters: BulkCreateEpisodesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<BulkCreateEpisodes201Response>;
    /**
     * Create multiple seasons for a show in one operation
     * Bulk create seasons
     */
    bulkCreateSeasonsRaw(requestParameters: BulkCreateSeasonsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<BulkCreateSeasons201Response>>;
    /**
     * Create multiple seasons for a show in one operation
     * Bulk create seasons
     */
    bulkCreateSeasons(requestParameters: BulkCreateSeasonsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<BulkCreateSeasons201Response>;
    /**
     * Creates a new TV show in the system
     * Create a new show
     */
    createShowRaw(requestParameters: CreateShowRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<CreateShow201Response>>;
    /**
     * Creates a new TV show in the system
     * Create a new show
     */
    createShow(requestParameters: CreateShowRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<CreateShow201Response>;
    /**
     * Create a new show with seasons, episodes, and cast members in one operation
     * Create show with full data
     */
    createShowWithFullDataRaw(requestParameters: CreateShowWithFullDataRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<CreateShowWithFullData201Response>>;
    /**
     * Create a new show with seasons, episodes, and cast members in one operation
     * Create show with full data
     */
    createShowWithFullData(requestParameters: CreateShowWithFullDataRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<CreateShowWithFullData201Response>;
    /**
     * Delete a show and all its related data
     * Delete show
     */
    deleteShowRaw(requestParameters: DeleteShowRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<DeleteShow200Response>>;
    /**
     * Delete a show and all its related data
     * Delete show
     */
    deleteShow(requestParameters: DeleteShowRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<DeleteShow200Response>;
    /**
     * Retrieve all cast members for a specific season
     * Get all cast members for a season
     */
    getAllCastMembersRaw(requestParameters: GetAllCastMembersRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<GetAllShows200ResponseInnerSeasonsInnerCastInner>>>;
    /**
     * Retrieve all cast members for a specific season
     * Get all cast members for a season
     */
    getAllCastMembers(requestParameters: GetAllCastMembersRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Array<GetAllShows200ResponseInnerSeasonsInnerCastInner>>;
    /**
     * Retrieve all episodes for a specific season
     * Get all episodes for a season
     */
    getAllEpisodesRaw(requestParameters: GetAllEpisodesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<GetAllShows200ResponseInnerSeasonsInnerEpisodesInner>>>;
    /**
     * Retrieve all episodes for a specific season
     * Get all episodes for a season
     */
    getAllEpisodes(requestParameters: GetAllEpisodesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Array<GetAllShows200ResponseInnerSeasonsInnerEpisodesInner>>;
    /**
     * Retrieve all seasons for a specific show
     * Get all seasons for a show
     */
    getAllSeasonsRaw(requestParameters: GetAllSeasonsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<GetShowById200ResponseSeasonsInner>>>;
    /**
     * Retrieve all seasons for a specific show
     * Get all seasons for a show
     */
    getAllSeasons(requestParameters: GetAllSeasonsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Array<GetShowById200ResponseSeasonsInner>>;
    /**
     * Retrieve a list of all shows
     * Get all shows
     */
    getAllShowsRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<GetAllShows200ResponseInner>>>;
    /**
     * Retrieve a list of all shows
     * Get all shows
     */
    getAllShows(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Array<GetAllShows200ResponseInner>>;
    /**
     * Retrieve a specific show by its ID with all related data
     * Get show by ID
     */
    getShowByIdRaw(requestParameters: GetShowByIdRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<GetShowById200Response>>;
    /**
     * Retrieve a specific show by its ID with all related data
     * Get show by ID
     */
    getShowById(requestParameters: GetShowByIdRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<GetShowById200Response>;
    /**
     * Update an existing show\'s information
     * Update show
     */
    updateShowRaw(requestParameters: UpdateShowRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<DeleteShow200Response>>;
    /**
     * Update an existing show\'s information
     * Update show
     */
    updateShow(requestParameters: UpdateShowRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<DeleteShow200Response>;
}
