/** * Tunnel - Expose local servers to the internet * @description Multi-provider tunneling for remote access to Beam and local services * @icon 🌐 */ interface TunnelInfo { provider: string; port: number; url: string; pid: number; startedAt: Date; active: boolean; } export default class Tunnel { /** * Check available tunnel providers * @icon 🔍 */ status(): Promise<{ providers: Array<{ name: string; available: boolean; install?: string; }>; activeTunnels: TunnelInfo[]; }>; /** * Start a tunnel to expose Beam to the internet * @icon 🚀 * @format qr * @param provider Tunnel provider to use */ start({ provider, }?: { /** Provider: cloudflared or ngrok */ provider?: 'cloudflared' | 'ngrok'; }): AsyncGenerator<{ emit: string; value?: any; message: string; }, { message: string; url: string; link: string; }>; /** * Stop a tunnel * @icon âšī¸ * @param port Port of the tunnel to stop */ stop({ port, }: { /** Port of the tunnel to stop */ port: number; }): Promise<{ stopped: boolean; message: string; }>; /** * Stop all active tunnels * @icon âšī¸ */ stopAll(): Promise<{ stopped: number; message: string; }>; /** * List active tunnels * @icon 📋 */ list(): Promise<{ tunnels: TunnelInfo[]; }>; private _checkCommand; private _startNgrok; private _startCloudflared; } export {}; //# sourceMappingURL=tunnel.photon.d.ts.map