import { BaseApiClient } from '../base/BaseApiClient'; import type { DriversLeaderboardDto, DriverRegistrationStatusDto, } from '../../dtos'; // Import generated types import type { DriverDTO, CompleteOnboardingInputDTO, CompleteOnboardingOutputDTO } from '../../types/api-helpers'; /** * Drivers API Client * * Handles all driver-related API operations. */ export class DriversApiClient extends BaseApiClient { /** Get drivers leaderboard */ getLeaderboard(): Promise { return this.get('/drivers/leaderboard'); } /** Complete driver onboarding */ completeOnboarding(input: CompleteOnboardingInputDTO): Promise { return this.post('/drivers/complete-onboarding', input); } /** Get current driver (based on session) */ getCurrent(): Promise { return this.get('/drivers/current'); } /** Get driver registration status for a specific race */ getRegistrationStatus(driverId: string, raceId: string): Promise { return this.get(`/drivers/${driverId}/races/${raceId}/registration-status`); } }