// flow-typed signature: 286d067bccb84f96697e4a34420d54cc
// flow-typed version: <<STUB>>/rollup-plugin-uglify_v^1.0.1/flow_v0.42.0

/**
 * This is an autogenerated libdef stub for:
 *
 *   'rollup-plugin-uglify'
 *
 * 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-plugin-uglify' {
  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-plugin-uglify/dist/rollup-plugin-uglify' {
  declare module.exports: any;
}

// Filename aliases
declare module 'rollup-plugin-uglify/dist/rollup-plugin-uglify.js' {
  declare module.exports: $Exports<'rollup-plugin-uglify/dist/rollup-plugin-uglify'>;
}
