import { UriComponents } from "../../../base/common/uri.js"; import { IMainContext, ExtHostFileSystemShape } from "./extHost.protocol.js"; import type * as vscode from "vscode"; import * as files from "../../../platform/files/common/files.js"; import { IDisposable } from "../../../base/common/lifecycle.js"; import { ExtHostLanguageFeatures } from "./extHostLanguageFeatures.js"; import { VSBuffer } from "../../../base/common/buffer.js"; import { IExtensionDescription } from "../../../platform/extensions/common/extensions.js"; export declare class ExtHostFileSystem implements ExtHostFileSystemShape { private _extHostLanguageFeatures; private readonly _proxy; private readonly _linkProvider; private readonly _fsProvider; private readonly _registeredSchemes; private readonly _watches; private _linkProviderRegistration?; private _handlePool; constructor(mainContext: IMainContext, _extHostLanguageFeatures: ExtHostLanguageFeatures); dispose(): void; registerFileSystemProvider(extension: IExtensionDescription, scheme: string, provider: vscode.FileSystemProvider, options?: { isCaseSensitive?: boolean; isReadonly?: boolean | vscode.MarkdownString; }): IDisposable; private static _validateFileSystemProvider; private static _asIStat; $stat(handle: number, resource: UriComponents): Promise; $readdir(handle: number, resource: UriComponents): Promise<[ string, files.FileType ][]>; $readFile(handle: number, resource: UriComponents): Promise; $writeFile(handle: number, resource: UriComponents, content: VSBuffer, opts: files.IFileWriteOptions): Promise; $delete(handle: number, resource: UriComponents, opts: files.IFileDeleteOptions): Promise; $rename(handle: number, oldUri: UriComponents, newUri: UriComponents, opts: files.IFileOverwriteOptions): Promise; $copy(handle: number, oldUri: UriComponents, newUri: UriComponents, opts: files.IFileOverwriteOptions): Promise; $mkdir(handle: number, resource: UriComponents): Promise; $watch(handle: number, session: number, resource: UriComponents, opts: files.IWatchOptions): void; $unwatch(_handle: number, session: number): void; $open(handle: number, resource: UriComponents, opts: files.IFileOpenOptions): Promise; $close(handle: number, fd: number): Promise; $read(handle: number, fd: number, pos: number, length: number): Promise; $write(handle: number, fd: number, pos: number, data: VSBuffer): Promise; private _getFsProvider; }