import type { Game } from '../../game';
import type { GameTrack } from '../../gameTrack';
import type { Kart } from '../../kart';
import type { CheckpointEvent } from '../../kartTracking';
import type { Response } from '../../response';
import type { MacAddressGameTrackConnections } from '../inputs';
import type { SocketHardwareOnDataEventsParams } from '../SocketHardwareOnDataEventsParams';
export interface SocketWebAppServerToClientEventsParams {
    'karts:authenticate:response': Response<void>;
    'karts:list:response': Response<Kart[]>;
    'karts:onKartsUpdated': Kart[];
    'karts:onHardwareData': {
        kartGuid: string;
        socketEvent: keyof SocketHardwareOnDataEventsParams;
        payload: SocketHardwareOnDataEventsParams[keyof SocketHardwareOnDataEventsParams];
    };
    'karts:tracking:checkpointEvent': {
        checkpointEvent: CheckpointEvent;
    };
    'game:changed': {
        game: Game;
    };
    'gameTracks:onGameTrackUpdated': GameTrack[];
    'gameTracks:connectedRasperries': {
        macAddress: string;
    }[];
    'gameTracks:list:response': Response<MacAddressGameTrackConnections>;
}
