import { Event } from "../../../base/common/event.js"; import { ExtHostDocumentsAndEditors } from "./extHostDocumentsAndEditors.js"; import type * as vscode from "vscode"; import { ExtHostFileSystemEventServiceShape, FileSystemEvents, IMainContext, SourceTargetPair, IWillRunFileOperationParticipation } from "./extHost.protocol.js"; import { IExtensionDescription } from "../../../platform/extensions/common/extensions.js"; import { FileOperation } from "../../../platform/files/common/files.js"; import { CancellationToken } from "../../../base/common/cancellation.js"; import { ILogService } from "../../../platform/log/common/log.service.js"; import { IExtHostWorkspace } from "./extHostWorkspace.js"; import { ExtHostConfigProvider } from "./extHostConfiguration.js"; import { ExtHostFileSystemInfo } from "./extHostFileSystemInfo.js"; export interface FileSystemWatcherCreateOptions { readonly ignoreCreateEvents?: boolean; readonly ignoreChangeEvents?: boolean; readonly ignoreDeleteEvents?: boolean; } export declare class ExtHostFileSystemEventService implements ExtHostFileSystemEventServiceShape { private readonly _mainContext; private readonly _logService; private readonly _extHostDocumentsAndEditors; private readonly _onFileSystemEvent; private readonly _onDidRenameFile; private readonly _onDidCreateFile; private readonly _onDidDeleteFile; private readonly _onWillRenameFile; private readonly _onWillCreateFile; private readonly _onWillDeleteFile; readonly onDidRenameFile: Event; readonly onDidCreateFile: Event; readonly onDidDeleteFile: Event; constructor(_mainContext: IMainContext, _logService: ILogService, _extHostDocumentsAndEditors: ExtHostDocumentsAndEditors); createFileSystemWatcher(workspace: IExtHostWorkspace, configProvider: ExtHostConfigProvider, fileSystemInfo: ExtHostFileSystemInfo, extension: IExtensionDescription, globPattern: vscode.GlobPattern, options: FileSystemWatcherCreateOptions): vscode.FileSystemWatcher; $onFileEvent(events: FileSystemEvents): void; $onDidRunFileOperation(operation: FileOperation, files: SourceTargetPair[]): void; getOnWillRenameFileEvent(extension: IExtensionDescription): Event; getOnWillCreateFileEvent(extension: IExtensionDescription): Event; getOnWillDeleteFileEvent(extension: IExtensionDescription): Event; private _createWillExecuteEvent; $onWillRunFileOperation(operation: FileOperation, files: SourceTargetPair[], timeout: number, token: CancellationToken): Promise; private _fireWillEvent; }