// flow-typed signature: 3483cf46c238a8ded0b47931a93cec11
// flow-typed version: <<STUB>>/weex-picker_v^0.1.0/flow_v0.42.0

/**
 * This is an autogenerated libdef stub for:
 *
 *   'weex-picker'
 *
 * 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-picker' {
  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 'weex-picker/dist/index' {
  declare module.exports: any;
}

declare module 'weex-picker/examples/build/index' {
  declare module.exports: any;
}

declare module 'weex-picker/examples/build/main' {
  declare module.exports: any;
}

declare module 'weex-picker/rollup.config' {
  declare module.exports: any;
}

declare module 'weex-picker/src/index' {
  declare module.exports: any;
}

declare module 'weex-picker/src/Picker' {
  declare module.exports: any;
}

declare module 'weex-picker/src/TimePicker' {
  declare module.exports: any;
}

declare module 'weex-picker/webpack.examples.config' {
  declare module.exports: any;
}

// Filename aliases
declare module 'weex-picker/dist/index.js' {
  declare module.exports: $Exports<'weex-picker/dist/index'>;
}
declare module 'weex-picker/examples/build/index.js' {
  declare module.exports: $Exports<'weex-picker/examples/build/index'>;
}
declare module 'weex-picker/examples/build/main.js' {
  declare module.exports: $Exports<'weex-picker/examples/build/main'>;
}
declare module 'weex-picker/rollup.config.js' {
  declare module.exports: $Exports<'weex-picker/rollup.config'>;
}
declare module 'weex-picker/src/index.js' {
  declare module.exports: $Exports<'weex-picker/src/index'>;
}
declare module 'weex-picker/src/Picker.js' {
  declare module.exports: $Exports<'weex-picker/src/Picker'>;
}
declare module 'weex-picker/src/TimePicker.js' {
  declare module.exports: $Exports<'weex-picker/src/TimePicker'>;
}
declare module 'weex-picker/webpack.examples.config.js' {
  declare module.exports: $Exports<'weex-picker/webpack.examples.config'>;
}
