import * as fs from 'fs'; import { Disposable } from 'vscode-jsonrpc'; import { CaseSensitivityDetector } from './caseSensitivityDetector'; import { ConsoleInterface } from './console'; import { FileSystem, MkDirOptions, TempFile, TmpfileOptions } from './fileSystem'; import { FileWatcher, FileWatcherEventHandler, FileWatcherEventType, FileWatcherHandler, FileWatcherProvider } from './fileWatcher'; import { Uri } from './uri/uri'; export declare function createFromRealFileSystem(caseSensitiveDetector: CaseSensitivityDetector, console?: ConsoleInterface, fileWatcherProvider?: FileWatcherProvider): FileSystem; export declare class RealFileSystem implements FileSystem { private readonly _caseSensitiveDetector; private readonly _console; private readonly _fileWatcherProvider; constructor(_caseSensitiveDetector: CaseSensitivityDetector, _console: ConsoleInterface, _fileWatcherProvider: FileWatcherProvider); existsSync(uri: Uri): boolean; mkdirSync(uri: Uri, options?: MkDirOptions): void; chdir(uri: Uri): void; readdirSync(uri: Uri): string[]; readdirEntriesSync(uri: Uri): fs.Dirent[]; readFileSync(uri: Uri, encoding?: null): Buffer; readFileSync(uri: Uri, encoding: BufferEncoding): string; readFileSync(uri: Uri, encoding?: BufferEncoding | null): Buffer | string; writeFileSync(uri: Uri, data: string | Buffer, encoding: BufferEncoding | null): void; statSync(uri: Uri): fs.Stats; rmdirSync(uri: Uri): void; unlinkSync(uri: Uri): void; realpathSync(uri: Uri): Uri; getModulePath(): Uri; createFileSystemWatcher(paths: Uri[], listener: FileWatcherEventHandler): FileWatcher; createReadStream(uri: Uri): fs.ReadStream; createWriteStream(uri: Uri): fs.WriteStream; copyFileSync(src: Uri, dst: Uri): void; readFile(uri: Uri): Promise; readFileText(uri: Uri, encoding: BufferEncoding): Promise; realCasePath(uri: Uri): Uri; isMappedUri(uri: Uri): boolean; getOriginalUri(mappedUri: Uri): Uri; getMappedUri(originalUri: Uri): Uri; mapDirectory(mappedUri: Uri, originalUri: Uri, filter?: (originalUri: Uri, fs: FileSystem) => boolean): Disposable; isInZip(uri: Uri): boolean; } export declare class WorkspaceFileWatcherProvider implements FileWatcherProvider, FileWatcherHandler { private _fileWatchers; createFileWatcher(workspacePaths: string[], listener: FileWatcherEventHandler): FileWatcher; onFileChange(eventType: FileWatcherEventType, fileUri: Uri): void; } export declare class RealTempFile implements TempFile, CaseSensitivityDetector { private _caseSensitivity?; private _tmpdir?; constructor(name?: string); tmpdir(): Uri; tmpfile(options?: TmpfileOptions): Uri; mktmpdir(): Uri; dispose(): void; isCaseSensitive(uri: string): boolean; private _isLocalFileSystemCaseSensitive; private _getTmpDir; private _isFileSystemCaseSensitiveInternal; }