import { HttpClient } from 'hap-controller';
import { Logging } from 'homebridge';
import { GetCharacteristicsOptions } from 'hap-controller/lib/transport/ip/http-client';
import HttpConnection from 'hap-controller/lib/transport/ip/http-connection';
import { CharacteristicDescription, PairingData } from './Interfaces';
export declare class Sequencer {
    private _queue;
    private timer;
    private readonly log;
    constructor(log: Logging);
    get length(): number;
    get busy(): boolean;
    push(call: () => Promise<any>, name: string, uuid: string): Promise<any>;
    private next;
}
export declare class HttpWrapper {
    readonly client: HttpClient;
    private readonly list;
    private readonly log;
    constructor(log: Logging, deviceId: string, address: string, port: number, pairingData?: PairingData);
    private uct;
    identify(): Promise<any>;
    getAccessories(): Promise<Record<string, unknown>>;
    getCharacteristics(characteristics: string[], options?: GetCharacteristicsOptions): Promise<Record<string, unknown>>;
    setCharacteristics(characteristics: Record<string, unknown>): Promise<Record<string, unknown>>;
    subscribeCharacteristics(characteristics: string[]): Promise<HttpConnection>;
    private onEvent;
    private readonly listeners;
    on(c: CharacteristicDescription, listener: (...args: any[]) => void): this;
}
//# sourceMappingURL=HttpWrapper.d.ts.map