import { Logger, PlatformAccessory, PlatformConfig } from 'homebridge';
import { ConfigDevice } from './types.js';
import { BlaQHomebridgePluginPlatform } from './platform.js';
export type BlaQInitAccessoryCallback = (configDevice: ConfigDevice, Model: string, SerialNumber: string) => {
    platform: BlaQHomebridgePluginPlatform;
    accessory: PlatformAccessory;
};
export declare class BlaQHub {
    private readonly pluginConfig;
    private readonly configDevice;
    private accessories;
    private eventSource?;
    private host;
    private initialized;
    private friendlyName?;
    private deviceMac?;
    private port;
    private user?;
    private pass?;
    private eventsBeforeAccessoryInit;
    private readonly initAccessoryCallback;
    private readonly logger;
    constructor(pluginConfig: PlatformConfig, configDevice: ConfigDevice, initAccessoryCallback: BlaQInitAccessoryCallback, logger: Logger);
    private getAPIBaseURL;
    private reinitializeEventSource;
    updateHostPort(host: string, port: number): void;
    performNativeAPIHeartbeat(): void;
    private possiblyFinalizeInit;
    private handleStateUpdate;
    private handleLogUpdate;
    private initGarageDoorAccessory;
    private initGarageLightAccessory;
    private initGarageLockAccessory;
    private initGarageMotionSensorAccessory;
    private initGaragePreCloseWarningAccessory;
    private initGarageLearnModeAccessory;
    private initGarageObstructionSensorAccessory;
    private initAccessories;
    private handlePingUpdate;
}
