/// /// /// import * as dgram from 'dgram'; import { EventEmitter } from 'events'; import * as constants from './constants'; import * as constantsTypes from './constants/types'; import { PacketCarDamageData, PacketCarSetupData, PacketCarStatusData, PacketCarTelemetryData, PacketEventData, PacketFinalClassificationData, PacketLapData, PacketLobbyInfoData, PacketMotionData, PacketParticipantsData, PacketSessionData, PacketSessionHistoryData, PacketHeader, Address, Options, ParsedMessage, F1_2021_UDP_Parser } from './types'; declare const DEFAULT_PORT = 20777; declare const FORWARD_ADDRESSES: undefined; declare const BIGINT_ENABLED = true; declare interface F1TelemetryClient { /** @event `"motion"` @description `Frequency: Rate as specified in menus Size: 1464 bytes` ```ts client.on('motion', data => { const motion:PacketMotionData = data }) ``` */ on(event: 'motion', listener: (data: PacketMotionData) => void): this; /** @event "session" @description `Frequency: 2 per second; Size: 625 bytes;` ```ts client.on('session', data => { const session:PacketSessionData = data }) ``` */ on(event: 'session', listener: (data: PacketSessionData) => void): this; /** @event "lapData" @description `Frequency: Rate as specified in menus Size: 970 bytes` ```ts client.on('lapData', data => { const LapData:PacketLapData = data }) ``` */ on(event: 'lapData', listener: (data: PacketLapData) => void): this; /** @event "event" @description `Frequency: When the event occurs; Size: 36 bytes;` ```ts client.on('event', data => { const event:PacketEventData = data }) ``` */ on(event: 'event', listener: (data: PacketEventData) => void): this; /** @event "participants" @description `Frequency: Every 5 seconds Size: 1257 bytes` ```ts client.on('participants', data => { const participants:PacketParticipantsData = data }) ``` */ on(event: 'participants', listener: (data: PacketParticipantsData) => void): this; /** @event "carSetups" @description `Frequency: 2 per second Size: 1102 bytes` ```ts client.on('carSetups', data => { const carSetups:PacketCarSetupData = data }) ``` */ on(event: 'carSetups', listener: (data: PacketCarSetupData) => void): this; /** @event "carTelemetry" @description `Frequency: Rate as specified in menus Size: 1347 bytes` ```ts client.on('carTelemetry', data => { const carTelemetry:PacketCarTelemetryData = data }) ``` */ on(event: 'carTelemetry', listener: (data: PacketCarTelemetryData) => void): this; /** @event "carStatus" @description `Frequency: Rate as specified in menus Size: 1058 bytes` ```ts client.on('carStatus', data => { const carStatus:PacketCarStatusData = data }) ``` */ on(event: 'carStatus', listener: (data: PacketCarStatusData) => void): this; /** @event "lobbyInfo" @description `Frequency: Two every second when in the lobby Size: 1191 bytes` ```ts client.on('lobbyInfo', data => { const lobbyInfo:PacketLobbyInfoData = data }) ``` */ on(event: 'lobbyInfo', listener: (data: PacketLobbyInfoData) => void): this; /** @event "finalClassification" @description `Frequency: Once at the end of a race Size: 839 bytes` ```ts client.on('finalClassification', data => { const finalClassification:PacketFinalClassificationData = data }) ``` */ on(event: 'finalClassification', listener: (data: PacketFinalClassificationData) => void): this; /** @event "carDamage" @description `Frequency: 2 per second Size: 882 bytes` ```ts client.on('carDamage', data => { const carDamage:PacketCarDamageData = data }) ``` */ on(event: 'carDamage', listener: (data: PacketCarDamageData) => void): this; /** @event "sessionHistory" @description `Frequency: 20 per second but cycling through cars Size: 1155 bytes` ```ts client.on('sessionHistory', data => { const sessionHistory:PacketSessionHistoryData = data }) ``` */ on(event: 'sessionHistory', listener: (data: PacketSessionHistoryData) => void): this; } declare class F1TelemetryClient extends EventEmitter { port: number; bigintEnabled: boolean; forwardAddresses?: Address[]; binaryButtonFlags: boolean; address: string; socket?: dgram.Socket; constructor(opts?: Options); /** * * @param {Buffer} message */ static parseBufferMessage(message: Buffer, bigintEnabled?: boolean, binaryButtonFlags?: boolean): ParsedMessage | undefined; /** * * @param {Buffer} buffer * @param {Boolean} bigIntEnabled * @param {Boolean} binaryButtonFlags */ static parsePacketHeader(buffer: Buffer, bigintEnabled: boolean): PacketHeader; /** * * @param {Number} packetFormat * @param {Number} packetId */ static getPacketSize(packetFormat: number, packetId: number): number; /** * * @param {Number} packetId */ static getParserByPacketId(packetId: number): F1_2021_UDP_Parser; /** * * @param {Buffer} message */ handleMessage(message: Buffer): void; /** * * @param {Buffer} message */ bridgeMessage(message: Buffer): void; /** * Method to start listening for packets */ start(): void; /** * Method to close the client */ stop(): void; } export { F1TelemetryClient, constants, constantsTypes, DEFAULT_PORT, BIGINT_ENABLED, FORWARD_ADDRESSES, PacketMotionData, PacketSessionData, PacketLapData, PacketEventData, PacketParticipantsData, PacketCarSetupData, PacketCarTelemetryData, PacketCarStatusData, PacketFinalClassificationData, PacketLobbyInfoData, PacketCarDamageData, PacketSessionHistoryData, };