import { Disposable } from "../../../../../base/common/lifecycle.js"; import { URI } from "../../../../../base/common/uri.js"; import { ITextModel } from "../../../../../editor/common/model.js"; import { IModelService } from "../../../../../editor/common/services/model.service.js"; import { IFileStatWithPartialMetadata } from "../../../../../platform/files/common/files.js"; import { IFileService } from "../../../../../platform/files/common/files.service.js"; import { ILabelService } from "../../../../../platform/label/common/label.service.js"; import { IFileMatch, IPatternInfo, ITextSearchPreviewOptions, ITextSearchResult } from "../../../../services/search/common/search.js"; import { FindMatchDecorationModel } from "../../../notebook/browser/contrib/find/findMatchDecorationModel.js"; import { IReplaceService } from "../replace.service.js"; import { ISearchTreeFileMatch, ISearchTreeFolderMatch, ISearchTreeFolderMatchWorkspaceRoot, ISearchTreeMatch } from "./searchTreeCommon.js"; import { Emitter, Event } from "../../../../../base/common/event.js"; export declare class FileMatchImpl extends Disposable implements ISearchTreeFileMatch { protected _query: IPatternInfo; private _previewOptions; private _maxResults; private _parent; protected rawMatch: IFileMatch; private _closestRoot; protected readonly modelService: IModelService; private readonly replaceService; private static readonly _CURRENT_FIND_MATCH; private static readonly _FIND_MATCH; private static getDecorationOption; protected _findMatchDecorationModel: FindMatchDecorationModel | undefined; protected _onChange: Emitter<{ didRemove?: boolean; forceUpdateModel?: boolean; }>; readonly onChange: Event<{ didRemove?: boolean; forceUpdateModel?: boolean; }>; private _onDispose; readonly onDispose: Event; protected _resource: URI; private _fileStat?; private _model; private _modelListener; protected _textMatches: Map; private _removedTextMatches; protected _selectedMatch: ISearchTreeMatch | null; private _name; private _updateScheduler; private _modelDecorations; private _context; get context(): Map; constructor(_query: IPatternInfo, _previewOptions: ITextSearchPreviewOptions | undefined, _maxResults: number | undefined, _parent: ISearchTreeFolderMatch, rawMatch: IFileMatch, _closestRoot: ISearchTreeFolderMatchWorkspaceRoot | null, modelService: IModelService, replaceService: IReplaceService, labelService: ILabelService); get closestRoot(): ISearchTreeFolderMatchWorkspaceRoot | null; hasReadonlyMatches(): boolean; createMatches(): void; bindModel(model: ITextModel): void; private onModelWillDispose; private unbindModel; protected updateMatchesForModel(): void; protected updatesMatchesForLineAfterReplace(lineNumber: number, modelChange: boolean): Promise; private updateMatches; updateHighlights(): void; id(): string; parent(): ISearchTreeFolderMatch; get hasChildren(): boolean; matches(): ISearchTreeMatch[]; textMatches(): ISearchTreeMatch[]; remove(matches: ISearchTreeMatch | ISearchTreeMatch[]): void; private replaceQ; replace(toReplace: ISearchTreeMatch): Promise; setSelectedMatch(match: ISearchTreeMatch | null): void; getSelectedMatch(): ISearchTreeMatch | null; isMatchSelected(match: ISearchTreeMatch): boolean; count(): number; get resource(): URI; name(): string; addContext(results: ITextSearchResult[] | undefined): void; add(match: ISearchTreeMatch, trigger?: boolean): void; protected removeMatch(match: ISearchTreeMatch): void; resolveFileStat(fileService: IFileService): Promise; get fileStat(): IFileStatWithPartialMetadata | undefined; set fileStat(stat: IFileStatWithPartialMetadata | undefined); dispose(): void; hasOnlyReadOnlyMatches(): boolean; }