/// <reference types="node" />
import { PlatformAccessory, CharacteristicValue } from 'homebridge';
import { EventEmitter } from 'events';
import { Device } from 'smart-bus';
import { HDLBusproHomebridge } from './HDLPlatform';
import { ABCDevice, ABCListener } from './ABC';
export declare class RelayCurtains implements ABCDevice {
    private readonly platform;
    private readonly accessory;
    private readonly name;
    private readonly controller;
    private readonly device;
    private readonly listener;
    private readonly channel;
    private readonly nc;
    private readonly duration;
    private readonly precision;
    private service;
    private RelayCurtainsStates;
    private postracker_process;
    private stopper_process;
    private HDLOpening;
    private HDLClosing;
    private HDLStop;
    constructor(platform: HDLBusproHomebridge, accessory: PlatformAccessory, name: string, controller: Device, device: Device, listener: RelayCurtainListener, channel: number, nc: boolean, duration: number, precision: number);
    private saveCurrentPosition;
    private saveTargetPosition;
    handleTargetPositionSet(targetposition: CharacteristicValue): Promise<void>;
    handleTargetPositionGet(): Promise<CharacteristicValue>;
    handleCurrentPositionGet(): Promise<CharacteristicValue>;
    handlePositionStateGet(): Promise<CharacteristicValue>;
}
export declare class RelayCurtainListener implements ABCListener {
    private readonly device;
    private readonly controller;
    private curtainsMap;
    private eventEmitter;
    constructor(device: Device, controller: Device);
    getCurtainEventEmitter(curtain: number): EventEmitter;
}
//# sourceMappingURL=RelayCurtains.d.ts.map