import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
import { IEditorService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorService.service";
import { IExtHostContext } from "../../services/extensions/common/extHostCustomers.js";
import { BrowserTabDto, MainThreadBrowsersShape } from "@codingame/monaco-vscode-api/vscode/vs/workbench/api/common/extHost.protocol";
import { IBrowserViewCDPService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/browserView/common/browserView.service";
import { IBrowserViewWorkbenchService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/browserView/common/browserView.service";
import { EditorGroupColumn } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorGroupColumn";
import { IEditorGroupsService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorGroupsService.service";
import { IConfigurationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service";
import { IEditorOptions } from "@codingame/monaco-vscode-api/vscode/vs/platform/editor/common/editor";
import { CDPRequest } from "@codingame/monaco-vscode-api/vscode/vs/platform/browserView/common/cdp/types";
export declare class MainThreadBrowsers extends Disposable implements MainThreadBrowsersShape {
    private readonly editorService;
    private readonly cdpService;
    private readonly browserViewService;
    private readonly editorGroupsService;
    private readonly configurationService;
    private readonly _proxy;
    private readonly _cdpSessions;
    private readonly _knownBrowsers;
    constructor(extHostContext: IExtHostContext, editorService: IEditorService, cdpService: IBrowserViewCDPService, browserViewService: IBrowserViewWorkbenchService, editorGroupsService: IEditorGroupsService, configurationService: IConfigurationService);
    $openBrowserTab(url: string, viewColumn?: EditorGroupColumn, options?: IEditorOptions): Promise<BrowserTabDto>;
    private _lastActiveBrowserId;
    private _syncActiveBrowserTab;
    private _track;
    private _toDto;
    $startCDPSession(sessionId: string, browserId: string): Promise<void>;
    $closeCDPSession(sessionId: string): Promise<void>;
    $sendCDPMessage(sessionId: string, message: CDPRequest): Promise<void>;
    $closeBrowserTab(browserId: string): Promise<void>;
}
