import { PlatformAccessory } from 'homebridge';
import { FoobotHomebridgePlatform } from './platform';
/**
 * Platform Accessory
 * An instance of this class is created for each accessory your platform registers
 * Each accessory may expose multiple services of different service types.
 */
export declare class FoobotPlatformAccessory {
    private readonly platform;
    private readonly accessory;
    private airQualitySensor;
    private carbonDioxideSensor;
    private humiditySensor;
    private temperatureSensor;
    private accessoryInformation;
    private timeout;
    private delay;
    private active;
    constructor(platform: FoobotHomebridgePlatform, accessory: PlatformAccessory);
    /**
     * Handle requests to get the current value of the 'Air Quality' characteristic
     */
    handleAirQualityGet(): any;
    /**
     * Handle requests to get the current value of the 'PM2.5 Density' characteristic
     */
    handlePM2_5DensityGet(): any;
    /**
     * Handle requests to get the current value of the 'VOC Density' characteristic
     */
    handleVOCDensityGet(): any;
    /**
     * Handle requests to get the current value of the 'Current Temperature' characteristic
     */
    handleCurrentTemperatureGet(): any;
    /**
     * Handle requests to get the current value of the 'Current Relative Humidity' characteristic
     */
    handleCurrentRelativeHumidityGet(): any;
    /**
     * Handle requests to get the current value of the 'Carbon Dioxide Detected' characteristic
     */
    handleCarbonDioxideDetectedGet(): 1 | 0;
    /**
     * Handle requests to get the current value of the 'Carbon Dioxide Level' characteristic
     */
    handleCarbonDioxideLevelGet(): any;
    /**
     * Handle requests to get the current value of the 'Carbon Dioxide Peak Level' characteristic
     */
    handleCarbonDioxidePeakLevelGet(): any;
    updatecharacteristics(): Promise<void>;
    prettyPrintDuration(milliseconds: number): string;
    /**
     * convert CO2 ppm values to normal/abnormal values
     */
    detectCO2(value: number): 1 | 0;
    /**
     * convert CO2 ppm values to normal/abnormal values
     */
    peakCO2(value: number): any;
    /**
     * convert parts-per-billion to micrograms per cubic meter
     * for VOC density
     * Foobot is very sensitive to CO
     * therefore convert VOCs in ppb to ug/m3 based on mostly CO
     * https://uk-air.defra.gov.uk/assets/documents/reports/cat06/0502160851_Conversion_Factors_Between_ppb_and.pdf
     */
    convertVOCppb2ugm3(ppb: number): number;
    /**
     * convert Foobot `allpullu` values to HomeKit AirQuality values
     * problem is Foobot shows six air quality levels
     * and HomeKit has five air quality levels
     * Fooboot    | Homekit
     * All Blue   | EXCELLENT
     * 2/3 Blue   | GOOD
     * 1/3 Blue   | FAIR
     * 1/3 Orange | INFERIOR (Homekit alerts)
     * 2/3 Orange | ???
     * All Orange | POOR
     * values from gchokov
     *  0 -  25  EXCELLENT
     * 26 -  50  GOOD
     * 51 -  70  FAIR
     * 71 -  90  INFERIOR
     * 91 - 100  POOR
     * values from keithws (bellcurve)
     *  0 -  10  EXCELLENT (10%)
     * 10 -  30  GOOD (20%)
     * 30 -  70  FAIR (40%)
     * 70 -  90  INFERIOR (20%)
     * 90 - 100+ POOR (10%)
     * values from keithws (aligned inferior to 1/3 orange)
     *  0 -  17  EXCELLENT
     * 17 -  33  GOOD
     * 33 -  50  FAIR
     * 50 -  67  INFERIOR
     * 67 -  83  (missing)
     * 83 - 100+ POOR
     */
    convertAllpollu2AirQuality(allpollu: number): number;
    setActive(isActive?: boolean): void;
}
//# sourceMappingURL=platformAccessory.d.ts.map