import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle"; import { URI } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri"; import { ILanguageService } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/languages/language.service"; import { ITextModel } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/model"; import { ITextModelService } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/services/resolverService.service"; import { IMarkdownVulnerability } from "@codingame/monaco-vscode-2339d6ac-d6bb-53cd-95ee-81911735d1c7-common/vscode/vs/workbench/contrib/chat/common/annotations"; import { IChatRequestViewModel, IChatResponseViewModel } from "@codingame/monaco-vscode-2339d6ac-d6bb-53cd-95ee-81911735d1c7-common/vscode/vs/workbench/contrib/chat/common/chatViewModel"; interface CodeBlockContent { readonly text: string; readonly languageId?: string; readonly isComplete: boolean; } export interface CodeBlockEntry { readonly model: Promise; readonly vulns: readonly IMarkdownVulnerability[]; readonly codemapperUri?: URI; readonly isEdit?: boolean; } export declare class CodeBlockModelCollection extends Disposable { private readonly tag; private readonly languageService; private readonly textModelService; private readonly _models; /** * Max number of models to keep in memory. * * Currently always maintains the most recently created models. */ private readonly maxModelCount; constructor(tag: string | undefined, languageService: ILanguageService, textModelService: ITextModelService); dispose(): void; get(sessionResource: URI, chat: IChatRequestViewModel | IChatResponseViewModel, codeBlockIndex: number): CodeBlockEntry | undefined; getOrCreate(sessionResource: URI, chat: IChatRequestViewModel | IChatResponseViewModel, codeBlockIndex: number): CodeBlockEntry; private delete; clear(): void; updateSync(sessionResource: URI, chat: IChatRequestViewModel | IChatResponseViewModel, codeBlockIndex: number, content: CodeBlockContent): CodeBlockEntry; markCodeBlockCompleted(sessionResource: URI, chat: IChatRequestViewModel | IChatResponseViewModel, codeBlockIndex: number): void; update(sessionResource: URI, chat: IChatRequestViewModel | IChatResponseViewModel, codeBlockIndex: number, content: CodeBlockContent): Promise; private updateInternalCodeBlockEntry; private trySetTextModelLanguage; private getKey; private getCodeBlockUri; private getUriMetaData; } export {};