import { CancellationToken } from "@codingame/monaco-vscode-api/vscode/vs/base/common/cancellation"; import { Event } from "@codingame/monaco-vscode-api/vscode/vs/base/common/event"; import { Disposable, IDisposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle"; import { URI } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri"; import { IContextKeyService } from "@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey.service"; import { ExtensionIdentifier } from "@codingame/monaco-vscode-api/vscode/vs/platform/extensions/common/extensions"; import { IStorageService } from "@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage.service"; import { IWebview } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/webview/browser/webview"; import { IWebviewService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/webview/browser/webview.service"; import { IExtensionService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/extensions/common/extensions.service"; import { IChatWidgetService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service"; import { IChatOutputRendererService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.service"; export interface IChatOutputItemRenderer { renderOutputPart(mime: string, data: Uint8Array, webview: IWebview, context: IChatOutputRenderContext, token: CancellationToken): Promise; } export interface IChatOutputRenderContext { readonly codeBlockContext?: { readonly languageIdentifier: string; }; } export interface RegisterOptions { readonly extension?: { readonly id: ExtensionIdentifier; readonly location: URI; }; } export interface RenderedOutputPart extends IDisposable { readonly onDidChangeHeight: Event; readonly webview: IWebview; reinitialize(): void; } export interface RenderOutputPartWebviewOptions { readonly title?: string; readonly webviewState?: string; readonly chatSessionResource?: URI; } export interface RenderCodeBlockWebviewOptions extends RenderOutputPartWebviewOptions { readonly chatSessionResource: URI; } export declare class ChatOutputRendererService extends Disposable implements IChatOutputRendererService { private readonly _contextKeyService; private readonly _extensionService; private readonly _webviewService; private readonly _chatWidgetService; _serviceBrand: undefined; private readonly _originStore; private readonly _contributions; private readonly _renderers; constructor(_contextKeyService: IContextKeyService, _extensionService: IExtensionService, _webviewService: IWebviewService, _chatWidgetService: IChatWidgetService, storageService: IStorageService); registerRenderer(viewType: string, renderer: IChatOutputItemRenderer, options: RegisterOptions): IDisposable; hasCodeBlockRenderer(languageIdentifier: string): boolean; renderOutputPart(mime: string, data: Uint8Array, parent: HTMLElement, webviewOptions: RenderOutputPartWebviewOptions, token: CancellationToken): Promise; renderCodeBlock(languageIdentifier: string, data: Uint8Array, parent: HTMLElement, webviewOptions: RenderCodeBlockWebviewOptions, token: CancellationToken): Promise; private doRenderOutputPart; private delegateScrollToChatWidget; private getOrigin; private getRendererForMime; private getRendererForCodeBlock; private getRenderer; private updateContributions; }