/** * Copyright (c) 2014-present, Facebook, Inc. All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @flow */ 'use strict'; declare module "graceful-fs" { declare class Stats { dev: number; ino: number; mode: number; nlink: number; uid: number; gid: number; rdev: number; size: number; blksize: number; blocks: number; atime: Date; mtime: Date; ctime: Date; isFile(): boolean; isDirectory(): boolean; isBlockDevice(): boolean; isCharacterDevice(): boolean; isSymbolicLink(): boolean; isFIFO(): boolean; isSocket(): boolean; } declare class FSWatcher extends events$EventEmitter { close(): void } declare class ReadStream extends stream$Readable { close(): void } declare class WriteStream extends stream$Writable { close(): void } declare function gracefulify(fs: Object): void; declare function rename(oldPath: string, newPath: string, callback?: (err: ?Error) => void): void; declare function renameSync(oldPath: string, newPath: string): void; declare function ftruncate(fd: number, len: number, callback?: (err: ?Error) => void): void; declare function ftruncateSync(fd: number, len: number): void; declare function truncate(path: string, len: number, callback?: (err: ?Error) => void): void; declare function truncateSync(path: string, len: number): void; declare function chown(path: string, uid: number, gid: number, callback?: (err: ?Error) => void): void; declare function chownSync(path: string, uid: number, gid: number): void; declare function fchown(fd: number, uid: number, gid: number, callback?: (err: ?Error) => void): void; declare function fchownSync(fd: number, uid: number, gid: number): void; declare function lchown(path: string, uid: number, gid: number, callback?: (err: ?Error) => void): void; declare function lchownSync(path: string, uid: number, gid: number): void; declare function chmod(path: string, mode: number | string, callback?: (err: ?Error) => void): void; declare function chmodSync(path: string, mode: number | string): void; declare function fchmod(fd: number, mode: number | string, callback?: (err: ?Error) => void): void; declare function fchmodSync(fd: number, mode: number | string): void; declare function lchmod(path: string, mode: number | string, callback?: (err: ?Error) => void): void; declare function lchmodSync(path: string, mode: number | string): void; declare function stat(path: string, callback?: (err: ?Error, stats: Stats) => any): void; declare function statSync(path: string): Stats; declare function fstat(fd: number, callback?: (err: ?Error, stats: Stats) => any): void; declare function fstatSync(fd: number): Stats; declare function lstat(path: string, callback?: (err: ?Error, stats: Stats) => any): void; declare function lstatSync(path: string): Stats; declare function link(srcpath: string, dstpath: string, callback?: (err: ?Error) => void): void; declare function linkSync(srcpath: string, dstpath: string): void; declare function symlink(srcpath: string, dtspath: string, type?: string, callback?: (err: ?Error) => void): void; declare function symlinkSync(srcpath: string, dstpath: string, type: string): void; declare function readlink(path: string, callback: (err: ?Error, linkString: string) => void): void; declare function readlinkSync(path: string): string; declare function realpath(path: string, cache?: Object, callback?: (err: ?Error, resolvedPath: string) => void): void; declare function realpathSync(path: string, cache?: Object): string; declare function unlink(path: string, callback?: (err: ?Error) => void): void; declare function unlinkSync(path: string): void; declare function rmdir(path: string, callback?: (err: ?Error) => void): void; declare function rmdirSync(path: string): void; declare function mkdir(path: string, mode?: number, callback?: (err: ?Error) => void): void; declare function mkdirSync(path: string, mode?: number): void; declare function readdir(path: string, callback?: (err: ?Error, files: Array) => void): void; declare function readdirSync(path: string): Array; declare function close(fd: number, callback?: (err: ?Error) => void): void; declare function closeSync(fd: number): void; declare function open(path: string, flags: string, mode?: number, callback?: (err: ?Error, fd: number) => void): void; declare function openSync(path: string, flags: string, mode?: number): number; declare function utimes(path: string, atime: number, mtime: number, callback?: (err: ?Error) => void): void; declare function utimesSync(path: string, atime: number, mtime: number): void; declare function futimes(fd: number, atime: number, mtime: number, callback?: (err: ?Error) => void): void; declare function futimesSync(fd: number, atime: number, mtime: number): void; declare function fsync(fd: number, callback?: (err: ?Error) => void): void; declare function fsyncSync(fd: number): void; declare var write: (fd: number, buffer: Buffer, offset: number, length: number, position?: mixed, callback?: (err: ?Error, write: number, str: string) => void) => void | (fd: number, data: mixed, position?: mixed, encoding?: string, callback?: (err: ?Error, write: number, str: string) => void) => void; declare var writeSync: (fd: number, buffer: Buffer, offset: number, length: number, position?: number) => number | (fd: number, data: mixed, position?: mixed, encoding?: string) => number; declare function read( fd: number, buffer: Buffer, offset: number, length: number, position: ?number, callback?: (err: ?Error, bytesRead: number, buffer: Buffer) => void ): void; declare function readSync( fd: number, buffer: Buffer, offset: number, length: number, position: number ): number; declare function readFile( filename: string, callback: (err: ?Error, data: Buffer) => void ): void; declare function readFile( filename: string, encoding: string, callback: (err: ?Error, data: string) => void ): void; declare function readFile( filename: string, options: { encoding: string; flag?: string }, callback: (err: ?Error, data: string) => void ): void; declare function readFile( filename: string, options: { flag?: string }, callback: (err: ?Error, data: Buffer) => void ): void; declare function readFileSync(filename: string, _: void): Buffer; declare function readFileSync(filename: string, encoding: string): string; declare function readFileSync(filename: string, options: { encoding: string, flag?: string }): string; declare function readFileSync(filename: string, options: { encoding?: void, flag?: string }): Buffer; declare function writeFile( filename: string, data: Buffer | string, options?: Object | string, callback?: (err: ?Error) => void ): void; declare function writeFileSync( filename: string, data: Buffer | string, options?: Object | string ): void; declare function appendFile(filename: string, data: string | Buffer, options?: Object, callback?: (err: ?Error) => void): void; declare function appendFileSync(filename: string, data: string | Buffer, options?: Object): void; declare function watchFile(filename: string, options?: Object, listener?: (curr: Stats, prev: Stats) => void): void; declare function unwatchFile(filename: string, listener?: (curr: Stats, prev: Stats) => void): void; declare function watch(filename: string, options?: Object, listener?: (event: string, filename: string) => void): FSWatcher; declare function exists(path: string, callback?: (exists: boolean) => void): void; declare function existsSync(path: string): boolean; declare function access(path: string, mode?: any, callback?: (err: ?Error) => void): void; declare function accessSync(path: string, mode?: any): void; declare function createReadStream(path: string, options?: Object): ReadStream; declare function createWriteStream(path: string, options?: Object): WriteStream; declare var F_OK: number; declare var R_OK: number; declare var W_OK: number; declare var X_OK: number; }