import type { API, Logging, PlatformAccessory } from 'homebridge';
import type { ResideoPlatformConfig } from './settings.js';
import { ResideoPlatform } from './Platform.HAP.js';
/**
 * ResideoMatterPlatform
 * Extends ResideoPlatform with Homebridge Matter support (Homebridge v2.0+).
 * When Matter is available and enabled the platform registers Resideo devices
 * as Matter accessories; otherwise it falls back to the standard HAP path
 * inherited from ResideoPlatform.
 */
export declare class ResideoMatterPlatform extends ResideoPlatform {
    /**
     * Map of cached Matter accessories restored from disk at startup.
     * Keyed by UUID so duplicates are avoided on re-launch.
     */
    readonly matterAccessories: Map<string, any>;
    constructor(log: Logging, config: ResideoPlatformConfig, api: API);
    /**
     * Delegates to the base-class implementation so the HAP accessories array
     * (`this.accessories`) is always populated. This is required for the HAP
     * fallback path inside `discoverDevices` to work correctly and prevents
     * duplicate HAP accessories from being created on re-launch.
     *
     * When Matter mode is active those HAP accessories will be unregistered at
     * the start of `discoverDevices`, cleanly migrating away from legacy HAP.
     */
    configureAccessory(accessory: PlatformAccessory): void;
    /**
     * Called by Homebridge when a cached Matter accessory is restored from disk.
     */
    configureMatterAccessory(accessory: any): void;
    /**
     * Returns true when the running Homebridge instance has Matter available
     * and the user has Matter enabled (both bridge-level and plugin-level).
     */
    private get matterActive();
    /**
     * Overrides ResideoPlatform.discoverDevices.
     *
     * When Matter is active all discovered Resideo devices are registered as
     * Matter accessories via `api.matter.registerPlatformAccessories`.
     * Any previously cached HAP accessories are unregistered first to avoid
     * leaving stale HAP accessories when transitioning to Matter.
     *
     * When Matter is not active the call is delegated to the parent HAP
     * implementation so the plugin continues to work with Homebridge v1.x.
     */
    protected discoverDevices(): Promise<void>;
}
//# sourceMappingURL=Platform.Matter.d.ts.map