import ICyclingMode, { CyclingModeProperyType, UpdateRequest } from "./types.js"; import { IncyclistBikeData, IAdapter } from "../types/index.js"; import PowerBasedCyclingModeBase from "./power-base.js"; export type ERGEvent = { rpmUpdated?: boolean; gearUpdated?: boolean; starting?: boolean; tsStart?: number; }; export default class ERGCyclingMode extends PowerBasedCyclingModeBase implements ICyclingMode { hasBikeUpdate: boolean; chain: number[]; cassette: number[]; event: ERGEvent; protected static config: { isERG: boolean; name: string; description: string; properties: ({ key: string; name: string; description: string; type: CyclingModeProperyType; options: string[]; default: string; min?: undefined; max?: undefined; } | { key: string; name: string; description: string; type: CyclingModeProperyType; default: number; min: number; max: number; options?: undefined; })[]; }; constructor(adapter: IAdapter, props?: any); getBikeInitRequest(): UpdateRequest; sendBikeUpdate(request: UpdateRequest): UpdateRequest; copyBikeData(data: IncyclistBikeData, bikeData: IncyclistBikeData): IncyclistBikeData; updateData(bikeData: IncyclistBikeData): IncyclistBikeData; private checkForEvents; private cleanupPrevEvents; private checkIsStarting; calculateTargetPower(request: any, updateMode?: boolean): any; protected checkForTempPowerAdjustments(request: UpdateRequest): void; protected applyCadenceFixes(): boolean; }