/** * DeviceFacade — owns device listing / selection / active-target * bookkeeping. Extracted from DeviceManager (D9.1c) to keep the * orchestrator under 400 LOC. * * Behaviour-preserving: * - listAllDevices / resolveDevice still delegate to device-resolver. * - Desktop is treated as a synthetic device id, mirroring legacy. * - getTarget() merges desktop status with the regular device state. * * The facade keeps state (activeDevice, activeTarget) internally so the * DeviceManager just forwards calls — no duplicated mutable state. */ import type { CorePlatformAdapter } from "../../adapters/platform-adapter.js"; import type { Device, Platform } from "../../platform-types.js"; import type { DesktopFacade } from "./desktop-facade.js"; export declare class DeviceFacade { private readonly adapters; private readonly desktopFacade; private activeDevice?; private activeTarget; constructor(adapters: Map, desktopFacade: DesktopFacade, initialTarget?: Platform); setTarget(target: Platform): void; getCurrentPlatform(): Platform; getActiveDevice(): Device | undefined; getTarget(): { target: Platform; status: string; }; getAllDevicesWithErrors(): { devices: Device[]; errors: { platform: Platform; error: Error; }[]; }; getAllDevices(): Device[]; getDevices(platform?: Platform): Device[]; setDevice(deviceId: string, platform?: Platform): Device; /** * Used by DeviceManager.getAdapter() FIX #8 auto-detect path: when * the adapter discovers a device on its own, we sync facade state to * match the legacy single-source-of-truth behaviour. */ recordAutoDetected(device: Device): void; } //# sourceMappingURL=device-facade.d.ts.map