export interface InstanceProxy { /** Origin of the proxy, e.g. http://localhost:53421 */ origin: string; /** Full dashboard URL for a hash-routed page, under the advertised prefix. */ dashboardUrl: (page?: string) => string; stop: () => void; } /** Start a reverse proxy that serves `${prefix}/…` by forwarding `/…` to * studioHostPort, where `prefix` is the `studioUrlPrefix` Studio advertises. * `dashboardKey` is the product's baked dashboard path segment (the dashboard * is served at `/dashboard//`) and so also names the `env` * document the prefix is read from. */ export declare function startInstanceProxy(opts: { studioHostPort: number; dashboardKey: string; /** Explicit upstream studio endpoint. When set, the proxy forwards here * instead of `NORSK_TEST_HOST:studioHostPort` — a `noPublish` instance binds * no host port, so the caller supplies its `norsk-net` reach * (`-studio-1:8000`) via `resolveEndpoint`. Omitted = today's * host-published behaviour. * * Supply it whenever `NORSK_TEST_HOST` is not loopback: ctl binds a * product's STUDIO_HOST_PORT to `127.0.0.1`, which the host-gateway alias * cannot reach. The alternative is launching with `--publish-debug-ports`. * See conventions/integration-testing.md. */ upstream?: { host: string; port: number; }; }): Promise;