// flow-typed signature: a3641137850fff0b7b41d98b95bfaca8
// flow-typed version: <<STUB>>/karma-coverage_v^1.1.1/flow_v0.42.0

/**
 * This is an autogenerated libdef stub for:
 *
 *   'karma-coverage'
 *
 * 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 'karma-coverage' {
  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 'karma-coverage/gruntfile' {
  declare module.exports: any;
}

declare module 'karma-coverage/lib/coverage-map' {
  declare module.exports: any;
}

declare module 'karma-coverage/lib/in-memory-report' {
  declare module.exports: any;
}

declare module 'karma-coverage/lib/index' {
  declare module.exports: any;
}

declare module 'karma-coverage/lib/preprocessor' {
  declare module.exports: any;
}

declare module 'karma-coverage/lib/reporter' {
  declare module.exports: any;
}

declare module 'karma-coverage/lib/source-cache-store' {
  declare module.exports: any;
}

declare module 'karma-coverage/lib/source-cache' {
  declare module.exports: any;
}

// Filename aliases
declare module 'karma-coverage/gruntfile.js' {
  declare module.exports: $Exports<'karma-coverage/gruntfile'>;
}
declare module 'karma-coverage/lib/coverage-map.js' {
  declare module.exports: $Exports<'karma-coverage/lib/coverage-map'>;
}
declare module 'karma-coverage/lib/in-memory-report.js' {
  declare module.exports: $Exports<'karma-coverage/lib/in-memory-report'>;
}
declare module 'karma-coverage/lib/index.js' {
  declare module.exports: $Exports<'karma-coverage/lib/index'>;
}
declare module 'karma-coverage/lib/preprocessor.js' {
  declare module.exports: $Exports<'karma-coverage/lib/preprocessor'>;
}
declare module 'karma-coverage/lib/reporter.js' {
  declare module.exports: $Exports<'karma-coverage/lib/reporter'>;
}
declare module 'karma-coverage/lib/source-cache-store.js' {
  declare module.exports: $Exports<'karma-coverage/lib/source-cache-store'>;
}
declare module 'karma-coverage/lib/source-cache.js' {
  declare module.exports: $Exports<'karma-coverage/lib/source-cache'>;
}
