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<InstanceAiBrowserCreateLinkResponse>;
    getStatus(userId: string): InstanceAiBrowserStatusResponse;
    disconnect(userId: string): Promise<void>;
    findMcpServer(userId: string): BrowserLocalMcpServer | undefined;
    isConnected(userId: string): boolean;
    handleExtensionUpgrade(req: BrowserUseUpgradeRequest): void;
    handleCdpUpgrade(req: BrowserUseUpgradeRequest): void;
    shutdown(): Promise<void>;
    private createSession;
    private teardownSession;
    private handleExtensionConnected;
    private handleExtensionDisconnected;
    private pushState;
    private getToolCategories;
    private isExtensionTokenValid;
    private tokensMatch;
    private createCredential;
    private buildExtensionEndpoint;
    private buildCdpEndpoint;
    private getPublicWsBaseUrl;
}
