import { IDisposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle"; import { URI } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri"; import { IAddress } from "@codingame/monaco-vscode-api/vscode/vs/platform/remote/common/remoteAgentConnection"; import { ITunnelService } from "@codingame/monaco-vscode-api/vscode/vs/platform/tunnel/common/tunnel.service"; export interface IWebviewPortMapping { readonly webviewPort: number; readonly extensionHostPort: number; } /** * Manages port mappings for a single webview. */ export declare class WebviewPortMappingManager implements IDisposable { private readonly _getExtensionLocation; private readonly _getMappings; private readonly tunnelService; private readonly _tunnels; constructor(_getExtensionLocation: () => URI | undefined, _getMappings: () => readonly IWebviewPortMapping[], tunnelService: ITunnelService); getRedirect(resolveAuthority: IAddress | null | undefined, url: string): Promise; dispose(): Promise; private getOrCreateTunnel; }