import { PlatformAccessory, CharacteristicValue } from 'homebridge';
import { iRobotPlatform } from './platform';
import { Robot } from './getRoombas';
/**
 * Platform Accessory
 *
 * An instance of this class is created for each Roomba.
 */
export declare class iRobotPlatformAccessory {
    private readonly platform;
    private readonly accessory;
    private readonly device;
    private service;
    private battery;
    private stuck;
    private binFilter;
    private binContact;
    private binMotion;
    private shutdown;
    private starting;
    private cipherIndex;
    private binConfig;
    private roomba;
    private active;
    private lastStatus;
    private lastCommandStatus;
    private state;
    private binFull;
    private batteryStatus;
    private stuckStatus;
    private roomByRoom;
    constructor(platform: iRobotPlatform, accessory: PlatformAccessory, device: Robot);
    configureRoomba(): Promise<void>;
    updateRoombaState(data: any): void;
    private updatePlatformAccessoryCharacteristics;
    private updatePlatformAccessoryInternalState;
    updateMap(lastCommand: {
        pmap_id: never;
        regions: [
            {
                parameters: object;
                region_id?: string;
                type?: string;
            }
        ];
        user_pmapv_id: never;
    }): void;
    updateRooms(): void;
    getHomekitActive(cleanMissionStatus: {
        [x: string]: string | boolean;
    }): boolean;
    getEveInactive(cleanMissionStatus: {
        [x: string]: string | boolean;
    }): boolean;
    /**
     * Handle the "GET" requests from HomeKit
     * These are sent when HomeKit wants to know the current state of the accessory, for example, checking if a Light bulb is on.
     *
     * Note: These get requests are verry performance sensitive. Make sure to optimize them as much as possible.
     */
    get(): Promise<CharacteristicValue>;
    getState(): Promise<CharacteristicValue>;
    getBinfull(): Promise<CharacteristicValue>;
    getBinfullBoolean(): Promise<CharacteristicValue>;
    getBatteryLevel(): Promise<CharacteristicValue>;
    getBatteryStatus(): Promise<CharacteristicValue>;
    getChargeState(): Promise<CharacteristicValue>;
    getMode(): Promise<CharacteristicValue>;
    getStuck(): Promise<CharacteristicValue>;
    identify(): Promise<void>;
    /**
     * Handle "SET" requests from HomeKit
     */
    set(value: CharacteristicValue): Promise<void>;
    setMode(value: CharacteristicValue): Promise<void>;
}
//# sourceMappingURL=platformAccessory.d.ts.map