/** * Copyright (c) Meta Platforms, Inc. and affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. * * @flow strict-local * @format * @oncall react_native */ import type { EventReporter } from "../types/EventReporter"; import type { CreateCustomMessageHandlerFn } from "./CustomMessageHandler"; import type { Page } from "./types"; import WS from "ws"; /** * Device class represents single device connection to Inspector Proxy. Each device * can have multiple inspectable pages. */ declare export default class Device { constructor( id: string, name: string, app: string, socket: WS, projectRoot: string, eventReporter: ?EventReporter, createMessageMiddleware: ?CreateCustomMessageHandlerFn ): void; getName(): string; getApp(): string; getPagesList(): $ReadOnlyArray; handleDebuggerConnection( socket: WS, pageId: string, metadata: $ReadOnly<{ userAgent: string | null, }> ): void; handleDuplicateDeviceConnection(newDevice: Device): void; }