import * as dgram from 'dgram';
import { EventEmitter } from 'events';
import { type Address, type Options, type Packet, type ParsedMessage } from './types';
import type { PacketHeader } from './types';
import type { RemoteInfo } from 'node:dgram';
import * as constants from './constants';
export declare const DEFAULT_PORT = 20777;
export declare const FORWARD_ADDRESSES: undefined;
export declare const BIGINT_ENABLED = true;
/**
 *
 */
export declare class F1TelemetryClient extends EventEmitter {
    port: number;
    bigintEnabled: boolean;
    forwardAddresses?: Address[];
    socket?: dgram.Socket;
    constructor(opts?: Options);
    /**
     *
     * @param {Buffer} message
     * @param bigintEnabled
     * @param remoteInfo
     */
    static parseBufferMessage(message: Buffer, bigintEnabled?: boolean, remoteInfo?: RemoteInfo): ParsedMessage<Packet> | undefined;
    /**
     *
     * @param {Buffer} buffer
     * @param {Boolean} bigintEnabled
     */
    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): any;
    /**
     *
     * @param {Buffer} message
     * @param remoteInfo
     */
    handleMessage(message: Buffer, remoteInfo: RemoteInfo): void;
    private emitPackage;
    /**
     *
     * @param {Buffer} message
     */
    bridgeMessage(message: Buffer): void;
    /**
     * Method to start listening for packets
     */
    start(): void;
    /**
     * Method to close the client
     */
    stop(): dgram.Socket | undefined;
}
export default F1TelemetryClient;
export { constants };
