import type { API, DynamicPlatformPlugin, Logging } from 'homebridge';
import type { AirPlatformConfig } from './settings.js';
/**
 * Factory function that returns a platform proxy constructor.
 *
 * Semantics:
 *  - `enableMatter: true`  – Opt into Matter explicitly. When Matter is available and enabled the
 *                            Matter platform is used. If Matter is unavailable or disabled a warning
 *                            is logged and the HAP platform is used as a fallback.
 *  - `preferMatter: true`  – Use Matter when available and enabled; silently fall back to HAP
 *                            without logging a warning when Matter is not available/disabled.
 *
 * @param HapPlatform - The HAP (HomeKit Accessory Protocol) platform constructor.
 * @param MatterPlatformClass - The Matter platform constructor.
 * @returns A new platform constructor that selects HAP or Matter at runtime.
 */
export declare function createPlatformProxy(HapPlatform: new (log: Logging, config: AirPlatformConfig, api: API) => DynamicPlatformPlugin, MatterPlatformClass: new (log: Logging, config: AirPlatformConfig, api: API) => DynamicPlatformPlugin): new (log: Logging, config: AirPlatformConfig, api: API) => DynamicPlatformPlugin;
//# sourceMappingURL=utils.d.ts.map