type SendFn = (msg: Record) => void; export interface ProxyPortConfig { port: number; enabled: boolean; label?: string; } export interface ProxyConfig { enabled: boolean; ports: ProxyPortConfig[]; } interface TunnelRequest { type: 'tunnel_request'; tunnelId: string; port: number; method: string; path: string; headers: Record; body?: string; } interface TunnelWsOpen { type: 'tunnel_ws_open'; tunnelId: string; port: number; path: string; headers: Record; } interface TunnelWsMessage { type: 'tunnel_ws_message'; tunnelId: string; data: string; binary: boolean; } interface TunnelWsClose { type: 'tunnel_ws_close'; tunnelId: string; code?: number; reason?: string; } export declare function createTunnelHandler(send: SendFn): { handleTunnelRequest: (msg: TunnelRequest) => void; handleTunnelWsOpen: (msg: TunnelWsOpen) => void; handleTunnelWsMessage: (msg: TunnelWsMessage) => void; handleTunnelWsClose: (msg: TunnelWsClose) => void; handleProxyConfigUpdate: (msg: { config: ProxyConfig; }) => void; getProxyConfig: () => ProxyConfig; cleanup: () => void; }; export {};