export interface ProxyServerOptions { port: number; targetUrl: string; mode?: 'websocket' | 'auto'; enableLogging?: boolean; } export declare class ProxyServer { private options; private app; private client; private server; private httpServer; private wsServer; private browserClients; private enableLogging; private connectionMode; constructor(options: ProxyServerOptions); private determineConnectionMode; private setupMiddleware; private setupRoutes; /** * Handle HTTP request via direct HTTP proxy (for deployed instances) */ private handleRequestViaDirectHTTP; /** * Handle HTTP request by routing through WebSocket to browser */ private handleRequestViaWebSocket; private setupErrorHandling; /** * Set up WebSocket server for browser connections */ private setupWebSocketServer; /** * Handle API request from browser via WebSocket */ private handleBrowserAPIRequest; /** * Send status update to a specific browser client */ private sendStatusToBrowser; /** * Send status update to all connected browser clients */ sendStatusToAllBrowsers(status: string, message: string): void; /** * Check if any browsers are connected */ hasBrowserClients(): boolean; /** * Register callback for command completion events */ onCommandComplete(callback: () => void): void; /** * Send completion signal to browser before shutdown */ sendCompletionSignal(): Promise; start(): Promise; stop(): Promise; getPort(): number; getTargetUrl(): string; } //# sourceMappingURL=proxy-server.d.ts.map