// flow-typed signature: 8418ee3b6fd2b08499999b2de0282c95
// flow-typed version: <<STUB>>/rollup-watch_v^2.5.0/flow_v0.42.0

/**
 * This is an autogenerated libdef stub for:
 *
 *   'rollup-watch'
 *
 * Fill this stub out by replacing all the `any` types.
 *
 * Once filled out, we encourage you to share your work with the 
 * community by sending a pull request to: 
 * https://github.com/flowtype/flow-typed
 */

declare module 'rollup-watch' {
  declare module.exports: any;
}

/**
 * We include stubs for each file inside this npm package in case you need to
 * require those files directly. Feel free to delete any files that aren't
 * needed.
 */
declare module 'rollup-watch/dist/rollup-watch.cjs' {
  declare module.exports: any;
}

declare module 'rollup-watch/dist/rollup-watch.es6' {
  declare module.exports: any;
}

declare module 'rollup-watch/src/index' {
  declare module.exports: any;
}

declare module 'rollup-watch/src/utils/checkVersion' {
  declare module.exports: any;
}

declare module 'rollup-watch/src/utils/object' {
  declare module.exports: any;
}

declare module 'rollup-watch/src/utils/promise' {
  declare module.exports: any;
}

// Filename aliases
declare module 'rollup-watch/dist/rollup-watch.cjs.js' {
  declare module.exports: $Exports<'rollup-watch/dist/rollup-watch.cjs'>;
}
declare module 'rollup-watch/dist/rollup-watch.es6.js' {
  declare module.exports: $Exports<'rollup-watch/dist/rollup-watch.es6'>;
}
declare module 'rollup-watch/src/index.js' {
  declare module.exports: $Exports<'rollup-watch/src/index'>;
}
declare module 'rollup-watch/src/utils/checkVersion.js' {
  declare module.exports: $Exports<'rollup-watch/src/utils/checkVersion'>;
}
declare module 'rollup-watch/src/utils/object.js' {
  declare module.exports: $Exports<'rollup-watch/src/utils/object'>;
}
declare module 'rollup-watch/src/utils/promise.js' {
  declare module.exports: $Exports<'rollup-watch/src/utils/promise'>;
}
