import { CountBadge } from "../../../../base/browser/ui/countBadge/countBadge.js"; import { IListVirtualDelegate } from "../../../../base/browser/ui/list/list.js"; import { IListAccessibilityProvider } from "../../../../base/browser/ui/list/listWidget.js"; import { ITreeNode } from "../../../../base/browser/ui/tree/tree.js"; import { Disposable, DisposableStore } from "../../../../base/common/lifecycle.js"; import { IConfigurationService } from "../../../../platform/configuration/common/configuration.service.js"; import { ILabelService } from "../../../../platform/label/common/label.service.js"; import { IWorkspaceContextService } from "../../../../platform/workspace/common/workspace.service.js"; import { IResourceLabel, ResourceLabels } from "../../../browser/labels.js"; import { SearchView } from "./searchView.js"; import { ICompressibleTreeRenderer } from "../../../../base/browser/ui/tree/objectTree.js"; import { ICompressedTreeNode } from "../../../../base/browser/ui/tree/compressedObjectTreeModel.js"; import { IInstantiationService } from "../../../../platform/instantiation/common/instantiation.js"; import { MenuWorkbenchToolBar } from "../../../../platform/actions/browser/toolbar.js"; import { IContextKeyService } from "../../../../platform/contextkey/common/contextkey.service.js"; import { IHoverService } from "../../../../platform/hover/browser/hover.service.js"; import { ISearchTreeMatch, RenderableMatch, ITextSearchHeading, ISearchTreeFolderMatch, ISearchTreeFileMatch } from "./searchTreeModel/searchTreeCommon.js"; interface IFolderMatchTemplate { label: IResourceLabel; badge: CountBadge; actions: MenuWorkbenchToolBar; disposables: DisposableStore; elementDisposables: DisposableStore; contextKeyService: IContextKeyService; } interface ITextSearchResultTemplate { label: IResourceLabel; disposables: DisposableStore; actions: MenuWorkbenchToolBar; contextKeyService: IContextKeyService; } interface IFileMatchTemplate { el: HTMLElement; label: IResourceLabel; badge: CountBadge; actions: MenuWorkbenchToolBar; disposables: DisposableStore; elementDisposables: DisposableStore; contextKeyService: IContextKeyService; } interface IMatchTemplate { lineNumber: HTMLElement; parent: HTMLElement; before: HTMLElement; match: HTMLElement; replace: HTMLElement; after: HTMLElement; actions: MenuWorkbenchToolBar; disposables: DisposableStore; contextKeyService: IContextKeyService; } export declare class SearchDelegate implements IListVirtualDelegate { static ITEM_HEIGHT: number; getHeight(element: RenderableMatch): number; getTemplateId(element: RenderableMatch): string; } export declare class TextSearchResultRenderer extends Disposable implements ICompressibleTreeRenderer { private labels; protected contextService: IWorkspaceContextService; private readonly instantiationService; private readonly contextKeyService; static readonly TEMPLATE_ID = "textResultMatch"; readonly templateId = "textResultMatch"; constructor(labels: ResourceLabels, contextService: IWorkspaceContextService, instantiationService: IInstantiationService, contextKeyService: IContextKeyService); renderTemplate(container: HTMLElement): ITextSearchResultTemplate; renderElement(node: ITreeNode, index: number, templateData: IFolderMatchTemplate): Promise; disposeTemplate(templateData: IFolderMatchTemplate): void; renderCompressedElements(node: ITreeNode, any>, index: number, templateData: ITextSearchResultTemplate): void; } export declare class FolderMatchRenderer extends Disposable implements ICompressibleTreeRenderer { private searchView; private labels; protected contextService: IWorkspaceContextService; private readonly labelService; private readonly instantiationService; private readonly contextKeyService; static readonly TEMPLATE_ID = "folderMatch"; readonly templateId = "folderMatch"; constructor(searchView: SearchView, labels: ResourceLabels, contextService: IWorkspaceContextService, labelService: ILabelService, instantiationService: IInstantiationService, contextKeyService: IContextKeyService); renderCompressedElements(node: ITreeNode, any>, index: number, templateData: IFolderMatchTemplate): void; renderTemplate(container: HTMLElement): IFolderMatchTemplate; renderElement(node: ITreeNode, index: number, templateData: IFolderMatchTemplate): void; disposeElement(element: ITreeNode, index: number, templateData: IFolderMatchTemplate): void; disposeCompressedElements(node: ITreeNode, any>, index: number, templateData: IFolderMatchTemplate): void; disposeTemplate(templateData: IFolderMatchTemplate): void; private renderFolderDetails; } export declare class FileMatchRenderer extends Disposable implements ICompressibleTreeRenderer { private searchView; private labels; protected contextService: IWorkspaceContextService; private readonly configurationService; private readonly instantiationService; private readonly contextKeyService; static readonly TEMPLATE_ID = "fileMatch"; readonly templateId = "fileMatch"; constructor(searchView: SearchView, labels: ResourceLabels, contextService: IWorkspaceContextService, configurationService: IConfigurationService, instantiationService: IInstantiationService, contextKeyService: IContextKeyService); renderCompressedElements(node: ITreeNode, any>, index: number, templateData: IFileMatchTemplate): void; renderTemplate(container: HTMLElement): IFileMatchTemplate; renderElement(node: ITreeNode, index: number, templateData: IFileMatchTemplate): void; disposeElement(element: ITreeNode, index: number, templateData: IFileMatchTemplate): void; disposeTemplate(templateData: IFileMatchTemplate): void; } export declare class MatchRenderer extends Disposable implements ICompressibleTreeRenderer { private searchView; protected contextService: IWorkspaceContextService; private readonly configurationService; private readonly instantiationService; private readonly contextKeyService; private readonly hoverService; static readonly TEMPLATE_ID = "match"; readonly templateId = "match"; constructor(searchView: SearchView, contextService: IWorkspaceContextService, configurationService: IConfigurationService, instantiationService: IInstantiationService, contextKeyService: IContextKeyService, hoverService: IHoverService); renderCompressedElements(node: ITreeNode, void>, index: number, templateData: IMatchTemplate): void; renderTemplate(container: HTMLElement): IMatchTemplate; renderElement(node: ITreeNode, index: number, templateData: IMatchTemplate): void; disposeTemplate(templateData: IMatchTemplate): void; private getMatchTitle; } export declare class SearchAccessibilityProvider implements IListAccessibilityProvider { private searchView; private readonly labelService; constructor(searchView: SearchView, labelService: ILabelService); getWidgetAriaLabel(): string; getAriaLabel(element: RenderableMatch): string | null; } export {};