/** Local Bridge client shared by the DSH browser tools. */ import type { BrowserTargetRoute, Config, ResolvedConfig } from './types.js'; /** Resolve and validate deployment settings without reading credentials. */ export declare function resolveConfig(config: Config): ResolvedConfig; /** * Connect to, and when configured start, one loopback pi-control-chrome Bridge. * The Bridge process is deliberately left alive when this client stops so Pi * and DSH sessions can reuse the same browser connection. */ export declare class BrowserBridgeClient { private socket; private socketKey; private connecting; private restarting; private readonly starting; private lifecycle; private readonly pending; private readonly resolveConfig; /** @param resolveSettings - returns the current settings section. */ constructor(resolveSettings: () => ResolvedConfig); /** Start or reuse the Bridge and establish the DSH-side websocket. */ start(): Promise; /** Stop this client connection without stopping the reusable Bridge process. */ stop(): Promise; /** Read the local Bridge health document. */ health(): Promise>; /** * Restart a compatible Bridge through the local-user cooperative control * protocol, or start it when the configured port is offline. * @returns the new Bridge health document and lifecycle result. */ restart(signal?: AbortSignal): Promise>; /** Send one browser method request and preserve caller cancellation locally. */ request(method: string, params?: Record, signal?: AbortSignal, target?: BrowserTargetRoute): Promise; private connect; private openSocket; private restartBridge; private readHealth; private waitForHealth; private waitForBridgeOffline; private ensureBridgeProcess; private startBridgeProcess; private resolveBridgeScript; private isHealthy; private handleMessage; private settlePending; private cancelRemote; private rejectPending; private rejectPendingForSocket; } //# sourceMappingURL=bridge.d.ts.map