// flow-typed signature: b3df06b96b32f57cea96e2387940a9a5
// flow-typed version: <<STUB>>/eslint-plugin-react_v^7.4.0/flow_v0.59.0

/**
 * This is an autogenerated libdef stub for:
 *
 *   'eslint-plugin-react'
 *
 * 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 'eslint-plugin-react' {
  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 'eslint-plugin-react/lib/rules/boolean-prop-naming' {
  declare module.exports: any;
}

declare module 'eslint-plugin-react/lib/rules/button-has-type' {
  declare module.exports: any;
}

declare module 'eslint-plugin-react/lib/rules/default-props-match-prop-types' {
  declare module.exports: any;
}

declare module 'eslint-plugin-react/lib/rules/destructuring-assignment' {
  declare module.exports: any;
}

declare module 'eslint-plugin-react/lib/rules/display-name' {
  declare module.exports: any;
}

declare module 'eslint-plugin-react/lib/rules/forbid-component-props' {
  declare module.exports: any;
}

declare module 'eslint-plugin-react/lib/rules/forbid-elements' {
  declare module.exports: any;
}

declare module 'eslint-plugin-react/lib/rules/forbid-foreign-prop-types' {
  declare module.exports: any;
}

declare module 'eslint-plugin-react/lib/rules/forbid-prop-types' {
  declare module.exports: any;
}

declare module 'eslint-plugin-react/lib/rules/jsx-boolean-value' {
  declare module.exports: any;
}

declare module 'eslint-plugin-react/lib/rules/jsx-closing-bracket-location' {
  declare module.exports: any;
}

declare module 'eslint-plugin-react/lib/rules/jsx-closing-tag-location' {
  declare module.exports: any;
}

declare module 'eslint-plugin-react/lib/rules/jsx-curly-brace-presence' {
  declare module.exports: any;
}

declare module 'eslint-plugin-react/lib/rules/jsx-curly-spacing' {
  declare module.exports: any;
}

declare module 'eslint-plugin-react/lib/rules/jsx-equals-spacing' {
  declare module.exports: any;
}

declare module 'eslint-plugin-react/lib/rules/jsx-filename-extension' {
  declare module.exports: any;
}

declare module 'eslint-plugin-react/lib/rules/jsx-first-prop-new-line' {
  declare module.exports: any;
}

declare module 'eslint-plugin-react/lib/rules/jsx-handler-names' {
  declare module.exports: any;
}

declare module 'eslint-plugin-react/lib/rules/jsx-indent-props' {
  declare module.exports: any;
}

declare module 'eslint-plugin-react/lib/rules/jsx-indent' {
  declare module.exports: any;
}

declare module 'eslint-plugin-react/lib/rules/jsx-key' {
  declare module.exports: any;
}

declare module 'eslint-plugin-react/lib/rules/jsx-max-props-per-line' {
  declare module.exports: any;
}

declare module 'eslint-plugin-react/lib/rules/jsx-no-bind' {
  declare module.exports: any;
}

declare module 'eslint-plugin-react/lib/rules/jsx-no-comment-textnodes' {
  declare module.exports: any;
}

declare module 'eslint-plugin-react/lib/rules/jsx-no-duplicate-props' {
  declare module.exports: any;
}

declare module 'eslint-plugin-react/lib/rules/jsx-no-literals' {
  declare module.exports: any;
}

declare module 'eslint-plugin-react/lib/rules/jsx-no-target-blank' {
  declare module.exports: any;
}

declare module 'eslint-plugin-react/lib/rules/jsx-no-undef' {
  declare module.exports: any;
}

declare module 'eslint-plugin-react/lib/rules/jsx-one-expression-per-line' {
  declare module.exports: any;
}

declare module 'eslint-plugin-react/lib/rules/jsx-pascal-case' {
  declare module.exports: any;
}

declare module 'eslint-plugin-react/lib/rules/jsx-sort-props' {
  declare module.exports: any;
}

declare module 'eslint-plugin-react/lib/rules/jsx-space-before-closing' {
  declare module.exports: any;
}

declare module 'eslint-plugin-react/lib/rules/jsx-tag-spacing' {
  declare module.exports: any;
}

declare module 'eslint-plugin-react/lib/rules/jsx-uses-react' {
  declare module.exports: any;
}

declare module 'eslint-plugin-react/lib/rules/jsx-uses-vars' {
  declare module.exports: any;
}

declare module 'eslint-plugin-react/lib/rules/jsx-wrap-multilines' {
  declare module.exports: any;
}

declare module 'eslint-plugin-react/lib/rules/no-access-state-in-setstate' {
  declare module.exports: any;
}

declare module 'eslint-plugin-react/lib/rules/no-array-index-key' {
  declare module.exports: any;
}

declare module 'eslint-plugin-react/lib/rules/no-children-prop' {
  declare module.exports: any;
}

declare module 'eslint-plugin-react/lib/rules/no-danger-with-children' {
  declare module.exports: any;
}

declare module 'eslint-plugin-react/lib/rules/no-danger' {
  declare module.exports: any;
}

declare module 'eslint-plugin-react/lib/rules/no-deprecated' {
  declare module.exports: any;
}

declare module 'eslint-plugin-react/lib/rules/no-did-mount-set-state' {
  declare module.exports: any;
}

declare module 'eslint-plugin-react/lib/rules/no-did-update-set-state' {
  declare module.exports: any;
}

declare module 'eslint-plugin-react/lib/rules/no-direct-mutation-state' {
  declare module.exports: any;
}

declare module 'eslint-plugin-react/lib/rules/no-find-dom-node' {
  declare module.exports: any;
}

declare module 'eslint-plugin-react/lib/rules/no-is-mounted' {
  declare module.exports: any;
}

declare module 'eslint-plugin-react/lib/rules/no-multi-comp' {
  declare module.exports: any;
}

declare module 'eslint-plugin-react/lib/rules/no-redundant-should-component-update' {
  declare module.exports: any;
}

declare module 'eslint-plugin-react/lib/rules/no-render-return-value' {
  declare module.exports: any;
}

declare module 'eslint-plugin-react/lib/rules/no-set-state' {
  declare module.exports: any;
}

declare module 'eslint-plugin-react/lib/rules/no-string-refs' {
  declare module.exports: any;
}

declare module 'eslint-plugin-react/lib/rules/no-typos' {
  declare module.exports: any;
}

declare module 'eslint-plugin-react/lib/rules/no-unescaped-entities' {
  declare module.exports: any;
}

declare module 'eslint-plugin-react/lib/rules/no-unknown-property' {
  declare module.exports: any;
}

declare module 'eslint-plugin-react/lib/rules/no-unused-prop-types' {
  declare module.exports: any;
}

declare module 'eslint-plugin-react/lib/rules/no-unused-state' {
  declare module.exports: any;
}

declare module 'eslint-plugin-react/lib/rules/no-will-update-set-state' {
  declare module.exports: any;
}

declare module 'eslint-plugin-react/lib/rules/prefer-es6-class' {
  declare module.exports: any;
}

declare module 'eslint-plugin-react/lib/rules/prefer-stateless-function' {
  declare module.exports: any;
}

declare module 'eslint-plugin-react/lib/rules/prop-types' {
  declare module.exports: any;
}

declare module 'eslint-plugin-react/lib/rules/react-in-jsx-scope' {
  declare module.exports: any;
}

declare module 'eslint-plugin-react/lib/rules/require-default-props' {
  declare module.exports: any;
}

declare module 'eslint-plugin-react/lib/rules/require-optimization' {
  declare module.exports: any;
}

declare module 'eslint-plugin-react/lib/rules/require-render-return' {
  declare module.exports: any;
}

declare module 'eslint-plugin-react/lib/rules/self-closing-comp' {
  declare module.exports: any;
}

declare module 'eslint-plugin-react/lib/rules/sort-comp' {
  declare module.exports: any;
}

declare module 'eslint-plugin-react/lib/rules/sort-prop-types' {
  declare module.exports: any;
}

declare module 'eslint-plugin-react/lib/rules/style-prop-object' {
  declare module.exports: any;
}

declare module 'eslint-plugin-react/lib/rules/void-dom-elements-no-children' {
  declare module.exports: any;
}

declare module 'eslint-plugin-react/lib/util/annotations' {
  declare module.exports: any;
}

declare module 'eslint-plugin-react/lib/util/ast' {
  declare module.exports: any;
}

declare module 'eslint-plugin-react/lib/util/Components' {
  declare module.exports: any;
}

declare module 'eslint-plugin-react/lib/util/getTokenBeforeClosingBracket' {
  declare module.exports: any;
}

declare module 'eslint-plugin-react/lib/util/makeNoMethodSetStateRule' {
  declare module.exports: any;
}

declare module 'eslint-plugin-react/lib/util/pragma' {
  declare module.exports: any;
}

declare module 'eslint-plugin-react/lib/util/props' {
  declare module.exports: any;
}

declare module 'eslint-plugin-react/lib/util/variable' {
  declare module.exports: any;
}

declare module 'eslint-plugin-react/lib/util/version' {
  declare module.exports: any;
}

// Filename aliases
declare module 'eslint-plugin-react/index' {
  declare module.exports: $Exports<'eslint-plugin-react'>;
}
declare module 'eslint-plugin-react/index.js' {
  declare module.exports: $Exports<'eslint-plugin-react'>;
}
declare module 'eslint-plugin-react/lib/rules/boolean-prop-naming.js' {
  declare module.exports: $Exports<'eslint-plugin-react/lib/rules/boolean-prop-naming'>;
}
declare module 'eslint-plugin-react/lib/rules/button-has-type.js' {
  declare module.exports: $Exports<'eslint-plugin-react/lib/rules/button-has-type'>;
}
declare module 'eslint-plugin-react/lib/rules/default-props-match-prop-types.js' {
  declare module.exports: $Exports<'eslint-plugin-react/lib/rules/default-props-match-prop-types'>;
}
declare module 'eslint-plugin-react/lib/rules/destructuring-assignment.js' {
  declare module.exports: $Exports<'eslint-plugin-react/lib/rules/destructuring-assignment'>;
}
declare module 'eslint-plugin-react/lib/rules/display-name.js' {
  declare module.exports: $Exports<'eslint-plugin-react/lib/rules/display-name'>;
}
declare module 'eslint-plugin-react/lib/rules/forbid-component-props.js' {
  declare module.exports: $Exports<'eslint-plugin-react/lib/rules/forbid-component-props'>;
}
declare module 'eslint-plugin-react/lib/rules/forbid-elements.js' {
  declare module.exports: $Exports<'eslint-plugin-react/lib/rules/forbid-elements'>;
}
declare module 'eslint-plugin-react/lib/rules/forbid-foreign-prop-types.js' {
  declare module.exports: $Exports<'eslint-plugin-react/lib/rules/forbid-foreign-prop-types'>;
}
declare module 'eslint-plugin-react/lib/rules/forbid-prop-types.js' {
  declare module.exports: $Exports<'eslint-plugin-react/lib/rules/forbid-prop-types'>;
}
declare module 'eslint-plugin-react/lib/rules/jsx-boolean-value.js' {
  declare module.exports: $Exports<'eslint-plugin-react/lib/rules/jsx-boolean-value'>;
}
declare module 'eslint-plugin-react/lib/rules/jsx-closing-bracket-location.js' {
  declare module.exports: $Exports<'eslint-plugin-react/lib/rules/jsx-closing-bracket-location'>;
}
declare module 'eslint-plugin-react/lib/rules/jsx-closing-tag-location.js' {
  declare module.exports: $Exports<'eslint-plugin-react/lib/rules/jsx-closing-tag-location'>;
}
declare module 'eslint-plugin-react/lib/rules/jsx-curly-brace-presence.js' {
  declare module.exports: $Exports<'eslint-plugin-react/lib/rules/jsx-curly-brace-presence'>;
}
declare module 'eslint-plugin-react/lib/rules/jsx-curly-spacing.js' {
  declare module.exports: $Exports<'eslint-plugin-react/lib/rules/jsx-curly-spacing'>;
}
declare module 'eslint-plugin-react/lib/rules/jsx-equals-spacing.js' {
  declare module.exports: $Exports<'eslint-plugin-react/lib/rules/jsx-equals-spacing'>;
}
declare module 'eslint-plugin-react/lib/rules/jsx-filename-extension.js' {
  declare module.exports: $Exports<'eslint-plugin-react/lib/rules/jsx-filename-extension'>;
}
declare module 'eslint-plugin-react/lib/rules/jsx-first-prop-new-line.js' {
  declare module.exports: $Exports<'eslint-plugin-react/lib/rules/jsx-first-prop-new-line'>;
}
declare module 'eslint-plugin-react/lib/rules/jsx-handler-names.js' {
  declare module.exports: $Exports<'eslint-plugin-react/lib/rules/jsx-handler-names'>;
}
declare module 'eslint-plugin-react/lib/rules/jsx-indent-props.js' {
  declare module.exports: $Exports<'eslint-plugin-react/lib/rules/jsx-indent-props'>;
}
declare module 'eslint-plugin-react/lib/rules/jsx-indent.js' {
  declare module.exports: $Exports<'eslint-plugin-react/lib/rules/jsx-indent'>;
}
declare module 'eslint-plugin-react/lib/rules/jsx-key.js' {
  declare module.exports: $Exports<'eslint-plugin-react/lib/rules/jsx-key'>;
}
declare module 'eslint-plugin-react/lib/rules/jsx-max-props-per-line.js' {
  declare module.exports: $Exports<'eslint-plugin-react/lib/rules/jsx-max-props-per-line'>;
}
declare module 'eslint-plugin-react/lib/rules/jsx-no-bind.js' {
  declare module.exports: $Exports<'eslint-plugin-react/lib/rules/jsx-no-bind'>;
}
declare module 'eslint-plugin-react/lib/rules/jsx-no-comment-textnodes.js' {
  declare module.exports: $Exports<'eslint-plugin-react/lib/rules/jsx-no-comment-textnodes'>;
}
declare module 'eslint-plugin-react/lib/rules/jsx-no-duplicate-props.js' {
  declare module.exports: $Exports<'eslint-plugin-react/lib/rules/jsx-no-duplicate-props'>;
}
declare module 'eslint-plugin-react/lib/rules/jsx-no-literals.js' {
  declare module.exports: $Exports<'eslint-plugin-react/lib/rules/jsx-no-literals'>;
}
declare module 'eslint-plugin-react/lib/rules/jsx-no-target-blank.js' {
  declare module.exports: $Exports<'eslint-plugin-react/lib/rules/jsx-no-target-blank'>;
}
declare module 'eslint-plugin-react/lib/rules/jsx-no-undef.js' {
  declare module.exports: $Exports<'eslint-plugin-react/lib/rules/jsx-no-undef'>;
}
declare module 'eslint-plugin-react/lib/rules/jsx-one-expression-per-line.js' {
  declare module.exports: $Exports<'eslint-plugin-react/lib/rules/jsx-one-expression-per-line'>;
}
declare module 'eslint-plugin-react/lib/rules/jsx-pascal-case.js' {
  declare module.exports: $Exports<'eslint-plugin-react/lib/rules/jsx-pascal-case'>;
}
declare module 'eslint-plugin-react/lib/rules/jsx-sort-props.js' {
  declare module.exports: $Exports<'eslint-plugin-react/lib/rules/jsx-sort-props'>;
}
declare module 'eslint-plugin-react/lib/rules/jsx-space-before-closing.js' {
  declare module.exports: $Exports<'eslint-plugin-react/lib/rules/jsx-space-before-closing'>;
}
declare module 'eslint-plugin-react/lib/rules/jsx-tag-spacing.js' {
  declare module.exports: $Exports<'eslint-plugin-react/lib/rules/jsx-tag-spacing'>;
}
declare module 'eslint-plugin-react/lib/rules/jsx-uses-react.js' {
  declare module.exports: $Exports<'eslint-plugin-react/lib/rules/jsx-uses-react'>;
}
declare module 'eslint-plugin-react/lib/rules/jsx-uses-vars.js' {
  declare module.exports: $Exports<'eslint-plugin-react/lib/rules/jsx-uses-vars'>;
}
declare module 'eslint-plugin-react/lib/rules/jsx-wrap-multilines.js' {
  declare module.exports: $Exports<'eslint-plugin-react/lib/rules/jsx-wrap-multilines'>;
}
declare module 'eslint-plugin-react/lib/rules/no-access-state-in-setstate.js' {
  declare module.exports: $Exports<'eslint-plugin-react/lib/rules/no-access-state-in-setstate'>;
}
declare module 'eslint-plugin-react/lib/rules/no-array-index-key.js' {
  declare module.exports: $Exports<'eslint-plugin-react/lib/rules/no-array-index-key'>;
}
declare module 'eslint-plugin-react/lib/rules/no-children-prop.js' {
  declare module.exports: $Exports<'eslint-plugin-react/lib/rules/no-children-prop'>;
}
declare module 'eslint-plugin-react/lib/rules/no-danger-with-children.js' {
  declare module.exports: $Exports<'eslint-plugin-react/lib/rules/no-danger-with-children'>;
}
declare module 'eslint-plugin-react/lib/rules/no-danger.js' {
  declare module.exports: $Exports<'eslint-plugin-react/lib/rules/no-danger'>;
}
declare module 'eslint-plugin-react/lib/rules/no-deprecated.js' {
  declare module.exports: $Exports<'eslint-plugin-react/lib/rules/no-deprecated'>;
}
declare module 'eslint-plugin-react/lib/rules/no-did-mount-set-state.js' {
  declare module.exports: $Exports<'eslint-plugin-react/lib/rules/no-did-mount-set-state'>;
}
declare module 'eslint-plugin-react/lib/rules/no-did-update-set-state.js' {
  declare module.exports: $Exports<'eslint-plugin-react/lib/rules/no-did-update-set-state'>;
}
declare module 'eslint-plugin-react/lib/rules/no-direct-mutation-state.js' {
  declare module.exports: $Exports<'eslint-plugin-react/lib/rules/no-direct-mutation-state'>;
}
declare module 'eslint-plugin-react/lib/rules/no-find-dom-node.js' {
  declare module.exports: $Exports<'eslint-plugin-react/lib/rules/no-find-dom-node'>;
}
declare module 'eslint-plugin-react/lib/rules/no-is-mounted.js' {
  declare module.exports: $Exports<'eslint-plugin-react/lib/rules/no-is-mounted'>;
}
declare module 'eslint-plugin-react/lib/rules/no-multi-comp.js' {
  declare module.exports: $Exports<'eslint-plugin-react/lib/rules/no-multi-comp'>;
}
declare module 'eslint-plugin-react/lib/rules/no-redundant-should-component-update.js' {
  declare module.exports: $Exports<'eslint-plugin-react/lib/rules/no-redundant-should-component-update'>;
}
declare module 'eslint-plugin-react/lib/rules/no-render-return-value.js' {
  declare module.exports: $Exports<'eslint-plugin-react/lib/rules/no-render-return-value'>;
}
declare module 'eslint-plugin-react/lib/rules/no-set-state.js' {
  declare module.exports: $Exports<'eslint-plugin-react/lib/rules/no-set-state'>;
}
declare module 'eslint-plugin-react/lib/rules/no-string-refs.js' {
  declare module.exports: $Exports<'eslint-plugin-react/lib/rules/no-string-refs'>;
}
declare module 'eslint-plugin-react/lib/rules/no-typos.js' {
  declare module.exports: $Exports<'eslint-plugin-react/lib/rules/no-typos'>;
}
declare module 'eslint-plugin-react/lib/rules/no-unescaped-entities.js' {
  declare module.exports: $Exports<'eslint-plugin-react/lib/rules/no-unescaped-entities'>;
}
declare module 'eslint-plugin-react/lib/rules/no-unknown-property.js' {
  declare module.exports: $Exports<'eslint-plugin-react/lib/rules/no-unknown-property'>;
}
declare module 'eslint-plugin-react/lib/rules/no-unused-prop-types.js' {
  declare module.exports: $Exports<'eslint-plugin-react/lib/rules/no-unused-prop-types'>;
}
declare module 'eslint-plugin-react/lib/rules/no-unused-state.js' {
  declare module.exports: $Exports<'eslint-plugin-react/lib/rules/no-unused-state'>;
}
declare module 'eslint-plugin-react/lib/rules/no-will-update-set-state.js' {
  declare module.exports: $Exports<'eslint-plugin-react/lib/rules/no-will-update-set-state'>;
}
declare module 'eslint-plugin-react/lib/rules/prefer-es6-class.js' {
  declare module.exports: $Exports<'eslint-plugin-react/lib/rules/prefer-es6-class'>;
}
declare module 'eslint-plugin-react/lib/rules/prefer-stateless-function.js' {
  declare module.exports: $Exports<'eslint-plugin-react/lib/rules/prefer-stateless-function'>;
}
declare module 'eslint-plugin-react/lib/rules/prop-types.js' {
  declare module.exports: $Exports<'eslint-plugin-react/lib/rules/prop-types'>;
}
declare module 'eslint-plugin-react/lib/rules/react-in-jsx-scope.js' {
  declare module.exports: $Exports<'eslint-plugin-react/lib/rules/react-in-jsx-scope'>;
}
declare module 'eslint-plugin-react/lib/rules/require-default-props.js' {
  declare module.exports: $Exports<'eslint-plugin-react/lib/rules/require-default-props'>;
}
declare module 'eslint-plugin-react/lib/rules/require-optimization.js' {
  declare module.exports: $Exports<'eslint-plugin-react/lib/rules/require-optimization'>;
}
declare module 'eslint-plugin-react/lib/rules/require-render-return.js' {
  declare module.exports: $Exports<'eslint-plugin-react/lib/rules/require-render-return'>;
}
declare module 'eslint-plugin-react/lib/rules/self-closing-comp.js' {
  declare module.exports: $Exports<'eslint-plugin-react/lib/rules/self-closing-comp'>;
}
declare module 'eslint-plugin-react/lib/rules/sort-comp.js' {
  declare module.exports: $Exports<'eslint-plugin-react/lib/rules/sort-comp'>;
}
declare module 'eslint-plugin-react/lib/rules/sort-prop-types.js' {
  declare module.exports: $Exports<'eslint-plugin-react/lib/rules/sort-prop-types'>;
}
declare module 'eslint-plugin-react/lib/rules/style-prop-object.js' {
  declare module.exports: $Exports<'eslint-plugin-react/lib/rules/style-prop-object'>;
}
declare module 'eslint-plugin-react/lib/rules/void-dom-elements-no-children.js' {
  declare module.exports: $Exports<'eslint-plugin-react/lib/rules/void-dom-elements-no-children'>;
}
declare module 'eslint-plugin-react/lib/util/annotations.js' {
  declare module.exports: $Exports<'eslint-plugin-react/lib/util/annotations'>;
}
declare module 'eslint-plugin-react/lib/util/ast.js' {
  declare module.exports: $Exports<'eslint-plugin-react/lib/util/ast'>;
}
declare module 'eslint-plugin-react/lib/util/Components.js' {
  declare module.exports: $Exports<'eslint-plugin-react/lib/util/Components'>;
}
declare module 'eslint-plugin-react/lib/util/getTokenBeforeClosingBracket.js' {
  declare module.exports: $Exports<'eslint-plugin-react/lib/util/getTokenBeforeClosingBracket'>;
}
declare module 'eslint-plugin-react/lib/util/makeNoMethodSetStateRule.js' {
  declare module.exports: $Exports<'eslint-plugin-react/lib/util/makeNoMethodSetStateRule'>;
}
declare module 'eslint-plugin-react/lib/util/pragma.js' {
  declare module.exports: $Exports<'eslint-plugin-react/lib/util/pragma'>;
}
declare module 'eslint-plugin-react/lib/util/props.js' {
  declare module.exports: $Exports<'eslint-plugin-react/lib/util/props'>;
}
declare module 'eslint-plugin-react/lib/util/variable.js' {
  declare module.exports: $Exports<'eslint-plugin-react/lib/util/variable'>;
}
declare module 'eslint-plugin-react/lib/util/version.js' {
  declare module.exports: $Exports<'eslint-plugin-react/lib/util/version'>;
}
