import { CancellationToken } from "@codingame/monaco-vscode-api/vscode/vs/base/common/cancellation"; import { IDisposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle"; import { URI } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri"; import { TextEdit } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/languages"; import { ICellEditOperation } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/notebook/common/notebookCommon"; import { ICodeMapperService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/editing/chatCodeMapperService.service"; export interface ICodeMapperResponse { textEdit: (resource: URI, textEdit: TextEdit[]) => void; notebookEdit: (resource: URI, edit: ICellEditOperation[]) => void; } export interface ICodeMapperCodeBlock { readonly code: string; readonly resource: URI; readonly markdownBeforeBlock?: string; } export interface ICodeMapperRequest { readonly codeBlocks: ICodeMapperCodeBlock[]; readonly chatRequestId?: string; readonly chatRequestModel?: string; readonly chatSessionResource?: URI; readonly location?: string; } export interface ICodeMapperResult { readonly errorMessage?: string; } export interface ICodeMapperProvider { readonly displayName: string; mapCode(request: ICodeMapperRequest, response: ICodeMapperResponse, token: CancellationToken): Promise; } export declare class CodeMapperService implements ICodeMapperService { _serviceBrand: undefined; readonly providers: ICodeMapperProvider[]; registerCodeMapperProvider(handle: number, provider: ICodeMapperProvider): IDisposable; mapCode(request: ICodeMapperRequest, response: ICodeMapperResponse, token: CancellationToken): Promise; }