iracing-api
Version:
Javascript client for iracing API
82 lines (81 loc) • 3.54 kB
TypeScript
import { API } from './api';
import { GetSeasonListParams, GetSeasonRaceGuideParams, GetSpectatorSubsessionIdsDetailParams, GetSpectatorSubsessionIdsParams } from '../types';
/**
* Provides methods for interacting with season-related endpoints.
*/
export declare class SeasonAPI extends API {
/**
* Get a list of seasons for a specific year and quarter.
*
* @param {GetSeasonListParams} params - Parameters for the request.
* @param {number} params.seasonYear - The year of the season.
* @param {number} params.seasonQuarter - The quarter of the season (1-4).
*
* @returns A promise resolving to the list of seasons, or undefined on error.
*/
getSeasonList: (params: GetSeasonListParams) => Promise<{
seasonYear: number;
seasonQuarter: number;
seasons: {
driverChanges: boolean;
fixedSetup: boolean;
seasonId: number;
licenseGroup: number;
seasonYear: number;
seasonQuarter: number;
seriesId: number;
seriesName: string;
seasonName: string;
official: boolean;
rookieSeason?: string | undefined;
}[];
} | undefined>;
/**
* Get the race guide, showing upcoming sessions.
*
* @param {GetSeasonRaceGuideParams} [params] - Optional parameters to control the time frame.
* @param {string} [params.from] - ISO-8601 offset format start time. Defaults to current time. Includes sessions up to 3 hours after this time.
* @param {boolean} [params.includeEndAfterFrom=false] - Include sessions starting before `from` but ending after.
*
* @returns A promise resolving to the race guide data, or undefined on error.
*/
getSeasonRaceGuide: (params?: GetSeasonRaceGuideParams) => Promise<{
success: boolean;
subscribed: boolean;
sessions: {
endTime: string;
startTime: string;
entryCount: number;
sessionId: number;
seasonId: number;
seriesId: number;
raceWeekNum: number;
superSession: boolean;
}[];
blockBeginTime: string;
blockEndTime: string;
} | undefined>;
/**
* Get a list of subsession IDs that are available for spectating.
*
* @param {GetSpectatorSubsessionIdsParams} [params] - Optional parameters to filter by event type.
* @param {number[]} [params.eventTypes] - Array of event type IDs to include. Defaults to all.
*
* @returns A promise resolving to the list of spectator subsession IDs, or undefined on error.
*/
getSpectatorSubsessionIds: (params?: GetSpectatorSubsessionIdsParams) => Promise<{
success: boolean;
eventTypes: number[];
subsessionIds: number[];
} | undefined>;
/**
* Get detailed information about subsession IDs that are available for spectating.
*
* @param {GetSpectatorSubsessionIdsDetailParams} [params] - Optional parameters to filter by event type and season.
* @param {number[]} [params.eventTypes] - Array of event type IDs to include. Defaults to all.
* @param {number[]} [params.seasonIds] - Array of season IDs to include. Defaults to all.
*
* @returns A promise resolving to the detailed list of spectator subsession IDs, or undefined on error.
*/
getSpectatorSubsessionIdsDetail: (params?: GetSpectatorSubsessionIdsDetailParams) => Promise<Record<string, unknown> | undefined>;
}