import type { XCUITestDriverOpts } from '../driver';
export declare class ConnectedDevicesClient {
    private readonly services;
    private constructor();
    /**
     * Create a connected devices client instance.
     * When opts indicate iOS/tvOS 18+, loads and stores the remotexpc Services
     * instance for tunnel registry listing; otherwise uses legacy listing only.
     */
    static create(opts: XCUITestDriverOpts): Promise<ConnectedDevicesClient>;
    /**
     * Returns the list of connected real device UDIDs.
     * Only considers tunnel registry UDIDs when remotexpc is loaded and tunnels are running;
     * otherwise returns the legacy list only.
     */
    getConnectedDevices(): Promise<string[]>;
    private isPreferDevicectlEnabled;
    /**
     * Fetches UDIDs from the tunnel registry.
     * @throws When remotexpc is not loaded or when the tunnel registry is unreachable.
     */
    private listUdidsFromTunnelsRegistry;
    private listLegacyUdids;
}
//# sourceMappingURL=connected-devices-client.d.ts.map