import type { API, Characteristic, DynamicPlatformPlugin, Logging, PlatformAccessory, PlatformConfig, Service } from 'homebridge';
import { VirtualLogger } from './utils/virtualLogger.js';
/**
 * HomebridgePlatform
 */
export declare class VirtualAccessoriesPlatform implements DynamicPlatformPlugin {
    readonly config: PlatformConfig;
    readonly api: API;
    static platformName: string;
    readonly Service: typeof Service;
    readonly Characteristic: typeof Characteristic;
    readonly log: VirtualLogger;
    private readonly sensorUpdateServer?;
    readonly cachedAccessories: PlatformAccessory[];
    version: string;
    constructor(log: Logging, config: PlatformConfig, api: API);
    /**
     * This function is invoked when homebridge restores cached accessories from disk at startup.
     * It should be used to set up event handlers for characteristics and update respective values.
     */
    configureAccessory(accessory: PlatformAccessory): void;
    /**
     * Accessories must only be registered once, previously created accessories
     * must not be registered again to prevent "duplicate UUID" errors.
     */
    discoverDevices(): void;
    private deserializeAccessoryConfigurations;
}
