type RelayOptions = { /** Port the relay listens on (App Platform injects PORT). */ port?: number; /** Shared secret the dev client must present (?token=). */ token: string; /** Public base URL the relay is reachable at. Falls back to the request * origin when omitted (App Platform: set APP_URL or pass explicitly). */ publicUrl?: string; /** How long to wait for the dev client to answer a forwarded request. */ requestTimeoutMs?: number; }; type ControlSocketData = { control: true; }; type PublicSocketData = { control: false; id: string; url: string; headers: Record; }; type SocketData = ControlSocketData | PublicSocketData; /** * Start the public reverse-tunnel relay. Holds one dev-client control socket * and forwards every other inbound HTTP request — and public WebSocket — down * it. Single-tenant: the shared `token` gates the control channel. */ export declare const startTunnelRelay: (options: RelayOptions) => Bun.Server; export {};