import { DropdownMenuActionViewItem, IDropdownMenuActionViewItemOptions } from "@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/dropdown/dropdownActionViewItem"; import { IListElementRenderDetails, IListVirtualDelegate } from "@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/list/list"; import { ITreeNode, ITreeRenderer } from "@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/tree/tree"; import { IAction } from "@codingame/monaco-vscode-api/vscode/vs/base/common/actions"; import { Emitter, Event } from "@codingame/monaco-vscode-api/vscode/vs/base/common/event"; import { FuzzyScore } from "@codingame/monaco-vscode-api/vscode/vs/base/common/filters"; import { Disposable, DisposableStore, IDisposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle"; import { URI } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri"; import { MenuWorkbenchToolBar } from "@codingame/monaco-vscode-api/vscode/vs/platform/actions/browser/toolbar"; import { ICommandService } from "@codingame/monaco-vscode-api/vscode/vs/platform/commands/common/commands.service"; import { IConfigurationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service"; import { IContextKeyService } from "@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey.service"; import { IContextMenuService } from "@codingame/monaco-vscode-api/vscode/vs/platform/contextview/browser/contextView.service"; import { IHoverService } from "@codingame/monaco-vscode-api/vscode/vs/platform/hover/browser/hover.service"; import { IInstantiationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation"; import { ILogService } from "@codingame/monaco-vscode-api/vscode/vs/platform/log/common/log.service"; import { IThemeService } from "@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/themeService.service"; import { IWorkbenchIssueService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/issue/common/issue.service"; import { IChatFollowup } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService"; import { IChatResponseViewModel, IChatViewModel } from "@codingame/monaco-vscode-9911aec2-e4dd-5483-8369-9d695cc70d8a-common/vscode/vs/workbench/contrib/chat/common/chatViewModel"; import { CodeBlockModelCollection } from "../common/codeBlockModelCollection.js"; import { ChatModeKind } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants"; import { ChatTreeItem, IChatCodeBlockInfo, IChatFileTreeInfo, IChatListItemRendererOptions } from "@codingame/monaco-vscode-9911aec2-e4dd-5483-8369-9d695cc70d8a-common/vscode/vs/workbench/contrib/chat/browser/chat"; import { IChatWidgetService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service"; import { ChatAgentHover } from "./chatAgentHover.js"; import { IChatContentPart } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chatContentParts/chatContentParts"; import { ChatEditorOptions } from "./chatOptions.js"; import { CodeBlockPart } from "./codeBlockPart.js"; export interface IChatListItemTemplate { currentElement?: ChatTreeItem; renderedParts?: IChatContentPart[]; readonly rowContainer: HTMLElement; readonly titleToolbar?: MenuWorkbenchToolBar; readonly header?: HTMLElement; readonly footerToolbar: MenuWorkbenchToolBar; readonly avatarContainer: HTMLElement; readonly username: HTMLElement; readonly detail: HTMLElement; readonly value: HTMLElement; readonly contextKeyService: IContextKeyService; readonly instantiationService: IInstantiationService; readonly templateDisposables: IDisposable; readonly elementDisposables: DisposableStore; readonly agentHover: ChatAgentHover; readonly requestHover: HTMLElement; readonly disabledOverlay: HTMLElement; } interface IItemHeightChangeParams { element: ChatTreeItem; height: number; } export interface IChatRendererDelegate { container: HTMLElement; getListLength(): number; currentChatMode(): ChatModeKind; readonly onDidScroll?: Event; } export declare class ChatListItemRenderer extends Disposable implements ITreeRenderer { private readonly rendererOptions; private readonly delegate; private readonly codeBlockModelCollection; private viewModel; private disableEdits; private readonly instantiationService; private readonly configService; private readonly logService; private readonly contextKeyService; private readonly themeService; private readonly commandService; private readonly hoverService; private readonly chatWidgetService; static readonly ID = "item"; private readonly codeBlocksByResponseId; private readonly codeBlocksByEditorUri; private readonly fileTreesByResponseId; private readonly focusedFileTreesByResponseId; private readonly templateDataByRequestId; private readonly renderer; private readonly markdownDecorationsRenderer; protected readonly _onDidClickFollowup: Emitter; readonly onDidClickFollowup: Event; private readonly _onDidClickRerunWithAgentOrCommandDetection; readonly onDidClickRerunWithAgentOrCommandDetection: Event<{ sessionId: string; requestId: string; }>; private readonly _onDidClickRequest; readonly onDidClickRequest: Event; private readonly _onDidRerender; readonly onDidRerender: Event; private readonly _onDidDispose; readonly onDidDispose: Event; private readonly _onDidFocusOutside; readonly onDidFocusOutside: Event; protected readonly _onDidChangeItemHeight: Emitter; readonly onDidChangeItemHeight: Event; private readonly _editorPool; private readonly _toolEditorPool; private readonly _diffEditorPool; private readonly _treePool; private readonly _contentReferencesListPool; private _currentLayoutWidth; private _isVisible; private _onDidChangeVisibility; private readonly _toolInvocationCodeBlockCollection; constructor(editorOptions: ChatEditorOptions, rendererOptions: IChatListItemRendererOptions, delegate: IChatRendererDelegate, codeBlockModelCollection: CodeBlockModelCollection, overflowWidgetsDomNode: HTMLElement | undefined, viewModel: IChatViewModel | undefined, disableEdits: boolean | undefined, instantiationService: IInstantiationService, configService: IConfigurationService, logService: ILogService, contextKeyService: IContextKeyService, themeService: IThemeService, commandService: ICommandService, hoverService: IHoverService, chatWidgetService: IChatWidgetService); get templateId(): string; editorsInUse(): Iterable; private traceLayout; private getProgressiveRenderRate; getCodeBlockInfosForResponse(response: IChatResponseViewModel): IChatCodeBlockInfo[]; updateViewModel(viewModel: IChatViewModel | undefined): void; getCodeBlockInfoForEditor(uri: URI): IChatCodeBlockInfo | undefined; getFileTreeInfosForResponse(response: IChatResponseViewModel): IChatFileTreeInfo[]; getLastFocusedFileTreeForResponse(response: IChatResponseViewModel): IChatFileTreeInfo | undefined; getTemplateDataForRequestId(requestId?: string): IChatListItemTemplate | undefined; setVisible(visible: boolean): void; layout(width: number): void; renderTemplate(container: HTMLElement): IChatListItemTemplate; renderElement(node: ITreeNode, index: number, templateData: IChatListItemTemplate): void; private clearRenderedParts; renderChatTreeItem(element: ChatTreeItem, index: number, templateData: IChatListItemTemplate): void; private renderDetail; private renderConfirmationAction; private renderAvatar; private getAgentIcon; private renderChatResponseBasic; private renderChatRequest; updateItemHeightOnRender(element: ChatTreeItem, templateData: IChatListItemTemplate): void; private updateItemHeight; private doNextProgressiveRender; private renderChatContentDiff; private getNextProgressiveRenderContent; private shouldShowWorkingProgress; private getDataForProgressiveRender; private diff; private renderChatContentPart; private renderChatErrorDetails; private renderUndoStop; private renderNoContent; private renderTreeData; private renderContentReferencesListData; private renderCodeCitations; private getCodeBlockStartIndex; private handleRenderedCodeblocks; private renderToolInvocation; private renderExtensionsContent; private renderProgressTask; private renderWorkingProgress; private renderConfirmation; private renderElicitation; private renderAttachments; private renderTextEdit; private renderMarkdown; disposeElement(node: ITreeNode, index: number, templateData: IChatListItemTemplate, details?: IListElementRenderDetails): void; disposeTemplate(templateData: IChatListItemTemplate): void; private hoverVisible; private hoverHidden; } export declare class ChatListDelegate implements IListVirtualDelegate { private readonly defaultElementHeight; private readonly logService; constructor(defaultElementHeight: number, logService: ILogService); private _traceLayout; getHeight(element: ChatTreeItem): number; getTemplateId(element: ChatTreeItem): string; hasDynamicHeight(element: ChatTreeItem): boolean; } export declare class ChatVoteDownButton extends DropdownMenuActionViewItem { private readonly commandService; private readonly issueService; private readonly logService; constructor(action: IAction, options: IDropdownMenuActionViewItemOptions | undefined, commandService: ICommandService, issueService: IWorkbenchIssueService, logService: ILogService, contextMenuService: IContextMenuService); getActions(): readonly IAction[]; render(container: HTMLElement): void; private getVoteDownDetailAction; } export {};