import { VSBuffer, VSBufferReadable, VSBufferReadableStream } from "@codingame/monaco-vscode-api/vscode/vs/base/common/buffer"; import { CancellationToken } from "@codingame/monaco-vscode-api/vscode/vs/base/common/cancellation"; import { Disposable, IDisposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle"; import { IExtUri } from "@codingame/monaco-vscode-api/vscode/vs/base/common/resources"; import { URI } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri"; import { FileChangesEvent, IFileDeleteOptions, FileOperationEvent, FileSystemProviderCapabilities, FileType, ICreateFileOptions, IFileContent, IFileStat, IFileStatWithMetadata, IFileStreamContent, IFileSystemProvider, IFileSystemProviderActivationEvent, IFileSystemProviderCapabilitiesChangeEvent, IFileSystemProviderRegistrationEvent, IReadFileOptions, IReadFileStreamOptions, IResolveFileOptions, IFileStatResult, IFileStatResultWithMetadata, IResolveMetadataFileOptions, IStat, IFileStatWithPartialMetadata, IWriteFileOptions, IWatchOptionsWithCorrelation, IFileSystemWatcher, IWatchOptionsWithoutCorrelation } from "@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files"; import { IFileService } from "@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files.service"; import { ILogService } from "@codingame/monaco-vscode-api/vscode/vs/platform/log/common/log.service"; export declare function mkdirp(providerExtUri: IExtUri, provider: IFileSystemProvider, directory: URI): Promise; export declare class FileService extends Disposable implements IFileService { private readonly logService; readonly _serviceBrand: undefined; private readonly BUFFER_SIZE; constructor(logService: ILogService); private readonly _onDidChangeFileSystemProviderRegistrations; readonly onDidChangeFileSystemProviderRegistrations: import("@codingame/monaco-vscode-api/vscode/vs/base/common/event").Event; private readonly _onWillActivateFileSystemProvider; readonly onWillActivateFileSystemProvider: import("@codingame/monaco-vscode-api/vscode/vs/base/common/event").Event; private readonly _onDidChangeFileSystemProviderCapabilities; readonly onDidChangeFileSystemProviderCapabilities: import("@codingame/monaco-vscode-api/vscode/vs/base/common/event").Event; private readonly provider; registerProvider(scheme: string, provider: IFileSystemProvider): IDisposable; getProvider(scheme: string): IFileSystemProvider | undefined; activateProvider(scheme: string): Promise; canHandleResource(resource: URI): Promise; hasProvider(resource: URI): boolean; hasCapability(resource: URI, capability: FileSystemProviderCapabilities): boolean; listCapabilities(): Iterable<{ scheme: string; capabilities: FileSystemProviderCapabilities; }>; protected withProvider(resource: URI): Promise; private withReadProvider; private withWriteProvider; private readonly _onDidRunOperation; readonly onDidRunOperation: import("@codingame/monaco-vscode-api/vscode/vs/base/common/event").Event; resolve(resource: URI, options: IResolveMetadataFileOptions): Promise; resolve(resource: URI, options?: IResolveFileOptions): Promise; private doResolveFile; protected toFileStat(provider: IFileSystemProvider, resource: URI, stat: IStat | { type: FileType; } & Partial, siblings: number | undefined, resolveMetadata: boolean, recurse: (stat: IFileStat, siblings?: number) => boolean): Promise; protected toFileStat(provider: IFileSystemProvider, resource: URI, stat: IStat, siblings: number | undefined, resolveMetadata: true, recurse: (stat: IFileStat, siblings?: number) => boolean): Promise; resolveAll(toResolve: { resource: URI; options?: IResolveFileOptions; }[]): Promise; resolveAll(toResolve: { resource: URI; options: IResolveMetadataFileOptions; }[]): Promise; stat(resource: URI): Promise; realpath(resource: URI): Promise; exists(resource: URI): Promise; canCreateFile(resource: URI, options?: ICreateFileOptions): Promise; private doValidateCreateFile; createFile(resource: URI, bufferOrReadableOrStream?: VSBuffer | VSBufferReadable | VSBufferReadableStream, options?: ICreateFileOptions): Promise; writeFile(resource: URI, bufferOrReadableOrStream: VSBuffer | VSBufferReadable | VSBufferReadableStream, options?: IWriteFileOptions): Promise; private peekBufferForWriting; private validateWriteFile; readFile(resource: URI, options?: IReadFileOptions, token?: CancellationToken): Promise; private doReadFileAtomic; private doReadFile; readFileStream(resource: URI, options?: IReadFileStreamOptions, token?: CancellationToken): Promise; private doReadFileStream; private restoreReadError; private readFileStreamed; private readFileBuffered; private readFileUnbuffered; private validateReadFile; private validateReadFileLimits; canMove(source: URI, target: URI, overwrite?: boolean): Promise; canCopy(source: URI, target: URI, overwrite?: boolean): Promise; private doCanMoveCopy; move(source: URI, target: URI, overwrite?: boolean): Promise; copy(source: URI, target: URI, overwrite?: boolean): Promise; private doMoveCopy; private doCopyFile; private doCopyFolder; private doValidateMoveCopy; private getExtUri; private isPathCaseSensitive; createFolder(resource: URI): Promise; private mkdirp; canDelete(resource: URI, options?: Partial): Promise; private doValidateDelete; del(resource: URI, options?: Partial): Promise; cloneFile(source: URI, target: URI): Promise; private readonly internalOnDidFilesChange; private readonly _onDidUncorrelatedFilesChange; readonly onDidFilesChange: import("@codingame/monaco-vscode-api/vscode/vs/base/common/event").Event; private readonly _onDidWatchError; readonly onDidWatchError: import("@codingame/monaco-vscode-api/vscode/vs/base/common/event").Event; private readonly activeWatchers; private static WATCHER_CORRELATION_IDS; createWatcher(resource: URI, options: IWatchOptionsWithoutCorrelation & { recursive: false; }): IFileSystemWatcher; watch(resource: URI, options: IWatchOptionsWithCorrelation): IFileSystemWatcher; watch(resource: URI, options?: IWatchOptionsWithoutCorrelation): IDisposable; private doWatch; dispose(): void; private readonly writeQueue; private doWriteBuffered; private doWriteStreamBufferedQueued; private doWriteReadableBufferedQueued; private doWriteBuffer; private doWriteUnbuffered; private doWriteUnbufferedQueued; private doPipeBuffered; private doPipeBufferedQueued; private doPipeUnbuffered; private doPipeUnbufferedQueued; private doPipeUnbufferedToBuffered; private doPipeUnbufferedToBufferedQueued; private doPipeBufferedToUnbuffered; protected throwIfFileSystemIsReadonly(provider: T, resource: URI): T; private throwIfFileIsReadonly; private resourceForError; }