/// <reference types="node" />
import { ISensor, IValueSensor } from '@homenet/core';
import { EventEmitter } from 'events';
import { ZwayController } from './controller';
export declare class ZwayMotionSensor extends EventEmitter implements ISensor {
    private controller;
    opts: {
        deviceId: number;
        zoneId: string;
    };
    isTrigger: boolean;
    isToggle: boolean;
    isValue: boolean;
    constructor(instanceId: string, controller: ZwayController, opts: {
        deviceId: number;
        zoneId: string;
    });
    private onSensorMotionEvent(e);
}
export declare abstract class ZwayValueSensor extends EventEmitter implements IValueSensor {
    private controller;
    opts: {
        deviceId: number;
        zoneId: string;
    };
    isTrigger: boolean;
    isToggle: boolean;
    isValue: boolean;
    protected inputKey: any;
    protected zwayType: any;
    private key;
    private deviceId;
    private device;
    private battery;
    constructor(instanceId: string, controller: ZwayController, opts: {
        deviceId: number;
        zoneId: string;
    });
    get(key: string): number;
    set(key: string, value: string): void;
    private onSensorValueEvent(e);
    private checkBattery();
}
export declare class ZwayTemperatureSensor extends ZwayValueSensor {
    constructor(instanceId: string, controller: ZwayController, opts: {
        deviceId: number;
        zoneId: string;
    });
}
export declare class ZwayHumiditySensor extends ZwayValueSensor {
    constructor(instanceId: string, controller: ZwayController, opts: {
        deviceId: number;
        zoneId: string;
    });
}
export declare class ZwayLuminescenceSensor extends ZwayValueSensor {
    constructor(instanceId: string, controller: ZwayController, opts: {
        deviceId: number;
        zoneId: string;
    });
}
