import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
import { MainThreadWebviews } from "./mainThreadWebviews.js";
import * as extHostProtocol from "@codingame/monaco-vscode-api/vscode/vs/workbench/api/common/extHost.protocol";
import { IViewBadge } from "@codingame/monaco-vscode-api/vscode/vs/workbench/common/views";
import { IWebviewViewService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/webviewView/browser/webviewViewService.service";
import { ITelemetryService } from "@codingame/monaco-vscode-api/vscode/vs/platform/telemetry/common/telemetry.service";
import { IExtHostContext } from "../../services/extensions/common/extHostCustomers.js";
export declare class MainThreadWebviewsViews extends Disposable implements extHostProtocol.MainThreadWebviewViewsShape {
    private readonly mainThreadWebviews;
    private readonly _telemetryService;
    private readonly _webviewViewService;
    private readonly _proxy;
    private readonly _webviewViews;
    private readonly _webviewViewProviders;
    constructor(context: IExtHostContext, mainThreadWebviews: MainThreadWebviews, _telemetryService: ITelemetryService, _webviewViewService: IWebviewViewService);
    $setWebviewViewTitle(handle: extHostProtocol.WebviewHandle, value: string | undefined): void;
    $setWebviewViewDescription(handle: extHostProtocol.WebviewHandle, value: string | undefined): void;
    $setWebviewViewBadge(handle: string, badge: IViewBadge | undefined): void;
    $show(handle: extHostProtocol.WebviewHandle, preserveFocus: boolean): void;
    $registerWebviewViewProvider(extensionData: extHostProtocol.WebviewExtensionDescription, viewType: string, options: {
        retainContextWhenHidden?: boolean;
        serializeBuffersForPostMessage: boolean;
    }): void;
    $unregisterWebviewViewProvider(viewType: string): void;
    private getWebviewView;
}
