import ICyclingMode, { CyclingModeProperyType, Settings, UpdateRequest } from "./types.js"; import { IncyclistBikeData } from "../types/index.js"; import { CyclingModeBase } from "./base.js"; import { IncyclistDeviceAdapter } from "../base/adpater.js"; interface STUpdateRequest extends UpdateRequest { calculatedPower?: number; delta?: number; enforced?: boolean; belowMin?: boolean; aboveMax?: boolean; } export declare enum direction { up = "up", down = "down" } interface STEvent { gearUpdate?: direction; rpmUpdate?: boolean; targetNotReached?: number; } export default class SmartTrainerCyclingMode extends CyclingModeBase implements ICyclingMode { data?: IncyclistBikeData; prevRequest?: STUpdateRequest; prevUpdateTS: number; chain: number[]; cassette: number[]; event: STEvent; protected static config: { name: string; description: string; properties: ({ key: string; name: string; description: string; type: CyclingModeProperyType; options: string[]; default: string; validation?: undefined; condition?: undefined; } | { key: string; name: string; description: string; type: CyclingModeProperyType; default: number; options?: undefined; validation?: undefined; condition?: undefined; } | { key: string; name: string; description: string; type: CyclingModeProperyType; default: boolean; options?: undefined; validation?: undefined; condition?: undefined; } | { key: string; name: string; description: string; type: CyclingModeProperyType; validation: string; default: string; condition: (s: any) => any; options?: undefined; })[]; }; constructor(adapter: IncyclistDeviceAdapter, props?: Settings); getData(): IncyclistBikeData; getSlope(): number; getWeight(): number; getBikeInitRequest(): STUpdateRequest; useGearSimulation(): boolean; getMinMaxGears(source: string): [number, number]; sendBikeUpdate(request: STUpdateRequest): STUpdateRequest; updateData(bikeData: IncyclistBikeData): any; calculateSpeed(gear: any, rpm: any, slope: any, bikeSpeed: any, props?: any): any; calculateTargetPower(request: STUpdateRequest, speed?: number): STUpdateRequest; } export {};