// flow-typed signature: 8217045e197e8302a8b716c6d6a2b70a
// flow-typed version: <<STUB>>/vue-template-compiler_v^2.2.6/flow_v0.42.0

/**
 * This is an autogenerated libdef stub for:
 *
 *   'vue-template-compiler'
 *
 * 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 'vue-template-compiler' {
  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 'vue-template-compiler/build' {
  declare module.exports: any;
}

// Filename aliases
declare module 'vue-template-compiler/build.js' {
  declare module.exports: $Exports<'vue-template-compiler/build'>;
}
declare module 'vue-template-compiler/index' {
  declare module.exports: $Exports<'vue-template-compiler'>;
}
declare module 'vue-template-compiler/index.js' {
  declare module.exports: $Exports<'vue-template-compiler'>;
}
