import type { InstanceAiBrowserCreateLinkResponse, InstanceAiBrowserStatusResponse } from '@n8n/api-types'; import { Logger } from '@n8n/backend-common'; import { GlobalConfig } from '@n8n/config'; import { UserRepository } from '@n8n/db'; import { CredentialsService } from '../../../credentials/credentials.service'; import { Push } from '../../../push'; import { UrlService } from '../../../services/url.service'; import { Telemetry } from '../../../telemetry'; import { BrowserLocalMcpServer } from './browser-local-mcp-server'; import { type BrowserUseUpgradeRequest } from './browser-use-ws.constants'; export declare class InstanceAiBrowserSessionService { private readonly urlService; private readonly push; private readonly userRepository; private readonly credentialsService; private readonly globalConfig; private readonly telemetry; private readonly sessions; private readonly sessionsBySessionId; private readonly logger; constructor(logger: Logger, urlService: UrlService, push: Push, userRepository: UserRepository, credentialsService: CredentialsService, globalConfig: GlobalConfig, telemetry: Telemetry); createLink(userId: string): Promise; getStatus(userId: string): InstanceAiBrowserStatusResponse; disconnect(userId: string): Promise; findMcpServer(userId: string): BrowserLocalMcpServer | undefined; isConnected(userId: string): boolean; handleExtensionUpgrade(req: BrowserUseUpgradeRequest): void; handleCdpUpgrade(req: BrowserUseUpgradeRequest): void; shutdown(): Promise; private createSession; private teardownSession; private handleExtensionConnected; private handleExtensionDisconnected; private pushState; private getToolCategories; private isExtensionTokenValid; private tokensMatch; private createCredential; private buildExtensionEndpoint; private buildCdpEndpoint; private getPublicWsBaseUrl; }