import { IAdapter, IncyclistBikeData } from "../types/index.js"; import { CyclingModeBase } from "./base.js"; import ICyclingMode, { CyclingModeProperyType, Settings, UpdateRequest } from "./types.js"; export default class SpeedCyclingMode extends CyclingModeBase implements ICyclingMode { data: IncyclistBikeData; prevUpdateTS: number; prevRequest: UpdateRequest | undefined; protected static config: { name: string; description: string; properties: ({ key: string; name: string; description: string; type: CyclingModeProperyType; options: string[]; default: string; } | { key: string; name: string; description: string; type: CyclingModeProperyType; default: number; options?: undefined; })[]; }; constructor(adapter: IAdapter, props?: Settings); getData(): Partial; getSlope(): number; getWeight(): number; getTimeSinceLastUpdate(): number; getBikeInitRequest(): UpdateRequest; updateData(data: IncyclistBikeData, log?: boolean): IncyclistBikeData; sendBikeUpdate(request: UpdateRequest): UpdateRequest; protected calculatePowerAndDistance(speed: number, slope: number, m: number, t: number, props?: {}): { power: number; distance: number; }; protected calculateSpeedAndDistance(power: number, slope: number, m: number, t: number, props?: {}): { speed: number; distance: number; }; }