import { ChannelConfiguration, ISensor, Profile } from '../types';
import Sensor, { SensorState } from './base-sensor';
export declare class FitnessEquipmentSensorState extends SensorState {
    Temperature?: number;
    ZeroOffset?: number;
    SpinDownTime?: number;
    EquipmentType?: 'Treadmill' | 'Elliptical' | 'StationaryBike' | 'Rower' | 'Climber' | 'NordicSkier' | 'Trainer' | 'General';
    ElapsedTime?: number;
    Distance?: number;
    RealSpeed?: number;
    VirtualSpeed?: number;
    HeartRate?: number;
    HeartRateSource?: 'HandContact' | 'EM' | 'ANT+';
    State?: 'OFF' | 'READY' | 'IN_USE' | 'FINISHED';
    CycleLength?: number;
    Incline?: number;
    Resistance?: number;
    METs?: number;
    CaloricBurnRate?: number;
    Calories?: number;
    _EventCount0x19?: number;
    Cadence?: number;
    AccumulatedPower?: number;
    InstantaneousPower?: number;
    AveragePower?: number;
    TrainerStatus?: number;
    TargetStatus?: 'OnTarget' | 'LowSpeed' | 'HighSpeed';
    PairedDevices: any[];
}
export default class FitnessEquipmentSensor extends Sensor implements ISensor {
    private states;
    private isRestarting;
    getDeviceType(): number;
    getProfile(): Profile;
    getDeviceID(): number;
    getChannelConfiguration(): ChannelConfiguration;
    onMessage(data: Buffer): void;
    logEvent(event: any): void;
    protected waitForRestart(): Promise<void>;
    onEvent(data: Buffer): Promise<void>;
    send(data: Buffer, props: {
        logStr?: string;
        timeout?: number;
        args?: object;
    }): Promise<boolean>;
    sendUserConfiguration(userWeight: any, bikeWeight: any, wheelDiameter: any, gearRatio: any): Promise<boolean>;
    sendBasicResistance(resistance: any): Promise<boolean>;
    sendTargetPower(power: any): Promise<boolean>;
    sendWindResistance(windCoeff: any, windSpeed: any, draftFactor: any): Promise<boolean>;
    sendTrackResistance(slope: any, rrCoeff?: any): Promise<boolean>;
}
