import * as fs from 'fs' ; export const IFileSystem = Symbol ( 'IFileSystem' ) ; export interface IFileSystem { directorySeparatorChar : string ; objectExists ( path , statCheck ) : Promise < boolean > ; fileExists ( path ) : Promise < boolean > ; fileExistsSync ( path ) : boolean ; directoryExists ( path ) : Promise < boolean > ; createDirectory ( path ) : Promise < void > ; getSubDirectories ( rootDir ) : Promise < string [ ] > ; arePathsSame ( path1 , path2 ) : boolean ; readFile ( filePath ) : Promise < string > ; appendFileSync ( filename , data , encoding ) : void ; appendFileSync ( filename , data , options ? ) : void ; appendFileSync ( filename , data , options ? ) : void ; getRealPath ( path ) : Promise < string > ; copyFile ( src , dest ) : Promise < void > ; deleteFile ( filename ) : Promise < void > ; } export const IPlatformService = Symbol ( 'IPlatformService' ) ; export interface IPlatformService { isWindows : boolean ; isMac : boolean ; isLinux : boolean ; }