import { CancellationToken } from '../../../base/common/cancellation'; import { Event } from '../../../base/common/event'; import { IDisposable } from '../../../base/common/lifecycle'; import { CoordinationArgs } from '../../../base/common/resources'; import { ReadableStreamEvents } from '../../../base/common/stream'; import { URI } from '../../../base/common/uri'; import { FileAtomicReadOptions, FileDeleteOptions, FileOpenOptions, FileOverwriteOptions, FileReadStreamOptions, FileSystemProviderCapabilities, FileType, FileWriteOptions, IFileSystemProviderWithFileAtomicReadCapability, IFileSystemProviderWithFileFolderCopyCapability, IFileSystemProviderWithFileReadStreamCapability, IFileSystemProviderWithFileReadWriteCapability, IFileSystemProviderWithOpenReadWriteCloseCapability, IStat } from '../../../platform/files/common/files'; import { AbstractRecursiveWatcherClient, IDiskFileChange, ILogMessage, IWatchRequest } from '../../../platform/files/common/watcher'; import { ILogService } from '../../../platform/log/common/log'; import { AbstractDiskFileSystemProvider } from '../../../platform/files/common/diskFileSystemProvider'; export interface IWatcherOptions { /** * If `true`, will enable polling for all watchers, otherwise * will enable it for paths included in the string array. * * @deprecated this only exists for WSL1 support and should never * be used in any other case. */ usePolling: boolean | string[]; /** * If polling is enabled (via `usePolling`), defines the duration * in which the watcher will poll for changes. * * @deprecated this only exists for WSL1 support and should never * be used in any other case. */ pollingInterval?: number; } export interface IDiskFileSystemProviderOptions { watcher?: IWatcherOptions; } export declare class DiskFileSystemProvider extends AbstractDiskFileSystemProvider implements IFileSystemProviderWithFileReadWriteCapability, IFileSystemProviderWithOpenReadWriteCloseCapability, IFileSystemProviderWithFileReadStreamCapability, IFileSystemProviderWithFileFolderCopyCapability, IFileSystemProviderWithFileAtomicReadCapability { private readonly options?; constructor(logService: ILogService, options?: IDiskFileSystemProviderOptions | undefined); readonly onDidChangeCapabilities: Event; private _capabilities; get capabilities(): FileSystemProviderCapabilities; stat(resource: URI): Promise; readdir(resource: URI): Promise<[string, FileType][]>; private toType; private readonly resourceLocks; private createResourceLock; readFile(resource: URI, options?: FileAtomicReadOptions): Promise; readFileStream(resource: URI, opts: FileReadStreamOptions, token: CancellationToken): ReadableStreamEvents; writeFile(resource: URI, content: Uint8Array, opts: FileWriteOptions): Promise; private readonly mapHandleToPos; private readonly mapHandleToLock; private readonly writeHandles; private canFlush; open(resource: URI, opts: FileOpenOptions): Promise; close(fd: number): Promise; read(fd: number, pos: number, data: Uint8Array, offset: number, length: number): Promise; private normalizePos; private updatePos; write(fd: number, pos: number, data: Uint8Array, offset: number, length: number): Promise; private doWrite; mkdir(resource: URI): Promise; delete(resource: URI, opts: FileDeleteOptions): Promise; rename(from: URI, to: URI, opts: FileOverwriteOptions, coordinationArgs?: CoordinationArgs): Promise; copy(from: URI, to: URI, opts: FileOverwriteOptions, coordinationArgs?: CoordinationArgs): Promise; private validateTargetDeleted; protected createRecursiveWatcher(onChange: (changes: IDiskFileChange[]) => void, onLogMessage: (msg: ILogMessage) => void, verboseLogging: boolean): AbstractRecursiveWatcherClient; protected doWatch(watcher: AbstractRecursiveWatcherClient, requests: IWatchRequest[]): Promise; protected createNonRecursiveWatcher(path: string, excludes: string[], onChange: (changes: IDiskFileChange[]) => void, onLogMessage: (msg: ILogMessage) => void, verboseLogging: boolean): IDisposable & { setVerboseLogging: (verboseLogging: boolean) => void; }; private toFileSystemProviderError; private toFileSystemProviderWriteError; } //# sourceMappingURL=diskFileSystemProvider.d.ts.map