import { IncyclistDeviceAdapter } from "../base/adpater.js"; import { IncyclistBikeData } from "../types/index.js"; import PowerBasedCyclingModeBase from "./power-base.js"; import ICyclingMode, { CyclingModeProperyType, UpdateRequest } from "./types.js"; export default class FMResistanceMode extends PowerBasedCyclingModeBase implements ICyclingMode { protected static config: { isERG: boolean; isSIM: boolean; isResistance: boolean; name: string; description: string; properties: { key: string; name: string; description: string; type: CyclingModeProperyType; default: number; min: number; max: number; }[]; }; protected confirmedResistance?: number; protected requestedResistance?: number; constructor(adapter: IncyclistDeviceAdapter, props?: any); getBikeInitRequest(): UpdateRequest; sendBikeUpdate(incoming: UpdateRequest): UpdateRequest; checkForResetOrEmpty(request: UpdateRequest): UpdateRequest | undefined; protected checkSlope(request: UpdateRequest): void; protected checkTargetResistanceSet(request: UpdateRequest, newRequest: UpdateRequest): void; protected checkGearDeltaSet(request: UpdateRequest, newRequest: UpdateRequest): void; updateData(bikeData: IncyclistBikeData, log?: boolean): IncyclistBikeData; confirmed(request: UpdateRequest): void; protected getCurrentResistanceTarget(): number; protected getConfirmedResistanceTarget(): number; protected getCurrentResistance(): number; protected getInitialGear(): number; protected getGear(resistance: number): number; protected calculateTargetResistance(gear: number): number; }