/** * 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 { CreateCustomMessageHandlerFn } from "./inspector-proxy/CustomMessageHandler"; import type { BrowserLauncher } from "./types/BrowserLauncher"; import type { EventReporter } from "./types/EventReporter"; import type { ExperimentsConfig } from "./types/Experiments"; import type { Logger } from "./types/Logger"; import type { NextHandleFunction } from "connect"; type Options = $ReadOnly<{ projectRoot: string, /** * The base URL to the dev server, as reachable from the machine on which * dev-middleware is hosted. Typically `http://localhost:${metroPort}`. */ serverBaseUrl: string, logger?: Logger, /** * An interface for integrators to provide a custom implementation for * opening URLs in a web browser. * * This is an unstable API with no semver guarantees. */ unstable_browserLauncher?: BrowserLauncher, /** * An interface for logging events. * * This is an unstable API with no semver guarantees. */ unstable_eventReporter?: EventReporter, /** * The set of experimental features to enable. * * This is an unstable API with no semver guarantees. */ unstable_experiments?: ExperimentsConfig, /** * Create custom handler to add support for unsupported CDP events, or debuggers. * This handler is instantiated per logical device and debugger pair. * * This is an unstable API with no semver guarantees. */ unstable_customInspectorMessageHandler?: CreateCustomMessageHandlerFn, }>; type DevMiddlewareAPI = $ReadOnly<{ middleware: NextHandleFunction, websocketEndpoints: { [path: string]: ws$WebSocketServer }, }>; declare export default function createDevMiddleware(Options): DevMiddlewareAPI;