import { IAdapter, IncyclistBikeData } from "../types/index.js"; export type UpdateRequest = { slope?: number; minPower?: number; maxPower?: number; targetPower?: number; targetPowerDelta?: number; targetResistance?: number; targetResistanceDelta?: number; gearDelta?: number; reset?: boolean; refresh?: boolean; init?: boolean; gear?: number; gearRatio?: number; forced?: boolean; isHub?: boolean; }; export declare enum CyclingModeProperyType { Integer = "Integer", Boolean = "Boolean", Float = "Float", String = "String", SingleSelect = "SingleSelect", MultiSelect = "MultiSelect" } export type CyclingModeProperty = { key: string; name: string; description: string; type: CyclingModeProperyType; min?: number; max?: number; default?: any; options?: any[]; condition?: (setting: any) => boolean; }; export type Settings = { [key: string]: any; }; export default interface ICyclingMode { getName(): string; getDescription(): string; getProperties(): CyclingModeProperty[]; getProperty(name: string): CyclingModeProperty; getBikeInitRequest(): UpdateRequest; buildUpdate(request: UpdateRequest): UpdateRequest; confirmed(request: UpdateRequest): void; updateData(data: IncyclistBikeData): IncyclistBikeData; setSettings(settings: any): void; setSetting(name: string, value: any): void; getSetting(name: string): any; getSettings(): Settings; setModeProperty(name: string, value: any): void; getModeProperty(name: string): any; getData(): Partial; resetConfig(): void; getConfig(): CyclingModeConfig; } export type CyclingModeConfig = { isERG?: boolean; isSIM?: boolean; isResistance?: boolean; name: string; description: string; properties: CyclingModeProperty[]; }; export declare class CyclingMode implements ICyclingMode { constructor(_adapter: IAdapter, _props?: any); static supportsERGMode(): boolean; getName(): string; getDescription(): string; getProperties(): CyclingModeProperty[]; getProperty(_name: string): CyclingModeProperty; getBikeInitRequest(): UpdateRequest; buildUpdate(_request: UpdateRequest): UpdateRequest; updateData(_data: IncyclistBikeData): IncyclistBikeData; setSettings(_settings: any): void; setSetting(_name: string, _value: any): void; getSetting(_name: string): void; getSettings(): Settings; setModeProperty(_name: string, _value: any): void; getModeProperty(_name: string): void; getConfig(): CyclingModeConfig; isERG(): boolean; isSIM(): boolean; isResistance(): boolean; resetConfig(): void; getData(): Partial; confirmed(request: UpdateRequest): void; onAdapterCapabilitiesChanged(): void; }