import "reflect-metadata"; //#region packages/core/src/enums/record.d.ts export declare enum RecordTypesEnum { NONE = 0, DRIVER = 1, ONFOOT = 2 } //#endregion //#region packages/rec/src/types/index.d.ts export type CppField = { [K in Exclude]: { type: K; field: string; sort?: number; value?: CppTypeValueMap[K]; bitWidth?: number; }; }[Exclude]; export type CppTypeValueMap = { uint32_t: number | number[]; int16_t: number | number[]; uint16_t: number | number[]; float: number | number[]; uint8_t: number | number[]; bool: boolean | boolean[]; struct: CppField<"struct" | "union">[]; union: CppField<"struct" | "union">[]; }; export type CppObject = CppField[]; //#endregion //#region packages/rec/src/exceptions/index.d.ts export declare class RecException extends Error { constructor(message: string); } //#endregion //#region packages/rec/src/utils/converter.d.ts /** * @throws {RecException} When the file is not a valid REC format file. */ export declare function recToJson(filePath: string): Promise; /** * @throws {RecException} When `data` does not start with a valid REC header. */ export declare function jsonToRec(filePath: string, data: any[]): Promise; //#endregion //#region packages/rec/src/utils/dataBlock.d.ts declare abstract class DataBlock {} export declare class HeaderDataBlock extends DataBlock { version: number; type: number; hydra: boolean; } export declare class OnFootDataBlock extends DataBlock { time: number; leftRight: number; upDown: number; keys: number; position: [number, number, number]; rotation: [number, number, number, number]; health: number; armour: number; weaponIdYesNoBack: { weaponId: number; yesNoBack: number; }; specialAction: number; velocity: [number, number, number]; surfing: [number, number, number]; surfingId: number; animationId: number; animationFlags: { animationDelta: number; animationLoop: boolean; animationLockX: boolean; animationLockY: boolean; animationFreeze: boolean; animationTime: number; }; } export declare class VehicleDataBlock extends DataBlock { time: number; vehicleId: number; leftRight: number; upDown: number; keys: number; rotation: [number, number, number, number]; position: [number, number, number]; velocity: [number, number, number]; vehicleHealth: number; health: number; armour: number; weaponIdYesNoBack: { weaponId: number; yesNoBack: number; }; sirenState: boolean; gearState: boolean; trailerId: number; hydraThrustAngleTrainSpeed: { hydraThrustAngle: [number, number]; trainSpeed: number; }; } //#endregion