import { BroadcastCommand, BroadcastCommandArgs, TelemetryVariable, TelemetryVarList } from '@irsdk-node/types'; export type TelemetryTypesDict = Record; export declare enum LogLevel { None = 0, Error = 1, Warn = 2, Info = 3, Debug = 4 } /** * Interface of the iRacing SDK native module. * * This should map 1:1 to the API implemented within the C++ addon, and anything * added, changed, or removed from the C++ addon API will be documented here. */ export interface INativeSDK { readonly currDataVersion: number; readonly isMocked: boolean; /** @deprecated use .logLevel instead */ enableLogging: boolean; logLevel: LogLevel; startSDK(): boolean; stopSDK(): void; isRunning(): boolean; waitForData(timeout?: number): boolean; getSessionData(): string; getTelemetryData(): TelemetryVarList; getSessionVersionNum(): number; getSessionConnectionID(): number; getTelemetryVariable(index: number): TelemetryVariable | null; getTelemetryVariable(name: string): TelemetryVariable | null; getTelemetryVariableIndex(name: string): number | null; __getTelemetryTypes(): TelemetryTypesDict; broadcast(message: Command, ...args: BroadcastCommandArgs): boolean; } export type NativeSDKImpl = new () => INativeSDK;