///
///
///
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, };