// Type definitions for chokidar 1.4.3
// Project: https://github.com/paulmillr/chokidar
// Definitions by: Stefan Steinhart
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
///
declare module "chokidar"
{
export class FSWatcher
{
constructor(options?: WatchOptions);
add(fileDirOrGlob:string):void;
add(filesDirsOrGlobs:Array):void;
unwatch(fileDirOrGlob:string):void;
unwatch(filesDirsOrGlobs:Array):void;
getWatched():any;
on(event: 'add', fn: (path: string, stats?: fs.Stats) => void): this;
on(event: 'change', fn: (path: string, stats?: fs.Stats) => void): this;
on(event: 'unlink', fn: (path: string) => void): this;
on(event: 'raw', fn: (event: Event, path:string, details:any) => void): this;
on(event: string, fn: (path: string) => void): this;
close(): this;
}
interface WatchOptions
{
persistent?:boolean;
ignored?:any;
ignoreInitial?:boolean;
followSymlinks?:boolean;
cwd?:string;
usePolling?:boolean;
useFsEvents?:boolean;
alwaysStat?:boolean;
depth?:number;
interval?:number;
binaryInterval?:number;
ignorePermissionErrors?:boolean;
atomic?:boolean;
awaitWriteFinish?:any;
}
import fs = require("fs");
export function watch(fileDirOrGlob:string, options?:WatchOptions):FSWatcher;
export function watch(filesDirsOrGlobs:Array, options?:WatchOptions):FSWatcher;
}