// flow-typed signature: 1e1a03a4a04bb3b5bad25d8dfc01182d
// flow-typed version: <<STUB>>/babel-core_v^6.17.0/flow_v0.42.0

/**
 * This is an autogenerated libdef stub for:
 *
 *   'babel-core'
 *
 * 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 'babel-core' {
  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 'babel-core/lib/api/browser' {
  declare module.exports: any;
}

declare module 'babel-core/lib/api/node' {
  declare module.exports: any;
}

declare module 'babel-core/lib/helpers/get-possible-plugin-names' {
  declare module.exports: any;
}

declare module 'babel-core/lib/helpers/get-possible-preset-names' {
  declare module.exports: any;
}

declare module 'babel-core/lib/helpers/merge' {
  declare module.exports: any;
}

declare module 'babel-core/lib/helpers/normalize-ast' {
  declare module.exports: any;
}

declare module 'babel-core/lib/helpers/resolve-from-possible-names' {
  declare module.exports: any;
}

declare module 'babel-core/lib/helpers/resolve-plugin' {
  declare module.exports: any;
}

declare module 'babel-core/lib/helpers/resolve-preset' {
  declare module.exports: any;
}

declare module 'babel-core/lib/helpers/resolve' {
  declare module.exports: any;
}

declare module 'babel-core/lib/store' {
  declare module.exports: any;
}

declare module 'babel-core/lib/tools/build-external-helpers' {
  declare module.exports: any;
}

declare module 'babel-core/lib/transformation/file/index' {
  declare module.exports: any;
}

declare module 'babel-core/lib/transformation/file/logger' {
  declare module.exports: any;
}

declare module 'babel-core/lib/transformation/file/metadata' {
  declare module.exports: any;
}

declare module 'babel-core/lib/transformation/file/options/build-config-chain' {
  declare module.exports: any;
}

declare module 'babel-core/lib/transformation/file/options/config' {
  declare module.exports: any;
}

declare module 'babel-core/lib/transformation/file/options/index' {
  declare module.exports: any;
}

declare module 'babel-core/lib/transformation/file/options/option-manager' {
  declare module.exports: any;
}

declare module 'babel-core/lib/transformation/file/options/parsers' {
  declare module.exports: any;
}

declare module 'babel-core/lib/transformation/file/options/removed' {
  declare module.exports: any;
}

declare module 'babel-core/lib/transformation/internal-plugins/block-hoist' {
  declare module.exports: any;
}

declare module 'babel-core/lib/transformation/internal-plugins/shadow-functions' {
  declare module.exports: any;
}

declare module 'babel-core/lib/transformation/pipeline' {
  declare module.exports: any;
}

declare module 'babel-core/lib/transformation/plugin-pass' {
  declare module.exports: any;
}

declare module 'babel-core/lib/transformation/plugin' {
  declare module.exports: any;
}

declare module 'babel-core/lib/util' {
  declare module.exports: any;
}

declare module 'babel-core/register' {
  declare module.exports: any;
}

// Filename aliases
declare module 'babel-core/index' {
  declare module.exports: $Exports<'babel-core'>;
}
declare module 'babel-core/index.js' {
  declare module.exports: $Exports<'babel-core'>;
}
declare module 'babel-core/lib/api/browser.js' {
  declare module.exports: $Exports<'babel-core/lib/api/browser'>;
}
declare module 'babel-core/lib/api/node.js' {
  declare module.exports: $Exports<'babel-core/lib/api/node'>;
}
declare module 'babel-core/lib/helpers/get-possible-plugin-names.js' {
  declare module.exports: $Exports<'babel-core/lib/helpers/get-possible-plugin-names'>;
}
declare module 'babel-core/lib/helpers/get-possible-preset-names.js' {
  declare module.exports: $Exports<'babel-core/lib/helpers/get-possible-preset-names'>;
}
declare module 'babel-core/lib/helpers/merge.js' {
  declare module.exports: $Exports<'babel-core/lib/helpers/merge'>;
}
declare module 'babel-core/lib/helpers/normalize-ast.js' {
  declare module.exports: $Exports<'babel-core/lib/helpers/normalize-ast'>;
}
declare module 'babel-core/lib/helpers/resolve-from-possible-names.js' {
  declare module.exports: $Exports<'babel-core/lib/helpers/resolve-from-possible-names'>;
}
declare module 'babel-core/lib/helpers/resolve-plugin.js' {
  declare module.exports: $Exports<'babel-core/lib/helpers/resolve-plugin'>;
}
declare module 'babel-core/lib/helpers/resolve-preset.js' {
  declare module.exports: $Exports<'babel-core/lib/helpers/resolve-preset'>;
}
declare module 'babel-core/lib/helpers/resolve.js' {
  declare module.exports: $Exports<'babel-core/lib/helpers/resolve'>;
}
declare module 'babel-core/lib/store.js' {
  declare module.exports: $Exports<'babel-core/lib/store'>;
}
declare module 'babel-core/lib/tools/build-external-helpers.js' {
  declare module.exports: $Exports<'babel-core/lib/tools/build-external-helpers'>;
}
declare module 'babel-core/lib/transformation/file/index.js' {
  declare module.exports: $Exports<'babel-core/lib/transformation/file/index'>;
}
declare module 'babel-core/lib/transformation/file/logger.js' {
  declare module.exports: $Exports<'babel-core/lib/transformation/file/logger'>;
}
declare module 'babel-core/lib/transformation/file/metadata.js' {
  declare module.exports: $Exports<'babel-core/lib/transformation/file/metadata'>;
}
declare module 'babel-core/lib/transformation/file/options/build-config-chain.js' {
  declare module.exports: $Exports<'babel-core/lib/transformation/file/options/build-config-chain'>;
}
declare module 'babel-core/lib/transformation/file/options/config.js' {
  declare module.exports: $Exports<'babel-core/lib/transformation/file/options/config'>;
}
declare module 'babel-core/lib/transformation/file/options/index.js' {
  declare module.exports: $Exports<'babel-core/lib/transformation/file/options/index'>;
}
declare module 'babel-core/lib/transformation/file/options/option-manager.js' {
  declare module.exports: $Exports<'babel-core/lib/transformation/file/options/option-manager'>;
}
declare module 'babel-core/lib/transformation/file/options/parsers.js' {
  declare module.exports: $Exports<'babel-core/lib/transformation/file/options/parsers'>;
}
declare module 'babel-core/lib/transformation/file/options/removed.js' {
  declare module.exports: $Exports<'babel-core/lib/transformation/file/options/removed'>;
}
declare module 'babel-core/lib/transformation/internal-plugins/block-hoist.js' {
  declare module.exports: $Exports<'babel-core/lib/transformation/internal-plugins/block-hoist'>;
}
declare module 'babel-core/lib/transformation/internal-plugins/shadow-functions.js' {
  declare module.exports: $Exports<'babel-core/lib/transformation/internal-plugins/shadow-functions'>;
}
declare module 'babel-core/lib/transformation/pipeline.js' {
  declare module.exports: $Exports<'babel-core/lib/transformation/pipeline'>;
}
declare module 'babel-core/lib/transformation/plugin-pass.js' {
  declare module.exports: $Exports<'babel-core/lib/transformation/plugin-pass'>;
}
declare module 'babel-core/lib/transformation/plugin.js' {
  declare module.exports: $Exports<'babel-core/lib/transformation/plugin'>;
}
declare module 'babel-core/lib/util.js' {
  declare module.exports: $Exports<'babel-core/lib/util'>;
}
declare module 'babel-core/register.js' {
  declare module.exports: $Exports<'babel-core/register'>;
}
