/** ****************************************************************************** * Copyright (C) 2018 Red Hat, Inc. and others. * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v. 2.0 which is available at * http://www.eclipse.org/legal/epl-2.0. * * This Source Code may also be made available under the following Secondary * Licenses when the conditions for such availability set forth in the Eclipse * Public License v. 2.0 are satisfied: GNU General Public License, version 2 * with the GNU Classpath Exception which is available at * https://www.gnu.org/software/classpath/license.html. * * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 ********************************************************************************/ import { IRPCProtocol } from '@opensumi/ide-connection'; import { IDisposable } from '@opensumi/ide-core-common'; import { FileStat } from '@opensumi/ide-file-service'; import { UriComponents } from '../../../common/vscode/ext-types'; import * as files from '../../../common/vscode/file-system'; import { ExtHostFileSystemInfo } from './ext.host.file-system-info'; import type vscode from 'vscode'; export declare function convertToVSCFileStat(stat: FileStat): vscode.FileStat; export declare class ExtHostFileSystem implements files.IExtHostFileSystemShape { private readonly rpcProtocol; private readonly _fileSystemInfo; private readonly _proxy; private readonly _fsProvider; private readonly _usedSchemes; private readonly _watches; private _handlePool; readonly fileSystem: vscode.FileSystem; constructor(rpcProtocol: IRPCProtocol, _fileSystemInfo: ExtHostFileSystemInfo); registerFileSystemProvider(scheme: string, provider: vscode.FileSystemProvider, options?: { isCaseSensitive?: boolean; isReadonly?: boolean; }): IDisposable; 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: Uint8Array, 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.IWatchOptions): void; $unwatch(_handle: number, session: number): void; private _getFsProvider; } //# sourceMappingURL=ext.host.file-system.d.ts.map