// flow-typed signature: 4d23bf1a2235eda868dc76304f4bfc32
// flow-typed version: <<STUB>>/json-loader_v^0.5.4/flow_v0.42.0

/**
 * This is an autogenerated libdef stub for:
 *
 *   'json-loader'
 *
 * 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 'json-loader' {
  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.
 */


// Filename aliases
declare module 'json-loader/index' {
  declare module.exports: $Exports<'json-loader'>;
}
declare module 'json-loader/index.js' {
  declare module.exports: $Exports<'json-loader'>;
}
