// flow-typed signature: 0edb1cf34a48fa865c4438f2e1545b18
// flow-typed version: <<STUB>>/weex-vue-framework_v2.2.1-weex.1/flow_v0.42.0

/**
 * This is an autogenerated libdef stub for:
 *
 *   'weex-vue-framework'
 *
 * 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 'weex-vue-framework' {
  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 'weex-vue-framework/index' {
  declare module.exports: $Exports<'weex-vue-framework'>;
}
declare module 'weex-vue-framework/index.js' {
  declare module.exports: $Exports<'weex-vue-framework'>;
}
