import { Emitter, Event } from "../../../../../base/common/event.js"; import { Disposable } from "../../../../../base/common/lifecycle.js"; import { ResourceMap } from "../../../../../base/common/map.js"; import { TernarySearchTree } from "../../../../../base/common/ternarySearchTree.js"; import { URI } from "../../../../../base/common/uri.js"; import { IInstantiationService } from "../../../../../platform/instantiation/common/instantiation.js"; import { IProgress, IProgressStep } from "../../../../../platform/progress/common/progress.js"; import { IUriIdentityService } from "../../../../../platform/uriIdentity/common/uriIdentity.service.js"; import { IReplaceService } from "../replace.service.js"; import { IFileMatch, ISearchComplete, ITextQuery, ITextSearchQuery } from "../../../../services/search/common/search.js"; import { RangeHighlightDecorations } from "./rangeDecorations.js"; import { IChangeEvent, ISearchTreeFileMatch, ISearchTreeFolderMatch, ISearchTreeFolderMatchWithResource, ISearchTreeFolderMatchWorkspaceRoot, IPlainTextSearchHeading, ISearchResult, ITextSearchHeading } from "./searchTreeCommon.js"; export declare abstract class TextSearchHeadingImpl extends Disposable implements ITextSearchHeading { private _allowOtherResults; private _parent; protected readonly instantiationService: IInstantiationService; private readonly uriIdentityService; protected _onChange: Emitter; readonly onChange: Event; private _isDirty; private _showHighlights; protected _query: QueryType | null; private _rangeHighlightDecorations; private disposePastResults; protected _folderMatches: ISearchTreeFolderMatchWorkspaceRoot[]; protected _otherFilesMatch: ISearchTreeFolderMatch | null; protected _folderMatchesMap: TernarySearchTree; resource: null; hidden: boolean; cachedSearchComplete: ISearchComplete | undefined; constructor(_allowOtherResults: boolean, _parent: ISearchResult, instantiationService: IInstantiationService, uriIdentityService: IUriIdentityService); hide(): void; parent(): ISearchResult; get hasChildren(): boolean; abstract get isAIContributed(): boolean; abstract id(): string; abstract name(): string; get isDirty(): boolean; getFolderMatch(resource: URI): ISearchTreeFolderMatch | undefined; add(allRaw: IFileMatch[], searchInstanceID: string, silent?: boolean): void; remove(matches: ISearchTreeFileMatch | ISearchTreeFolderMatch | (ISearchTreeFileMatch | ISearchTreeFolderMatch)[], ai?: boolean): void; groupFilesByFolder(fileMatches: FileMatch[]): { byFolder: ResourceMap; other: FileMatch[]; }; isEmpty(): boolean; findFolderSubstr(resource: URI): ISearchTreeFolderMatchWithResource | undefined; abstract query: QueryType | null; protected clearQuery(): void; folderMatches(): ISearchTreeFolderMatch[]; private disposeMatches; matches(): ISearchTreeFileMatch[]; get showHighlights(): boolean; toggleHighlights(value: boolean): void; get rangeHighlightDecorations(): RangeHighlightDecorations; fileCount(): number; count(): number; clear(clearAll?: boolean): void; dispose(): Promise; } export declare class PlainTextSearchHeadingImpl extends TextSearchHeadingImpl implements IPlainTextSearchHeading { private readonly replaceService; constructor(parent: ISearchResult, instantiationService: IInstantiationService, uriIdentityService: IUriIdentityService, replaceService: IReplaceService); id(): string; get isAIContributed(): boolean; replace(match: ISearchTreeFileMatch): Promise; name(): string; replaceAll(progress: IProgress): Promise; private set replacingAll(value); get query(): ITextQuery | null; set query(query: ITextQuery | null); private _createBaseFolderMatch; private createWorkspaceRootWithResourceImpl; private createNoRootWorkspaceImpl; }