import { EventLogger } from "gd-eventlog"; import { IncyclistBikeData, IAdapter } from "../types/index.js"; import ICyclingMode, { CyclingMode, CyclingModeConfig, CyclingModeProperty, Settings, UpdateRequest } from "./types.js"; export declare abstract class CyclingModeBase extends CyclingMode implements ICyclingMode { adapter: IAdapter; settings: Settings; properties: Settings; localConfig?: CyclingModeConfig; protected static config: CyclingModeConfig; protected static isERG: boolean; protected prevUpdate: UpdateRequest; protected prevConfirmed: UpdateRequest; protected logger: EventLogger; static supportsERGMode(): boolean; constructor(adapter: IAdapter, props?: any); setAdapter(adapter: IAdapter): void; setConfig(config: CyclingModeConfig): void; getConfig(): CyclingModeConfig; getName(): string; getDescription(): string; getProperties(): CyclingModeProperty[]; getProperty(name: string): CyclingModeProperty; setSettings(settings?: any): void; setSetting(name: string, value: any): void; getSetting(name: string): any; getSettingDefault(name: string): any; getSettings(): Settings; setModeProperty(name: string, value: any): void; getModeProperty(name: string): any; initLogger(defaultLogName: string): void; logEvent(event: any): void; protected updateRequired(request?: UpdateRequest): boolean; buildUpdate(request?: UpdateRequest): UpdateRequest; confirmed(request: UpdateRequest): void; abstract getBikeInitRequest(): UpdateRequest; abstract sendBikeUpdate(request: UpdateRequest): UpdateRequest; abstract updateData(data: IncyclistBikeData): IncyclistBikeData; }