/** * **IMPORTANT** this code is running in the plugin host process and should be closed as possible to VS Code counterpart: * https://github.com/microsoft/vscode/blob/04c36be045a94fee58e5f8992d3e3fd980294a84/src/vs/workbench/api/common/extHostFileSystem.ts * One should be able to diff them to see differences. */ import { UriComponents } from '../common/uri-components'; import { RPCProtocol } from '../common/rpc-protocol'; import { FileSystemExt, FileSystemMain } from '../common/plugin-api-rpc'; import * as vscode from '@theia/plugin'; import * as files from '@theia/filesystem/lib/common/files'; import { BinaryBuffer } from '@theia/core/lib/common/buffer'; import { MarkdownString } from '../common/plugin-api-rpc-model'; export declare class FsLinkProvider { private _schemes; private _stateMachine?; add(scheme: string): void; delete(scheme: string): void; private _initStateMachine; provideDocumentLinks(document: vscode.TextDocument): vscode.ProviderResult; } declare class ConsumerFileSystem implements vscode.FileSystem { private _proxy; private _capabilities; apiObject: vscode.FileSystem; constructor(_proxy: FileSystemMain, _capabilities: Map); stat(uri: vscode.Uri): Promise; readDirectory(uri: vscode.Uri): Promise<[string, vscode.FileType][]>; createDirectory(uri: vscode.Uri): Promise; readFile(uri: vscode.Uri): Promise; writeFile(uri: vscode.Uri, content: Uint8Array): Promise; delete(uri: vscode.Uri, options?: { recursive?: boolean; useTrash?: boolean; }): Promise; rename(oldUri: vscode.Uri, newUri: vscode.Uri, options?: { overwrite?: boolean; }): Promise; copy(source: vscode.Uri, destination: vscode.Uri, options?: { overwrite?: boolean; }): Promise; isWritableFileSystem(scheme: string): boolean | undefined; private static _handleError; } export declare class FileSystemExtImpl implements FileSystemExt { private readonly _proxy; private readonly _linkProvider; private readonly _fsProvider; private readonly _capabilities; private readonly _usedSchemes; private readonly _watches; private readonly onWillRegisterFileSystemProviderEmitter; readonly onWillRegisterFileSystemProvider: import("@theia/core/lib/common").Event; private _handlePool; readonly fileSystem: ConsumerFileSystem; constructor(rpc: RPCProtocol); dispose(): void; registerFileSystemProvider(scheme: string, provider: vscode.FileSystemProvider, options?: { isCaseSensitive?: boolean; isReadonly?: boolean | MarkdownString; }): { dispose: () => void; }; private static _asIStat; $acceptProviderInfos(scheme: string, capabilities?: files.FileSystemProviderCapabilities): void; $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: BinaryBuffer, opts: files.FileWriteOptions): Promise; $delete(handle: number, resource: UriComponents, opts: files.FileDeleteOptions): Promise; $rename(handle: number, oldUri: UriComponents, newUri: UriComponents, opts: files.FileOverwriteOptions): Promise; $copy(handle: number, oldUri: UriComponents, newUri: UriComponents, opts: files.FileOverwriteOptions): Promise; $mkdir(handle: number, resource: UriComponents): Promise; $watch(handle: number, session: number, resource: UriComponents, opts: files.WatchOptions): void; $unwatch(_handle: number, session: number): void; $open(handle: number, resource: UriComponents, opts: files.FileOpenOptions): 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: BinaryBuffer): Promise; private _getFsProvider; } export {}; //# sourceMappingURL=file-system-ext-impl.d.ts.map