import { IInstantiationService } from "../../../../platform/instantiation/common/instantiation.js"; import { IThemeService } from "../../../../platform/theme/common/themeService.service.js"; import { CommentNode } from "../common/commentModel.js"; import { ICommentService } from "./commentService.service.js"; import { IEditorService } from "../../../services/editor/common/editorService.service.js"; import { IViewPaneOptions, FilterViewPane } from "../../../browser/parts/views/viewPane.js"; import { IViewDescriptorService } from "../../../common/views.service.js"; import { IConfigurationService } from "../../../../platform/configuration/common/configuration.service.js"; import { RawContextKey } from "../../../../platform/contextkey/common/contextkey.js"; import { IContextKeyService } from "../../../../platform/contextkey/common/contextkey.service.js"; import { IContextMenuService } from "../../../../platform/contextview/browser/contextView.service.js"; import { IKeybindingService } from "../../../../platform/keybinding/common/keybinding.service.js"; import { IOpenerService } from "../../../../platform/opener/common/opener.service.js"; import { IUriIdentityService } from "../../../../platform/uriIdentity/common/uriIdentity.service.js"; import { ICommentsView } from "./comments.js"; import { CommentsFilters } from "./commentsViewActions.js"; import { IStorageService } from "../../../../platform/storage/common/storage.service.js"; import { IHoverService } from "../../../../platform/hover/browser/hover.service.js"; import { IPathService } from "../../../services/path/common/pathService.service.js"; export declare const CONTEXT_KEY_HAS_COMMENTS: RawContextKey; export declare const CONTEXT_KEY_SOME_COMMENTS_EXPANDED: RawContextKey; export declare const CONTEXT_KEY_COMMENT_FOCUSED: RawContextKey; export declare class CommentsPanel extends FilterViewPane implements ICommentsView { private readonly editorService; private readonly commentService; private readonly uriIdentityService; private readonly pathService; private treeLabels; private tree; private treeContainer; private messageBoxContainer; private totalComments; private readonly hasCommentsContextKey; private readonly someCommentsExpandedContextKey; private readonly commentsFocusedContextKey; private readonly filter; readonly filters: CommentsFilters; private currentHeight; private currentWidth; private readonly viewState; private readonly stateMemento; private cachedFilterStats; readonly onDidChangeVisibility: import("../../../../base/common/event.js").Event; get focusedCommentNode(): CommentNode | undefined; get focusedCommentInfo(): string | undefined; focusNextNode(): void; focusPreviousNode(): void; constructor(options: IViewPaneOptions, instantiationService: IInstantiationService, viewDescriptorService: IViewDescriptorService, editorService: IEditorService, configurationService: IConfigurationService, contextKeyService: IContextKeyService, contextMenuService: IContextMenuService, keybindingService: IKeybindingService, openerService: IOpenerService, themeService: IThemeService, commentService: ICommentService, hoverService: IHoverService, uriIdentityService: IUriIdentityService, storageService: IStorageService, pathService: IPathService); saveState(): void; render(): void; focusFilter(): void; clearFilterText(): void; getFilterStats(): { total: number; filtered: number; }; private updateFilter; protected renderBody(container: HTMLElement): void; focus(): void; private renderComments; collapseAll(): void; expandAll(): void; get hasRendered(): boolean; protected layoutBodyContent(height?: number, width?: number): void; private createMessageBox; private renderMessage; private makeCommentLocationLabel; private makeScreenReaderLabelInfo; private getScreenReaderInfoForNode; private getRepliesAsString; private getReplyCountAsString; private createTree; private openFile; private refresh; private onAllCommentsChanged; private onCommentsUpdated; private onDataProviderDeleted; private updateSomeCommentsExpanded; areAllCommentsExpanded(): boolean; isSomeCommentsExpanded(): boolean; }