import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
import { UriComponents } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri";
import { ExtensionIdentifier } from "@codingame/monaco-vscode-api/vscode/vs/platform/extensions/common/extensions";
import { IChatOutputRendererService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.service";
import { IExtHostContext } from "../../services/extensions/common/extHostCustomers.js";
import { MainThreadChatOutputRendererShape } from "@codingame/monaco-vscode-api/vscode/vs/workbench/api/common/extHost.protocol";
import { MainThreadWebviews } from "./mainThreadWebviews.js";
export declare class MainThreadChatOutputRenderer extends Disposable implements MainThreadChatOutputRendererShape {
    private readonly _mainThreadWebview;
    private readonly _rendererService;
    private readonly _proxy;
    private _webviewHandlePool;
    private readonly registeredRenderers;
    constructor(extHostContext: IExtHostContext, _mainThreadWebview: MainThreadWebviews, _rendererService: IChatOutputRendererService);
    dispose(): void;
    $registerChatOutputRenderer(viewType: string, extensionId: ExtensionIdentifier, extensionLocation: UriComponents): void;
    $unregisterChatOutputRenderer(viewType: string): void;
}
