iracing-api
Version:
Javascript client for iracing API
1,457 lines • 134 kB
TypeScript
import * as z from 'zod';
export declare const TrackTypeElementSchema: z.ZodObject<{
trackType: z.ZodEnum<["dirt_road", "dirt_oval", "oval", "road"]>;
}, "strip", z.ZodTypeAny, {
trackType: "dirt_oval" | "dirt_road" | "oval" | "road";
}, {
trackType: "dirt_oval" | "dirt_road" | "oval" | "road";
}>;
export type TrackTypeElement = z.infer<typeof TrackTypeElementSchema>;
export declare const HostedTrackSchema: z.ZodObject<{
configName: z.ZodOptional<z.ZodUnion<[z.ZodNull, z.ZodString]>>;
trackId: z.ZodNumber;
trackName: z.ZodString;
}, "strip", z.ZodTypeAny, {
trackId: number;
trackName: string;
configName?: string | null | undefined;
}, {
trackId: number;
trackName: string;
configName?: string | null | undefined;
}>;
export type HostedTrack = z.infer<typeof HostedTrackSchema>;
export declare const HostedCarSchema: z.ZodObject<{
carClassId: z.ZodNumber;
carClassName: z.ZodString;
carId: z.ZodNumber;
carName: z.ZodString;
maxDryTireSets: z.ZodNumber;
maxPctFuelFill: z.ZodNumber;
packageId: z.ZodNumber;
powerAdjustPct: z.ZodNumber;
qualSetupFilename: z.ZodOptional<z.ZodUnion<[z.ZodNull, z.ZodString]>>;
qualSetupId: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodNull]>>;
raceSetupFilename: z.ZodOptional<z.ZodUnion<[z.ZodNull, z.ZodString]>>;
raceSetupId: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodNull]>>;
weightPenaltyKg: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
carId: number;
carName: string;
packageId: number;
carClassId: number;
carClassName: string;
maxDryTireSets: number;
maxPctFuelFill: number;
powerAdjustPct: number;
weightPenaltyKg: number;
qualSetupFilename?: string | null | undefined;
qualSetupId?: number | null | undefined;
raceSetupFilename?: string | null | undefined;
raceSetupId?: number | null | undefined;
}, {
carId: number;
carName: string;
packageId: number;
carClassId: number;
carClassName: string;
maxDryTireSets: number;
maxPctFuelFill: number;
powerAdjustPct: number;
weightPenaltyKg: number;
qualSetupFilename?: string | null | undefined;
qualSetupId?: number | null | undefined;
raceSetupFilename?: string | null | undefined;
raceSetupId?: number | null | undefined;
}>;
export type HostedCar = z.infer<typeof HostedCarSchema>;
export declare const HostedSessionSchema: z.ZodObject<{
admins: z.ZodArray<z.ZodObject<{
custId: z.ZodNumber;
displayName: z.ZodString;
helmet: z.ZodObject<{
pattern: z.ZodNumber;
color1: z.ZodString;
color2: z.ZodString;
color3: z.ZodString;
faceType: z.ZodNumber;
helmetType: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
pattern: number;
color1: string;
color2: string;
color3: string;
faceType: number;
helmetType: number;
}, {
pattern: number;
color1: string;
color2: string;
color3: string;
faceType: number;
helmetType: number;
}>;
}, "strip", z.ZodTypeAny, {
displayName: string;
custId: number;
helmet: {
pattern: number;
color1: string;
color2: string;
color3: string;
faceType: number;
helmetType: number;
};
}, {
displayName: string;
custId: number;
helmet: {
pattern: number;
color1: string;
color2: string;
color3: string;
faceType: number;
helmetType: number;
};
}>, "many">;
aiAvoidPlayers: z.ZodBoolean;
aiMaxSkill: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodNull]>>;
aiMinSkill: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodNull]>>;
aiRosterName: z.ZodOptional<z.ZodUnion<[z.ZodNull, z.ZodString]>>;
allowedClubs: z.ZodArray<z.ZodAny, "many">;
allowedLeagues: z.ZodArray<z.ZodAny, "many">;
allowedTeams: z.ZodArray<z.ZodAny, "many">;
altAssetId: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodNull]>>;
carTypes: z.ZodArray<z.ZodObject<{
carType: z.ZodString;
}, "strip", z.ZodTypeAny, {
carType: string;
}, {
carType: string;
}>, "many">;
cars: z.ZodArray<z.ZodObject<{
carClassId: z.ZodNumber;
carClassName: z.ZodString;
carId: z.ZodNumber;
carName: z.ZodString;
maxDryTireSets: z.ZodNumber;
maxPctFuelFill: z.ZodNumber;
packageId: z.ZodNumber;
powerAdjustPct: z.ZodNumber;
qualSetupFilename: z.ZodOptional<z.ZodUnion<[z.ZodNull, z.ZodString]>>;
qualSetupId: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodNull]>>;
raceSetupFilename: z.ZodOptional<z.ZodUnion<[z.ZodNull, z.ZodString]>>;
raceSetupId: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodNull]>>;
weightPenaltyKg: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
carId: number;
carName: string;
packageId: number;
carClassId: number;
carClassName: string;
maxDryTireSets: number;
maxPctFuelFill: number;
powerAdjustPct: number;
weightPenaltyKg: number;
qualSetupFilename?: string | null | undefined;
qualSetupId?: number | null | undefined;
raceSetupFilename?: string | null | undefined;
raceSetupId?: number | null | undefined;
}, {
carId: number;
carName: string;
packageId: number;
carClassId: number;
carClassName: string;
maxDryTireSets: number;
maxPctFuelFill: number;
powerAdjustPct: number;
weightPenaltyKg: number;
qualSetupFilename?: string | null | undefined;
qualSetupId?: number | null | undefined;
raceSetupFilename?: string | null | undefined;
raceSetupId?: number | null | undefined;
}>, "many">;
carsLeft: z.ZodNumber;
category: z.ZodEnum<["dirt_oval", "dirt_road", "formula_car", "oval", "sports_car"]>;
categoryId: z.ZodNumber;
consecCautionsSingleFile: z.ZodBoolean;
countByCarClassId: z.ZodRecord<z.ZodString, z.ZodNumber>;
countByCarId: z.ZodRecord<z.ZodString, z.ZodNumber>;
damageModel: z.ZodNumber;
disallowVirtualMirror: z.ZodBoolean;
doNotCountCautionLaps: z.ZodBoolean;
doNotPaintCars: z.ZodBoolean;
driverChangeRule: z.ZodNumber;
driverChanges: z.ZodBoolean;
elig: z.ZodObject<{
sessionFull: z.ZodBoolean;
canSpot: z.ZodBoolean;
canWatch: z.ZodBoolean;
canDrive: z.ZodBoolean;
hasSessPassword: z.ZodBoolean;
needsPurchase: z.ZodBoolean;
ownCar: z.ZodBoolean;
ownTrack: z.ZodBoolean;
purchaseSkus: z.ZodArray<z.ZodNumber, "many">;
registered: z.ZodBoolean;
}, "strip", z.ZodTypeAny, {
sessionFull: boolean;
canSpot: boolean;
canWatch: boolean;
canDrive: boolean;
hasSessPassword: boolean;
needsPurchase: boolean;
ownCar: boolean;
ownTrack: boolean;
purchaseSkus: number[];
registered: boolean;
}, {
sessionFull: boolean;
canSpot: boolean;
canWatch: boolean;
canDrive: boolean;
hasSessPassword: boolean;
needsPurchase: boolean;
ownCar: boolean;
ownTrack: boolean;
purchaseSkus: number[];
registered: boolean;
}>;
enablePitlaneCollisions: z.ZodBoolean;
entryCount: z.ZodNumber;
eventTypes: z.ZodArray<z.ZodObject<{
eventType: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
eventType: number;
}, {
eventType: number;
}>, "many">;
farm: z.ZodObject<{
farmId: z.ZodNumber;
displayName: z.ZodString;
imagePath: z.ZodString;
displayed: z.ZodBoolean;
}, "strip", z.ZodTypeAny, {
farmId: number;
displayName: string;
imagePath: string;
displayed: boolean;
}, {
farmId: number;
displayName: string;
imagePath: string;
displayed: boolean;
}>;
fixedSetup: z.ZodBoolean;
fullCourseCautions: z.ZodBoolean;
greenWhiteCheckeredLimit: z.ZodNumber;
hardcoreLevel: z.ZodNumber;
host: z.ZodObject<{
custId: z.ZodNumber;
displayName: z.ZodString;
helmet: z.ZodObject<{
pattern: z.ZodNumber;
color1: z.ZodString;
color2: z.ZodString;
color3: z.ZodString;
faceType: z.ZodNumber;
helmetType: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
pattern: number;
color1: string;
color2: string;
color3: string;
faceType: number;
helmetType: number;
}, {
pattern: number;
color1: string;
color2: string;
color3: string;
faceType: number;
helmetType: number;
}>;
}, "strip", z.ZodTypeAny, {
displayName: string;
custId: number;
helmet: {
pattern: number;
color1: string;
color2: string;
color3: string;
faceType: number;
helmetType: number;
};
}, {
displayName: string;
custId: number;
helmet: {
pattern: number;
color1: string;
color2: string;
color3: string;
faceType: number;
helmetType: number;
};
}>;
incidentLimit: z.ZodNumber;
incidentWarnMode: z.ZodNumber;
incidentWarnParam1: z.ZodNumber;
incidentWarnParam2: z.ZodNumber;
launchAt: z.ZodString;
leagueId: z.ZodNumber;
leagueSeasonId: z.ZodNumber;
licenseGroupTypes: z.ZodArray<z.ZodObject<{
licenseGroupType: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
licenseGroupType: number;
}, {
licenseGroupType: number;
}>, "many">;
loneQualify: z.ZodBoolean;
luckyDog: z.ZodBoolean;
maxAiDrivers: z.ZodNumber;
maxDrivers: z.ZodNumber;
maxIr: z.ZodNumber;
maxLicenseLevel: z.ZodNumber;
maxTeamDrivers: z.ZodNumber;
minIr: z.ZodNumber;
minLicenseLevel: z.ZodNumber;
minTeamDrivers: z.ZodNumber;
multiclassType: z.ZodNumber;
mustUseDiffTireTypesInRace: z.ZodBoolean;
noLapperWaveArounds: z.ZodBoolean;
numFastTows: z.ZodNumber;
numOptLaps: z.ZodNumber;
openRegExpires: z.ZodString;
orderId: z.ZodNumber;
paceCarClassId: z.ZodUnion<[z.ZodNumber, z.ZodNull]>;
paceCarId: z.ZodUnion<[z.ZodNumber, z.ZodNull]>;
passwordProtected: z.ZodBoolean;
pitsInUse: z.ZodNumber;
practiceLength: z.ZodNumber;
privateSessionId: z.ZodNumber;
qualifierMustStartRace: z.ZodBoolean;
qualifyLaps: z.ZodNumber;
qualifyLength: z.ZodNumber;
raceLaps: z.ZodNumber;
raceLength: z.ZodNumber;
registeredTeams: z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodNumber, "many">, z.ZodNull]>>;
restarts: z.ZodNumber;
restrictResults: z.ZodBoolean;
restrictViewing: z.ZodBoolean;
rollingStarts: z.ZodBoolean;
sessionDesc: z.ZodOptional<z.ZodUnion<[z.ZodNull, z.ZodString]>>;
sessionFull: z.ZodBoolean;
sessionId: z.ZodNumber;
sessionName: z.ZodString;
sessionType: z.ZodNumber;
sessionTypes: z.ZodArray<z.ZodObject<{
sessionType: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
sessionType: number;
}, {
sessionType: number;
}>, "many">;
shortParadeLap: z.ZodBoolean;
startOnQualTire: z.ZodBoolean;
startZone: z.ZodBoolean;
status: z.ZodNumber;
subsessionId: z.ZodNumber;
teamEntryCount: z.ZodNumber;
telemetryForceToDisk: z.ZodNumber;
telemetryRestriction: z.ZodNumber;
timeLimit: z.ZodNumber;
track: z.ZodObject<{
configName: z.ZodOptional<z.ZodUnion<[z.ZodNull, z.ZodString]>>;
trackId: z.ZodNumber;
trackName: z.ZodString;
}, "strip", z.ZodTypeAny, {
trackId: number;
trackName: string;
configName?: string | null | undefined;
}, {
trackId: number;
trackName: string;
configName?: string | null | undefined;
}>;
trackState: z.ZodObject<{
leaveMarbles: z.ZodBoolean;
practiceGripCompound: z.ZodNumber;
practiceRubber: z.ZodNumber;
qualifyGripCompound: z.ZodNumber;
qualifyRubber: z.ZodNumber;
raceGripCompound: z.ZodNumber;
raceRubber: z.ZodNumber;
warmupGripCompound: z.ZodNumber;
warmupRubber: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
leaveMarbles: boolean;
practiceGripCompound: number;
practiceRubber: number;
qualifyGripCompound: number;
qualifyRubber: number;
raceGripCompound: number;
raceRubber: number;
warmupGripCompound: number;
warmupRubber: number;
}, {
leaveMarbles: boolean;
practiceGripCompound: number;
practiceRubber: number;
qualifyGripCompound: number;
qualifyRubber: number;
raceGripCompound: number;
raceRubber: number;
warmupGripCompound: number;
warmupRubber: number;
}>;
trackTypes: z.ZodArray<z.ZodObject<{
trackType: z.ZodEnum<["dirt_road", "dirt_oval", "oval", "road"]>;
}, "strip", z.ZodTypeAny, {
trackType: "dirt_oval" | "dirt_road" | "oval" | "road";
}, {
trackType: "dirt_oval" | "dirt_road" | "oval" | "road";
}>, "many">;
unsportConductRuleMode: z.ZodNumber;
warmupLength: z.ZodNumber;
weather: z.ZodObject<{
allowFog: z.ZodBoolean;
fog: z.ZodNumber;
forecastOptions: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
forecastType: z.ZodNumber;
precipitation: z.ZodNumber;
skies: z.ZodNumber;
stopPrecip: z.ZodNumber;
temperature: z.ZodNumber;
windDir: z.ZodNumber;
windSpeed: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
forecastType: number;
precipitation: number;
skies: number;
stopPrecip: number;
temperature: number;
windDir: number;
windSpeed: number;
}, {
forecastType: number;
precipitation: number;
skies: number;
stopPrecip: number;
temperature: number;
windDir: number;
windSpeed: number;
}>, z.ZodNull]>>;
humidityUnits: z.ZodNumber;
precipOption: z.ZodNumber;
relHumidity: z.ZodNumber;
simulatedStartTime: z.ZodString;
simulatedStartUtcTime: z.ZodString;
simulatedTimeMultiplier: z.ZodNumber;
simulatedTimeOffsets: z.ZodArray<z.ZodNumber, "many">;
skies: z.ZodNumber;
tempUnits: z.ZodNumber;
tempValue: z.ZodNumber;
timeOfDay: z.ZodNumber;
trackWater: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodNull]>>;
type: z.ZodNumber;
version: z.ZodNumber;
weatherSummary: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
maxPrecipRate: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodNull]>>;
maxPrecipRateDesc: z.ZodEnum<["Heavy", "Light", "Moderate", "None"]>;
precipChance: z.ZodNumber;
skiesHigh: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodNull]>>;
skiesLow: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodNull]>>;
tempHigh: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodNull]>>;
tempLow: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodNull]>>;
tempUnits: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodNull]>>;
windHigh: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodNull]>>;
windLow: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodNull]>>;
windUnits: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodNull]>>;
}, "strip", z.ZodTypeAny, {
maxPrecipRateDesc: "Heavy" | "Light" | "Moderate" | "None";
precipChance: number;
maxPrecipRate?: number | null | undefined;
skiesHigh?: number | null | undefined;
skiesLow?: number | null | undefined;
tempHigh?: number | null | undefined;
tempLow?: number | null | undefined;
tempUnits?: number | null | undefined;
windHigh?: number | null | undefined;
windLow?: number | null | undefined;
windUnits?: number | null | undefined;
}, {
maxPrecipRateDesc: "Heavy" | "Light" | "Moderate" | "None";
precipChance: number;
maxPrecipRate?: number | null | undefined;
skiesHigh?: number | null | undefined;
skiesLow?: number | null | undefined;
tempHigh?: number | null | undefined;
tempLow?: number | null | undefined;
tempUnits?: number | null | undefined;
windHigh?: number | null | undefined;
windLow?: number | null | undefined;
windUnits?: number | null | undefined;
}>, z.ZodNull]>>;
weatherUrl: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
weatherVarInitial: z.ZodNumber;
weatherVarOngoing: z.ZodNumber;
windDir: z.ZodNumber;
windUnits: z.ZodNumber;
windValue: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
type: number;
skies: number;
windDir: number;
tempUnits: number;
windUnits: number;
allowFog: boolean;
fog: number;
humidityUnits: number;
precipOption: number;
relHumidity: number;
simulatedStartTime: string;
simulatedStartUtcTime: string;
simulatedTimeMultiplier: number;
simulatedTimeOffsets: number[];
tempValue: number;
timeOfDay: number;
version: number;
weatherVarInitial: number;
weatherVarOngoing: number;
windValue: number;
forecastOptions?: {
forecastType: number;
precipitation: number;
skies: number;
stopPrecip: number;
temperature: number;
windDir: number;
windSpeed: number;
} | null | undefined;
trackWater?: number | null | undefined;
weatherSummary?: {
maxPrecipRateDesc: "Heavy" | "Light" | "Moderate" | "None";
precipChance: number;
maxPrecipRate?: number | null | undefined;
skiesHigh?: number | null | undefined;
skiesLow?: number | null | undefined;
tempHigh?: number | null | undefined;
tempLow?: number | null | undefined;
tempUnits?: number | null | undefined;
windHigh?: number | null | undefined;
windLow?: number | null | undefined;
windUnits?: number | null | undefined;
} | null | undefined;
weatherUrl?: string | null | undefined;
}, {
type: number;
skies: number;
windDir: number;
tempUnits: number;
windUnits: number;
allowFog: boolean;
fog: number;
humidityUnits: number;
precipOption: number;
relHumidity: number;
simulatedStartTime: string;
simulatedStartUtcTime: string;
simulatedTimeMultiplier: number;
simulatedTimeOffsets: number[];
tempValue: number;
timeOfDay: number;
version: number;
weatherVarInitial: number;
weatherVarOngoing: number;
windValue: number;
forecastOptions?: {
forecastType: number;
precipitation: number;
skies: number;
stopPrecip: number;
temperature: number;
windDir: number;
windSpeed: number;
} | null | undefined;
trackWater?: number | null | undefined;
weatherSummary?: {
maxPrecipRateDesc: "Heavy" | "Light" | "Moderate" | "None";
precipChance: number;
maxPrecipRate?: number | null | undefined;
skiesHigh?: number | null | undefined;
skiesLow?: number | null | undefined;
tempHigh?: number | null | undefined;
tempLow?: number | null | undefined;
tempUnits?: number | null | undefined;
windHigh?: number | null | undefined;
windLow?: number | null | undefined;
windUnits?: number | null | undefined;
} | null | undefined;
weatherUrl?: string | null | undefined;
}>;
}, "strip", z.ZodTypeAny, {
track: {
trackId: number;
trackName: string;
configName?: string | null | undefined;
};
host: {
displayName: string;
custId: number;
helmet: {
pattern: number;
color1: string;
color2: string;
color3: string;
faceType: number;
helmetType: number;
};
};
status: number;
sessionFull: boolean;
sessionType: number;
carTypes: {
carType: string;
}[];
admins: {
displayName: string;
custId: number;
helmet: {
pattern: number;
color1: string;
color2: string;
color3: string;
faceType: number;
helmetType: number;
};
}[];
aiAvoidPlayers: boolean;
allowedClubs: any[];
allowedLeagues: any[];
allowedTeams: any[];
cars: {
carId: number;
carName: string;
packageId: number;
carClassId: number;
carClassName: string;
maxDryTireSets: number;
maxPctFuelFill: number;
powerAdjustPct: number;
weightPenaltyKg: number;
qualSetupFilename?: string | null | undefined;
qualSetupId?: number | null | undefined;
raceSetupFilename?: string | null | undefined;
raceSetupId?: number | null | undefined;
}[];
carsLeft: number;
category: "dirt_oval" | "dirt_road" | "formula_car" | "oval" | "sports_car";
categoryId: number;
consecCautionsSingleFile: boolean;
countByCarClassId: Record<string, number>;
countByCarId: Record<string, number>;
damageModel: number;
disallowVirtualMirror: boolean;
doNotCountCautionLaps: boolean;
doNotPaintCars: boolean;
driverChangeRule: number;
driverChanges: boolean;
elig: {
sessionFull: boolean;
canSpot: boolean;
canWatch: boolean;
canDrive: boolean;
hasSessPassword: boolean;
needsPurchase: boolean;
ownCar: boolean;
ownTrack: boolean;
purchaseSkus: number[];
registered: boolean;
};
enablePitlaneCollisions: boolean;
entryCount: number;
eventTypes: {
eventType: number;
}[];
farm: {
farmId: number;
displayName: string;
imagePath: string;
displayed: boolean;
};
fixedSetup: boolean;
fullCourseCautions: boolean;
greenWhiteCheckeredLimit: number;
hardcoreLevel: number;
incidentLimit: number;
incidentWarnMode: number;
incidentWarnParam1: number;
incidentWarnParam2: number;
launchAt: string;
leagueId: number;
leagueSeasonId: number;
licenseGroupTypes: {
licenseGroupType: number;
}[];
loneQualify: boolean;
luckyDog: boolean;
maxAiDrivers: number;
maxDrivers: number;
maxIr: number;
maxLicenseLevel: number;
maxTeamDrivers: number;
minIr: number;
minLicenseLevel: number;
minTeamDrivers: number;
multiclassType: number;
mustUseDiffTireTypesInRace: boolean;
noLapperWaveArounds: boolean;
numFastTows: number;
numOptLaps: number;
openRegExpires: string;
orderId: number;
paceCarClassId: number | null;
paceCarId: number | null;
passwordProtected: boolean;
pitsInUse: number;
practiceLength: number;
privateSessionId: number;
qualifierMustStartRace: boolean;
qualifyLaps: number;
qualifyLength: number;
raceLaps: number;
raceLength: number;
restarts: number;
restrictResults: boolean;
restrictViewing: boolean;
rollingStarts: boolean;
sessionId: number;
sessionName: string;
sessionTypes: {
sessionType: number;
}[];
shortParadeLap: boolean;
startOnQualTire: boolean;
startZone: boolean;
subsessionId: number;
teamEntryCount: number;
telemetryForceToDisk: number;
telemetryRestriction: number;
timeLimit: number;
trackState: {
leaveMarbles: boolean;
practiceGripCompound: number;
practiceRubber: number;
qualifyGripCompound: number;
qualifyRubber: number;
raceGripCompound: number;
raceRubber: number;
warmupGripCompound: number;
warmupRubber: number;
};
trackTypes: {
trackType: "dirt_oval" | "dirt_road" | "oval" | "road";
}[];
unsportConductRuleMode: number;
warmupLength: number;
weather: {
type: number;
skies: number;
windDir: number;
tempUnits: number;
windUnits: number;
allowFog: boolean;
fog: number;
humidityUnits: number;
precipOption: number;
relHumidity: number;
simulatedStartTime: string;
simulatedStartUtcTime: string;
simulatedTimeMultiplier: number;
simulatedTimeOffsets: number[];
tempValue: number;
timeOfDay: number;
version: number;
weatherVarInitial: number;
weatherVarOngoing: number;
windValue: number;
forecastOptions?: {
forecastType: number;
precipitation: number;
skies: number;
stopPrecip: number;
temperature: number;
windDir: number;
windSpeed: number;
} | null | undefined;
trackWater?: number | null | undefined;
weatherSummary?: {
maxPrecipRateDesc: "Heavy" | "Light" | "Moderate" | "None";
precipChance: number;
maxPrecipRate?: number | null | undefined;
skiesHigh?: number | null | undefined;
skiesLow?: number | null | undefined;
tempHigh?: number | null | undefined;
tempLow?: number | null | undefined;
tempUnits?: number | null | undefined;
windHigh?: number | null | undefined;
windLow?: number | null | undefined;
windUnits?: number | null | undefined;
} | null | undefined;
weatherUrl?: string | null | undefined;
};
aiMaxSkill?: number | null | undefined;
aiMinSkill?: number | null | undefined;
aiRosterName?: string | null | undefined;
altAssetId?: number | null | undefined;
registeredTeams?: number[] | null | undefined;
sessionDesc?: string | null | undefined;
}, {
track: {
trackId: number;
trackName: string;
configName?: string | null | undefined;
};
host: {
displayName: string;
custId: number;
helmet: {
pattern: number;
color1: string;
color2: string;
color3: string;
faceType: number;
helmetType: number;
};
};
status: number;
sessionFull: boolean;
sessionType: number;
carTypes: {
carType: string;
}[];
admins: {
displayName: string;
custId: number;
helmet: {
pattern: number;
color1: string;
color2: string;
color3: string;
faceType: number;
helmetType: number;
};
}[];
aiAvoidPlayers: boolean;
allowedClubs: any[];
allowedLeagues: any[];
allowedTeams: any[];
cars: {
carId: number;
carName: string;
packageId: number;
carClassId: number;
carClassName: string;
maxDryTireSets: number;
maxPctFuelFill: number;
powerAdjustPct: number;
weightPenaltyKg: number;
qualSetupFilename?: string | null | undefined;
qualSetupId?: number | null | undefined;
raceSetupFilename?: string | null | undefined;
raceSetupId?: number | null | undefined;
}[];
carsLeft: number;
category: "dirt_oval" | "dirt_road" | "formula_car" | "oval" | "sports_car";
categoryId: number;
consecCautionsSingleFile: boolean;
countByCarClassId: Record<string, number>;
countByCarId: Record<string, number>;
damageModel: number;
disallowVirtualMirror: boolean;
doNotCountCautionLaps: boolean;
doNotPaintCars: boolean;
driverChangeRule: number;
driverChanges: boolean;
elig: {
sessionFull: boolean;
canSpot: boolean;
canWatch: boolean;
canDrive: boolean;
hasSessPassword: boolean;
needsPurchase: boolean;
ownCar: boolean;
ownTrack: boolean;
purchaseSkus: number[];
registered: boolean;
};
enablePitlaneCollisions: boolean;
entryCount: number;
eventTypes: {
eventType: number;
}[];
farm: {
farmId: number;
displayName: string;
imagePath: string;
displayed: boolean;
};
fixedSetup: boolean;
fullCourseCautions: boolean;
greenWhiteCheckeredLimit: number;
hardcoreLevel: number;
incidentLimit: number;
incidentWarnMode: number;
incidentWarnParam1: number;
incidentWarnParam2: number;
launchAt: string;
leagueId: number;
leagueSeasonId: number;
licenseGroupTypes: {
licenseGroupType: number;
}[];
loneQualify: boolean;
luckyDog: boolean;
maxAiDrivers: number;
maxDrivers: number;
maxIr: number;
maxLicenseLevel: number;
maxTeamDrivers: number;
minIr: number;
minLicenseLevel: number;
minTeamDrivers: number;
multiclassType: number;
mustUseDiffTireTypesInRace: boolean;
noLapperWaveArounds: boolean;
numFastTows: number;
numOptLaps: number;
openRegExpires: string;
orderId: number;
paceCarClassId: number | null;
paceCarId: number | null;
passwordProtected: boolean;
pitsInUse: number;
practiceLength: number;
privateSessionId: number;
qualifierMustStartRace: boolean;
qualifyLaps: number;
qualifyLength: number;
raceLaps: number;
raceLength: number;
restarts: number;
restrictResults: boolean;
restrictViewing: boolean;
rollingStarts: boolean;
sessionId: number;
sessionName: string;
sessionTypes: {
sessionType: number;
}[];
shortParadeLap: boolean;
startOnQualTire: boolean;
startZone: boolean;
subsessionId: number;
teamEntryCount: number;
telemetryForceToDisk: number;
telemetryRestriction: number;
timeLimit: number;
trackState: {
leaveMarbles: boolean;
practiceGripCompound: number;
practiceRubber: number;
qualifyGripCompound: number;
qualifyRubber: number;
raceGripCompound: number;
raceRubber: number;
warmupGripCompound: number;
warmupRubber: number;
};
trackTypes: {
trackType: "dirt_oval" | "dirt_road" | "oval" | "road";
}[];
unsportConductRuleMode: number;
warmupLength: number;
weather: {
type: number;
skies: number;
windDir: number;
tempUnits: number;
windUnits: number;
allowFog: boolean;
fog: number;
humidityUnits: number;
precipOption: number;
relHumidity: number;
simulatedStartTime: string;
simulatedStartUtcTime: string;
simulatedTimeMultiplier: number;
simulatedTimeOffsets: number[];
tempValue: number;
timeOfDay: number;
version: number;
weatherVarInitial: number;
weatherVarOngoing: number;
windValue: number;
forecastOptions?: {
forecastType: number;
precipitation: number;
skies: number;
stopPrecip: number;
temperature: number;
windDir: number;
windSpeed: number;
} | null | undefined;
trackWater?: number | null | undefined;
weatherSummary?: {
maxPrecipRateDesc: "Heavy" | "Light" | "Moderate" | "None";
precipChance: number;
maxPrecipRate?: number | null | undefined;
skiesHigh?: number | null | undefined;
skiesLow?: number | null | undefined;
tempHigh?: number | null | undefined;
tempLow?: number | null | undefined;
tempUnits?: number | null | undefined;
windHigh?: number | null | undefined;
windLow?: number | null | undefined;
windUnits?: number | null | undefined;
} | null | undefined;
weatherUrl?: string | null | undefined;
};
aiMaxSkill?: number | null | undefined;
aiMinSkill?: number | null | undefined;
aiRosterName?: string | null | undefined;
altAssetId?: number | null | undefined;
registeredTeams?: number[] | null | undefined;
sessionDesc?: string | null | undefined;
}>;
export type HostedSession = z.infer<typeof HostedSessionSchema>;
export declare const HostedSessionsSchema: z.ZodObject<{
subscribed: z.ZodBoolean;
sessions: z.ZodArray<z.ZodObject<{
admins: z.ZodArray<z.ZodObject<{
custId: z.ZodNumber;
displayName: z.ZodString;
helmet: z.ZodObject<{
pattern: z.ZodNumber;
color1: z.ZodString;
color2: z.ZodString;
color3: z.ZodString;
faceType: z.ZodNumber;
helmetType: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
pattern: number;
color1: string;
color2: string;
color3: string;
faceType: number;
helmetType: number;
}, {
pattern: number;
color1: string;
color2: string;
color3: string;
faceType: number;
helmetType: number;
}>;
}, "strip", z.ZodTypeAny, {
displayName: string;
custId: number;
helmet: {
pattern: number;
color1: string;
color2: string;
color3: string;
faceType: number;
helmetType: number;
};
}, {
displayName: string;
custId: number;
helmet: {
pattern: number;
color1: string;
color2: string;
color3: string;
faceType: number;
helmetType: number;
};
}>, "many">;
aiAvoidPlayers: z.ZodBoolean;
aiMaxSkill: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodNull]>>;
aiMinSkill: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodNull]>>;
aiRosterName: z.ZodOptional<z.ZodUnion<[z.ZodNull, z.ZodString]>>;
allowedClubs: z.ZodArray<z.ZodAny, "many">;
allowedLeagues: z.ZodArray<z.ZodAny, "many">;
allowedTeams: z.ZodArray<z.ZodAny, "many">;
altAssetId: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodNull]>>;
carTypes: z.ZodArray<z.ZodObject<{
carType: z.ZodString;
}, "strip", z.ZodTypeAny, {
carType: string;
}, {
carType: string;
}>, "many">;
cars: z.ZodArray<z.ZodObject<{
carClassId: z.ZodNumber;
carClassName: z.ZodString;
carId: z.ZodNumber;
carName: z.ZodString;
maxDryTireSets: z.ZodNumber;
maxPctFuelFill: z.ZodNumber;
packageId: z.ZodNumber;
powerAdjustPct: z.ZodNumber;
qualSetupFilename: z.ZodOptional<z.ZodUnion<[z.ZodNull, z.ZodString]>>;
qualSetupId: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodNull]>>;
raceSetupFilename: z.ZodOptional<z.ZodUnion<[z.ZodNull, z.ZodString]>>;
raceSetupId: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodNull]>>;
weightPenaltyKg: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
carId: number;
carName: string;
packageId: number;
carClassId: number;
carClassName: string;
maxDryTireSets: number;
maxPctFuelFill: number;
powerAdjustPct: number;
weightPenaltyKg: number;
qualSetupFilename?: string | null | undefined;
qualSetupId?: number | null | undefined;
raceSetupFilename?: string | null | undefined;
raceSetupId?: number | null | undefined;
}, {
carId: number;
carName: string;
packageId: number;
carClassId: number;
carClassName: string;
maxDryTireSets: number;
maxPctFuelFill: number;
powerAdjustPct: number;
weightPenaltyKg: number;
qualSetupFilename?: string | null | undefined;
qualSetupId?: number | null | undefined;
raceSetupFilename?: string | null | undefined;
raceSetupId?: number | null | undefined;
}>, "many">;
carsLeft: z.ZodNumber;
category: z.ZodEnum<["dirt_oval", "dirt_road", "formula_car", "oval", "sports_car"]>;
categoryId: z.ZodNumber;
consecCautionsSingleFile: z.ZodBoolean;
countByCarClassId: z.ZodRecord<z.ZodString, z.ZodNumber>;
countByCarId: z.ZodRecord<z.ZodString, z.ZodNumber>;
damageModel: z.ZodNumber;
disallowVirtualMirror: z.ZodBoolean;
doNotCountCautionLaps: z.ZodBoolean;
doNotPaintCars: z.ZodBoolean;
driverChangeRule: z.ZodNumber;
driverChanges: z.ZodBoolean;
elig: z.ZodObject<{
sessionFull: z.ZodBoolean;
canSpot: z.ZodBoolean;
canWatch: z.ZodBoolean;
canDrive: z.ZodBoolean;
hasSessPassword: z.ZodBoolean;
needsPurchase: z.ZodBoolean;
ownCar: z.ZodBoolean;
ownTrack: z.ZodBoolean;
purchaseSkus: z.ZodArray<z.ZodNumber, "many">;
registered: z.ZodBoolean;
}, "strip", z.ZodTypeAny, {
sessionFull: boolean;
canSpot: boolean;
canWatch: boolean;
canDrive: boolean;
hasSessPassword: boolean;
needsPurchase: boolean;
ownCar: boolean;
ownTrack: boolean;
purchaseSkus: number[];
registered: boolean;
}, {
sessionFull: boolean;
canSpot: boolean;
canWatch: boolean;
canDrive: boolean;
hasSessPassword: boolean;
needsPurchase: boolean;
ownCar: boolean;
ownTrack: boolean;
purchaseSkus: number[];
registered: boolean;
}>;
enablePitlaneCollisions: z.ZodBoolean;
entryCount: z.ZodNumber;
eventTypes: z.ZodArray<z.ZodObject<{
eventType: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
eventType: number;
}, {
eventType: number;
}>, "many">;
farm: z.ZodObject<{
farmId: z.ZodNumber;
displayName: z.ZodString;
imagePath: z.ZodString;
displayed: z.ZodBoolean;
}, "strip", z.ZodTypeAny, {
farmId: number;
displayName: string;
imagePath: string;
displayed: boolean;
}, {
farmId: number;
displayName: string;
imagePath: string;
displayed: boolean;
}>;
fixedSetup: z.ZodBoolean;
fullCourseCautions: z.ZodBoolean;
greenWhiteCheckeredLimit: z.ZodNumber;
hardcoreLevel: z.ZodNumber;
host: z.ZodObject<{
custId: z.ZodNumber;
displayName: z.ZodString;
helmet: z.ZodObject<{
pattern: z.ZodNumber;
color1: z.ZodString;
color2: z.ZodString;
color3: z.ZodString;
faceType: z.ZodNumber;
helmetType: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
pattern: number;
color1: string;
color2: string;
color3: string;
faceType: number;
helmetType: number;
}, {
pattern: number;
color1: string;
color2: string;
color3: string;
faceType: number;
helmetType: number;
}>;
}, "strip", z.ZodTypeAny, {
displayName: string;
custId: number;
helmet: {
pattern: number;
color1: string;
color2: string;
color3: string;
faceType: number;
helmetType: number;
};
}, {
displayName: string;
custId: number;
helmet: {
pattern: number;
color1: string;
color2: string;
color3: string;
faceType: number;
helmetType: number;
};
}>;
incidentLimit: z.ZodNumber;
incidentWarnMode: z.ZodNumber;
incidentWarnParam1: z.ZodNumber;
incidentWarnParam2: z.ZodNumber;
launchAt: z.ZodString;
leagueId: z.ZodNumber;
leagueSeasonId: z.ZodNumber;
licenseGroupTypes: z.ZodArray<z.ZodObject<{
licenseGroupType: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
licenseGroupType: number;
}, {
licenseGroupType: number;
}>, "many">;
loneQualify: z.ZodBoolean;
luckyDog: z.ZodBoolean;
maxAiDrivers: z.ZodNumber;
maxDrivers: z.ZodNumber;
maxIr: z.ZodNumber;
maxLicenseLevel: z.ZodNumber;
maxTeamDrivers: z.ZodNumber;
minIr: z.ZodNumber;
minLicenseLevel: z.ZodNumber;
minTeamDrivers: z.ZodNumber;
multiclassType: z.ZodNumber;
mustUseDiffTireTypesInRace: z.ZodBoolean;
noLapperWaveArounds: z.ZodBoolean;
numFastTows: z.ZodNumber;
numOptLaps: z.ZodNumber;
openRegExpires: z.ZodString;
orderId: z.ZodNumber;
paceCarClassId: z.ZodUnion<[z.ZodNumber, z.ZodNull]>;
paceCarId: z.ZodUnion<[z.ZodNumber, z.ZodNull]>;
passwordProtected: z.ZodBoolean;
pitsInUse: z.ZodNumber;
practiceLength: z.ZodNumber;
privateSessionId: z.ZodNumber;
qualifierMustStartRace: z.ZodBoolean;
qualifyLaps: z.ZodNumber;
qualifyLength: z.ZodNumber;
raceLaps: z.ZodNumber;
raceLength: z.ZodNumber;
registeredTeams: z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodNumber, "many">, z.ZodNull]>>;
restarts: z.ZodNumber;
restrictResults: z.ZodBoolean;
restrictViewing: z.ZodBoolean;
rollingStarts: z.ZodBoolean;
sessionDesc: z.ZodOptional<z.ZodUnion<[z.ZodNull, z.ZodString]>>;
sessionFull: z.ZodBoolean;
sessionId: z.ZodNumber;
sessionName: z.ZodString;
sessionType: z.ZodNumber;
sessionTypes: z.ZodArray<z.ZodObject<{
sessionType: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
sessionType: number;
}, {
sessionType: number;
}>, "many">;
shortParadeLap: z.ZodBoolean;
startOnQualTire: z.ZodBoolean;
startZone: z.ZodBoolean;
status: z.ZodNumber;
subsessionId: z.ZodNumber;
teamEntryCount: z.ZodNumber;
telemetryForceToDisk: z.ZodNumber;
telemetryRestriction: z.ZodNumber;
timeLimit: z.ZodNumber;
track: z.ZodObject<{
configName: z.ZodOptional<z.ZodUnion<[z.ZodNull, z.ZodString]>>;
trackId: z.ZodNumber;
trackName: z.ZodString;
}, "strip", z.ZodTypeAny, {
trackId: number;
trackName: string;
configName?: string | null | undefined;
}, {
trackId: number;
trackName: string;
configName?: string | null | undefined;
}>;
trackState: z.ZodObject<{
leaveMarbles: z.ZodBoolean;
practiceGripCompound: z.ZodNumber;
practiceRubber: z.ZodNumber;
qualifyGripCompound: z.ZodNumber;
qualifyRubber: z.ZodNumber;
raceGripCompound: z.ZodNumber;
raceRubber: z.ZodNumber;
warmupGripCompound: z.ZodNumber;
warmupRubber: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
leaveMarbles: boolean;
practiceGripCompound: number;
practiceRubber: number;
qualifyGripCompound: number;
qualifyRubber: number;
raceGripCompound: number;
raceRubber: number;
warmupGripCompound: number;
warmupRubber: number;
}, {
leaveMarbles: boolean;
practiceGripCompound: number;
practiceRubber: number;
qualifyGripCompound: number;
qualifyRubber: number;
raceGripCompound: number;
raceRubber: number;
warmupGripCompound: number;
warmupRubber: number;
}>;
trackTypes: z.ZodArray<z.ZodObject<{
trackType: z.ZodEnum<["dirt_road", "dirt_oval", "oval", "road"]>;
}, "strip", z.ZodTypeAny, {
trackType: "dirt_oval" | "dirt_road" | "oval" | "road";
}, {
trackType: "dirt_oval" | "dirt_road" | "oval" | "road";
}>, "many">;
unsportConductRuleMode: z.ZodNumber;
warmupLength: z.ZodNumber;
weather: z.ZodObject<{
allowFog: z.ZodBoolean;
fog: z.ZodNumber;
forecastOptions: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
forecastType: z.ZodNumber;
precipitation: z.ZodNumber;
skies: z.ZodNumber;
stopPrecip: z.ZodNumber;
temperature: z.ZodNumber;
windDir: z.ZodNumber;
windSpeed: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
forecastType: number;
precipitation: number;
skies: number;
stopPrecip: number;
temperature: number;
windDir: number;
windSpeed: number;
}, {
forecastType: number;
precipitation: number;
skies: number;
stopPrecip: number;
temperature: number;
windDir: number;
windSpeed: number;
}>, z.ZodNull]>>;
humidityUnits: z.ZodNumber;
precipOption: z.ZodNumber;
relHumidity: z.ZodNumber;
simulatedStartTime: z.ZodString;
simulatedStartUtcTime: z.ZodString;
simulatedTimeMultiplier: z.ZodNumber;
simulatedTimeOffsets: z.ZodArray<z.ZodNumber, "many">;
skies: z.ZodNumber;
tempUnits: z.ZodNumber;
tempValue: z.ZodNumber;
timeOfDay: z.ZodNumber;
trackWater: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodNull]>>;
type: z.ZodNumber;
version: z.ZodNumber;
weatherSummary: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
maxPrecipRate: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodNull]>>;
maxPrecipRateDesc: z.ZodEnum<["Heavy", "Light", "Moderate", "None"]>;
precipChance: z.ZodNumber;
skiesHigh: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodNull]>>;
skiesLow: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodNull]>>;
tempHigh: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodNull]>>;
tempLow: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodNull]>>;
tempUnits: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodNull]>>;
windHigh: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodNull]>>;
windLow: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodNull]>>;
windUnits: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodNull]>>;
}, "strip", z.ZodTypeAny, {
maxPrecipRateDesc: "Heavy" | "Light" | "Moderate" | "None";
precipChance: number;
maxPrecipRate?: number | null | undefined;
skiesHigh?: number | null | undefined;
skiesLow?: number | null | undefined;
tempHigh?: number | null | undefined;
tempLow?: number | null | undefined;
tempUnits?: number | null | undefined;
windHigh?: number | null | undefined;
windLow?: number | null | undefined;
windUnits?: number | null | undefined;
}, {
maxPrecipRateDesc: "Heavy" | "Light" | "Moderate" | "None";
precipChance: number;
maxPrecipRate?: number | null | undefined;
skiesHigh?: number | null | undefined;
skiesLow?: number | null | undefined;
tempHigh?: number | null | undefined;
tempLow?: number | null | undefin