import { IDisposable } from '@vsc-ts/utils/dispose'; import type * as vscode from "vscode"; import { URI } from 'vscode-uri'; export interface RegisterFileSystemProviderOptions { readonly isCaseSensitive?: boolean; readonly isReadonly?: boolean | vscode.MarkdownString; } export declare enum FileType { /** * File is unknown (neither file, directory nor symbolic link). */ Unknown = 0, /** * File is a normal file. */ File = 1, /** * File is a directory. */ Directory = 2, /** * File is a symbolic link. * * Note: even when the file is a symbolic link, you can test for * `FileType.File` and `FileType.Directory` to know the type of * the target the link points to. */ SymbolicLink = 64 } export declare enum FilePermission { /** * File is readonly. */ Readonly = 1 } export interface FileStat { /** * The file type. */ readonly type: FileType; /** * The last modification date represented as millis from unix epoch. */ readonly mtime: number; /** * The creation date represented as millis from unix epoch. */ readonly ctime: number; /** * The size of the file in bytes. */ readonly size: number; /** * The file permissions. */ readonly permissions?: FilePermission; } export declare function createFileSystemShim(extensionUri: URI | undefined): { isWritableFileSystem(scheme: string): boolean | undefined; _addFileSystemProvider(scheme: string, provider: vscode.FileSystemProvider, options?: RegisterFileSystemProviderOptions): IDisposable; readFile(uri: vscode.Uri): Promise; writeFile(uri: vscode.Uri, content: Uint8Array): Promise; stat(uri: vscode.Uri): Promise; }; //# sourceMappingURL=fs.d.ts.map