// flow-typed signature: b7d745fc9bafd36f0c58879b31c53973
// flow-typed version: <<STUB>>/eslint-plugin-flowtype_v^3.2.0/flow_v0.89.0

/**
 * This is an autogenerated libdef stub for:
 *
 *   'eslint-plugin-flowtype'
 *
 * 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-flowtype' {
  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-flowtype/dist/bin/addAssertions' {
  declare module.exports: any;
}

declare module 'eslint-plugin-flowtype/dist/bin/checkDocs' {
  declare module.exports: any;
}

declare module 'eslint-plugin-flowtype/dist/bin/checkTests' {
  declare module.exports: any;
}

declare module 'eslint-plugin-flowtype/dist/bin/utilities' {
  declare module.exports: any;
}

declare module 'eslint-plugin-flowtype/dist/index' {
  declare module.exports: any;
}

declare module 'eslint-plugin-flowtype/dist/rules/arrayStyle/index' {
  declare module.exports: any;
}

declare module 'eslint-plugin-flowtype/dist/rules/arrayStyle/isSimpleType' {
  declare module.exports: any;
}

declare module 'eslint-plugin-flowtype/dist/rules/arrayStyle/needWrap' {
  declare module.exports: any;
}

declare module 'eslint-plugin-flowtype/dist/rules/arrayStyleComplexType' {
  declare module.exports: any;
}

declare module 'eslint-plugin-flowtype/dist/rules/arrayStyleSimpleType' {
  declare module.exports: any;
}

declare module 'eslint-plugin-flowtype/dist/rules/booleanStyle' {
  declare module.exports: any;
}

declare module 'eslint-plugin-flowtype/dist/rules/defineFlowType' {
  declare module.exports: any;
}

declare module 'eslint-plugin-flowtype/dist/rules/delimiterDangle' {
  declare module.exports: any;
}

declare module 'eslint-plugin-flowtype/dist/rules/genericSpacing' {
  declare module.exports: any;
}

declare module 'eslint-plugin-flowtype/dist/rules/newlineAfterFlowAnnotation' {
  declare module.exports: any;
}

declare module 'eslint-plugin-flowtype/dist/rules/noDupeKeys' {
  declare module.exports: any;
}

declare module 'eslint-plugin-flowtype/dist/rules/noExistentialType' {
  declare module.exports: any;
}

declare module 'eslint-plugin-flowtype/dist/rules/noFlowFixMeComments' {
  declare module.exports: any;
}

declare module 'eslint-plugin-flowtype/dist/rules/noMutableArray' {
  declare module.exports: any;
}

declare module 'eslint-plugin-flowtype/dist/rules/noPrimitiveConstructorTypes' {
  declare module.exports: any;
}

declare module 'eslint-plugin-flowtype/dist/rules/noTypesMissingFileAnnotation' {
  declare module.exports: any;
}

declare module 'eslint-plugin-flowtype/dist/rules/noUnusedExpressions' {
  declare module.exports: any;
}

declare module 'eslint-plugin-flowtype/dist/rules/noWeakTypes' {
  declare module.exports: any;
}

declare module 'eslint-plugin-flowtype/dist/rules/objectTypeDelimiter' {
  declare module.exports: any;
}

declare module 'eslint-plugin-flowtype/dist/rules/requireCompoundTypeAlias' {
  declare module.exports: any;
}

declare module 'eslint-plugin-flowtype/dist/rules/requireExactType' {
  declare module.exports: any;
}

declare module 'eslint-plugin-flowtype/dist/rules/requireParameterType' {
  declare module.exports: any;
}

declare module 'eslint-plugin-flowtype/dist/rules/requireReturnType' {
  declare module.exports: any;
}

declare module 'eslint-plugin-flowtype/dist/rules/requireTypesAtTop' {
  declare module.exports: any;
}

declare module 'eslint-plugin-flowtype/dist/rules/requireValidFileAnnotation' {
  declare module.exports: any;
}

declare module 'eslint-plugin-flowtype/dist/rules/requireVariableType' {
  declare module.exports: any;
}

declare module 'eslint-plugin-flowtype/dist/rules/semi' {
  declare module.exports: any;
}

declare module 'eslint-plugin-flowtype/dist/rules/sortKeys' {
  declare module.exports: any;
}

declare module 'eslint-plugin-flowtype/dist/rules/spaceAfterTypeColon' {
  declare module.exports: any;
}

declare module 'eslint-plugin-flowtype/dist/rules/spaceBeforeGenericBracket' {
  declare module.exports: any;
}

declare module 'eslint-plugin-flowtype/dist/rules/spaceBeforeTypeColon' {
  declare module.exports: any;
}

declare module 'eslint-plugin-flowtype/dist/rules/typeColonSpacing/evaluateFunctions' {
  declare module.exports: any;
}

declare module 'eslint-plugin-flowtype/dist/rules/typeColonSpacing/evaluateObjectTypeIndexer' {
  declare module.exports: any;
}

declare module 'eslint-plugin-flowtype/dist/rules/typeColonSpacing/evaluateObjectTypeProperty' {
  declare module.exports: any;
}

declare module 'eslint-plugin-flowtype/dist/rules/typeColonSpacing/evaluateReturnType' {
  declare module.exports: any;
}

declare module 'eslint-plugin-flowtype/dist/rules/typeColonSpacing/evaluateTypeCastExpression' {
  declare module.exports: any;
}

declare module 'eslint-plugin-flowtype/dist/rules/typeColonSpacing/evaluateTypical' {
  declare module.exports: any;
}

declare module 'eslint-plugin-flowtype/dist/rules/typeColonSpacing/evaluateVariables' {
  declare module.exports: any;
}

declare module 'eslint-plugin-flowtype/dist/rules/typeColonSpacing/index' {
  declare module.exports: any;
}

declare module 'eslint-plugin-flowtype/dist/rules/typeColonSpacing/reporter' {
  declare module.exports: any;
}

declare module 'eslint-plugin-flowtype/dist/rules/typeIdMatch' {
  declare module.exports: any;
}

declare module 'eslint-plugin-flowtype/dist/rules/typeImportStyle' {
  declare module.exports: any;
}

declare module 'eslint-plugin-flowtype/dist/rules/unionIntersectionSpacing' {
  declare module.exports: any;
}

declare module 'eslint-plugin-flowtype/dist/rules/useFlowType' {
  declare module.exports: any;
}

declare module 'eslint-plugin-flowtype/dist/rules/validSyntax' {
  declare module.exports: any;
}

declare module 'eslint-plugin-flowtype/dist/utilities/checkFlowFileAnnotation' {
  declare module.exports: any;
}

declare module 'eslint-plugin-flowtype/dist/utilities/fuzzyStringMatch' {
  declare module.exports: any;
}

declare module 'eslint-plugin-flowtype/dist/utilities/getParameterName' {
  declare module.exports: any;
}

declare module 'eslint-plugin-flowtype/dist/utilities/getTokenAfterParens' {
  declare module.exports: any;
}

declare module 'eslint-plugin-flowtype/dist/utilities/getTokenBeforeParens' {
  declare module.exports: any;
}

declare module 'eslint-plugin-flowtype/dist/utilities/index' {
  declare module.exports: any;
}

declare module 'eslint-plugin-flowtype/dist/utilities/isFlowFile' {
  declare module.exports: any;
}

declare module 'eslint-plugin-flowtype/dist/utilities/isFlowFileAnnotation' {
  declare module.exports: any;
}

declare module 'eslint-plugin-flowtype/dist/utilities/iterateFunctionNodes' {
  declare module.exports: any;
}

declare module 'eslint-plugin-flowtype/dist/utilities/quoteName' {
  declare module.exports: any;
}

declare module 'eslint-plugin-flowtype/dist/utilities/spacingFixers' {
  declare module.exports: any;
}

// Filename aliases
declare module 'eslint-plugin-flowtype/dist/bin/addAssertions.js' {
  declare module.exports: $Exports<
    'eslint-plugin-flowtype/dist/bin/addAssertions'
  >;
}
declare module 'eslint-plugin-flowtype/dist/bin/checkDocs.js' {
  declare module.exports: $Exports<'eslint-plugin-flowtype/dist/bin/checkDocs'>;
}
declare module 'eslint-plugin-flowtype/dist/bin/checkTests.js' {
  declare module.exports: $Exports<
    'eslint-plugin-flowtype/dist/bin/checkTests'
  >;
}
declare module 'eslint-plugin-flowtype/dist/bin/utilities.js' {
  declare module.exports: $Exports<'eslint-plugin-flowtype/dist/bin/utilities'>;
}
declare module 'eslint-plugin-flowtype/dist/index.js' {
  declare module.exports: $Exports<'eslint-plugin-flowtype/dist/index'>;
}
declare module 'eslint-plugin-flowtype/dist/rules/arrayStyle/index.js' {
  declare module.exports: $Exports<
    'eslint-plugin-flowtype/dist/rules/arrayStyle/index'
  >;
}
declare module 'eslint-plugin-flowtype/dist/rules/arrayStyle/isSimpleType.js' {
  declare module.exports: $Exports<
    'eslint-plugin-flowtype/dist/rules/arrayStyle/isSimpleType'
  >;
}
declare module 'eslint-plugin-flowtype/dist/rules/arrayStyle/needWrap.js' {
  declare module.exports: $Exports<
    'eslint-plugin-flowtype/dist/rules/arrayStyle/needWrap'
  >;
}
declare module 'eslint-plugin-flowtype/dist/rules/arrayStyleComplexType.js' {
  declare module.exports: $Exports<
    'eslint-plugin-flowtype/dist/rules/arrayStyleComplexType'
  >;
}
declare module 'eslint-plugin-flowtype/dist/rules/arrayStyleSimpleType.js' {
  declare module.exports: $Exports<
    'eslint-plugin-flowtype/dist/rules/arrayStyleSimpleType'
  >;
}
declare module 'eslint-plugin-flowtype/dist/rules/booleanStyle.js' {
  declare module.exports: $Exports<
    'eslint-plugin-flowtype/dist/rules/booleanStyle'
  >;
}
declare module 'eslint-plugin-flowtype/dist/rules/defineFlowType.js' {
  declare module.exports: $Exports<
    'eslint-plugin-flowtype/dist/rules/defineFlowType'
  >;
}
declare module 'eslint-plugin-flowtype/dist/rules/delimiterDangle.js' {
  declare module.exports: $Exports<
    'eslint-plugin-flowtype/dist/rules/delimiterDangle'
  >;
}
declare module 'eslint-plugin-flowtype/dist/rules/genericSpacing.js' {
  declare module.exports: $Exports<
    'eslint-plugin-flowtype/dist/rules/genericSpacing'
  >;
}
declare module 'eslint-plugin-flowtype/dist/rules/newlineAfterFlowAnnotation.js' {
  declare module.exports: $Exports<
    'eslint-plugin-flowtype/dist/rules/newlineAfterFlowAnnotation'
  >;
}
declare module 'eslint-plugin-flowtype/dist/rules/noDupeKeys.js' {
  declare module.exports: $Exports<
    'eslint-plugin-flowtype/dist/rules/noDupeKeys'
  >;
}
declare module 'eslint-plugin-flowtype/dist/rules/noExistentialType.js' {
  declare module.exports: $Exports<
    'eslint-plugin-flowtype/dist/rules/noExistentialType'
  >;
}
declare module 'eslint-plugin-flowtype/dist/rules/noFlowFixMeComments.js' {
  declare module.exports: $Exports<
    'eslint-plugin-flowtype/dist/rules/noFlowFixMeComments'
  >;
}
declare module 'eslint-plugin-flowtype/dist/rules/noMutableArray.js' {
  declare module.exports: $Exports<
    'eslint-plugin-flowtype/dist/rules/noMutableArray'
  >;
}
declare module 'eslint-plugin-flowtype/dist/rules/noPrimitiveConstructorTypes.js' {
  declare module.exports: $Exports<
    'eslint-plugin-flowtype/dist/rules/noPrimitiveConstructorTypes'
  >;
}
declare module 'eslint-plugin-flowtype/dist/rules/noTypesMissingFileAnnotation.js' {
  declare module.exports: $Exports<
    'eslint-plugin-flowtype/dist/rules/noTypesMissingFileAnnotation'
  >;
}
declare module 'eslint-plugin-flowtype/dist/rules/noUnusedExpressions.js' {
  declare module.exports: $Exports<
    'eslint-plugin-flowtype/dist/rules/noUnusedExpressions'
  >;
}
declare module 'eslint-plugin-flowtype/dist/rules/noWeakTypes.js' {
  declare module.exports: $Exports<
    'eslint-plugin-flowtype/dist/rules/noWeakTypes'
  >;
}
declare module 'eslint-plugin-flowtype/dist/rules/objectTypeDelimiter.js' {
  declare module.exports: $Exports<
    'eslint-plugin-flowtype/dist/rules/objectTypeDelimiter'
  >;
}
declare module 'eslint-plugin-flowtype/dist/rules/requireCompoundTypeAlias.js' {
  declare module.exports: $Exports<
    'eslint-plugin-flowtype/dist/rules/requireCompoundTypeAlias'
  >;
}
declare module 'eslint-plugin-flowtype/dist/rules/requireExactType.js' {
  declare module.exports: $Exports<
    'eslint-plugin-flowtype/dist/rules/requireExactType'
  >;
}
declare module 'eslint-plugin-flowtype/dist/rules/requireParameterType.js' {
  declare module.exports: $Exports<
    'eslint-plugin-flowtype/dist/rules/requireParameterType'
  >;
}
declare module 'eslint-plugin-flowtype/dist/rules/requireReturnType.js' {
  declare module.exports: $Exports<
    'eslint-plugin-flowtype/dist/rules/requireReturnType'
  >;
}
declare module 'eslint-plugin-flowtype/dist/rules/requireTypesAtTop.js' {
  declare module.exports: $Exports<
    'eslint-plugin-flowtype/dist/rules/requireTypesAtTop'
  >;
}
declare module 'eslint-plugin-flowtype/dist/rules/requireValidFileAnnotation.js' {
  declare module.exports: $Exports<
    'eslint-plugin-flowtype/dist/rules/requireValidFileAnnotation'
  >;
}
declare module 'eslint-plugin-flowtype/dist/rules/requireVariableType.js' {
  declare module.exports: $Exports<
    'eslint-plugin-flowtype/dist/rules/requireVariableType'
  >;
}
declare module 'eslint-plugin-flowtype/dist/rules/semi.js' {
  declare module.exports: $Exports<'eslint-plugin-flowtype/dist/rules/semi'>;
}
declare module 'eslint-plugin-flowtype/dist/rules/sortKeys.js' {
  declare module.exports: $Exports<
    'eslint-plugin-flowtype/dist/rules/sortKeys'
  >;
}
declare module 'eslint-plugin-flowtype/dist/rules/spaceAfterTypeColon.js' {
  declare module.exports: $Exports<
    'eslint-plugin-flowtype/dist/rules/spaceAfterTypeColon'
  >;
}
declare module 'eslint-plugin-flowtype/dist/rules/spaceBeforeGenericBracket.js' {
  declare module.exports: $Exports<
    'eslint-plugin-flowtype/dist/rules/spaceBeforeGenericBracket'
  >;
}
declare module 'eslint-plugin-flowtype/dist/rules/spaceBeforeTypeColon.js' {
  declare module.exports: $Exports<
    'eslint-plugin-flowtype/dist/rules/spaceBeforeTypeColon'
  >;
}
declare module 'eslint-plugin-flowtype/dist/rules/typeColonSpacing/evaluateFunctions.js' {
  declare module.exports: $Exports<
    'eslint-plugin-flowtype/dist/rules/typeColonSpacing/evaluateFunctions'
  >;
}
declare module 'eslint-plugin-flowtype/dist/rules/typeColonSpacing/evaluateObjectTypeIndexer.js' {
  declare module.exports: $Exports<
    'eslint-plugin-flowtype/dist/rules/typeColonSpacing/evaluateObjectTypeIndexer'
  >;
}
declare module 'eslint-plugin-flowtype/dist/rules/typeColonSpacing/evaluateObjectTypeProperty.js' {
  declare module.exports: $Exports<
    'eslint-plugin-flowtype/dist/rules/typeColonSpacing/evaluateObjectTypeProperty'
  >;
}
declare module 'eslint-plugin-flowtype/dist/rules/typeColonSpacing/evaluateReturnType.js' {
  declare module.exports: $Exports<
    'eslint-plugin-flowtype/dist/rules/typeColonSpacing/evaluateReturnType'
  >;
}
declare module 'eslint-plugin-flowtype/dist/rules/typeColonSpacing/evaluateTypeCastExpression.js' {
  declare module.exports: $Exports<
    'eslint-plugin-flowtype/dist/rules/typeColonSpacing/evaluateTypeCastExpression'
  >;
}
declare module 'eslint-plugin-flowtype/dist/rules/typeColonSpacing/evaluateTypical.js' {
  declare module.exports: $Exports<
    'eslint-plugin-flowtype/dist/rules/typeColonSpacing/evaluateTypical'
  >;
}
declare module 'eslint-plugin-flowtype/dist/rules/typeColonSpacing/evaluateVariables.js' {
  declare module.exports: $Exports<
    'eslint-plugin-flowtype/dist/rules/typeColonSpacing/evaluateVariables'
  >;
}
declare module 'eslint-plugin-flowtype/dist/rules/typeColonSpacing/index.js' {
  declare module.exports: $Exports<
    'eslint-plugin-flowtype/dist/rules/typeColonSpacing/index'
  >;
}
declare module 'eslint-plugin-flowtype/dist/rules/typeColonSpacing/reporter.js' {
  declare module.exports: $Exports<
    'eslint-plugin-flowtype/dist/rules/typeColonSpacing/reporter'
  >;
}
declare module 'eslint-plugin-flowtype/dist/rules/typeIdMatch.js' {
  declare module.exports: $Exports<
    'eslint-plugin-flowtype/dist/rules/typeIdMatch'
  >;
}
declare module 'eslint-plugin-flowtype/dist/rules/typeImportStyle.js' {
  declare module.exports: $Exports<
    'eslint-plugin-flowtype/dist/rules/typeImportStyle'
  >;
}
declare module 'eslint-plugin-flowtype/dist/rules/unionIntersectionSpacing.js' {
  declare module.exports: $Exports<
    'eslint-plugin-flowtype/dist/rules/unionIntersectionSpacing'
  >;
}
declare module 'eslint-plugin-flowtype/dist/rules/useFlowType.js' {
  declare module.exports: $Exports<
    'eslint-plugin-flowtype/dist/rules/useFlowType'
  >;
}
declare module 'eslint-plugin-flowtype/dist/rules/validSyntax.js' {
  declare module.exports: $Exports<
    'eslint-plugin-flowtype/dist/rules/validSyntax'
  >;
}
declare module 'eslint-plugin-flowtype/dist/utilities/checkFlowFileAnnotation.js' {
  declare module.exports: $Exports<
    'eslint-plugin-flowtype/dist/utilities/checkFlowFileAnnotation'
  >;
}
declare module 'eslint-plugin-flowtype/dist/utilities/fuzzyStringMatch.js' {
  declare module.exports: $Exports<
    'eslint-plugin-flowtype/dist/utilities/fuzzyStringMatch'
  >;
}
declare module 'eslint-plugin-flowtype/dist/utilities/getParameterName.js' {
  declare module.exports: $Exports<
    'eslint-plugin-flowtype/dist/utilities/getParameterName'
  >;
}
declare module 'eslint-plugin-flowtype/dist/utilities/getTokenAfterParens.js' {
  declare module.exports: $Exports<
    'eslint-plugin-flowtype/dist/utilities/getTokenAfterParens'
  >;
}
declare module 'eslint-plugin-flowtype/dist/utilities/getTokenBeforeParens.js' {
  declare module.exports: $Exports<
    'eslint-plugin-flowtype/dist/utilities/getTokenBeforeParens'
  >;
}
declare module 'eslint-plugin-flowtype/dist/utilities/index.js' {
  declare module.exports: $Exports<
    'eslint-plugin-flowtype/dist/utilities/index'
  >;
}
declare module 'eslint-plugin-flowtype/dist/utilities/isFlowFile.js' {
  declare module.exports: $Exports<
    'eslint-plugin-flowtype/dist/utilities/isFlowFile'
  >;
}
declare module 'eslint-plugin-flowtype/dist/utilities/isFlowFileAnnotation.js' {
  declare module.exports: $Exports<
    'eslint-plugin-flowtype/dist/utilities/isFlowFileAnnotation'
  >;
}
declare module 'eslint-plugin-flowtype/dist/utilities/iterateFunctionNodes.js' {
  declare module.exports: $Exports<
    'eslint-plugin-flowtype/dist/utilities/iterateFunctionNodes'
  >;
}
declare module 'eslint-plugin-flowtype/dist/utilities/quoteName.js' {
  declare module.exports: $Exports<
    'eslint-plugin-flowtype/dist/utilities/quoteName'
  >;
}
declare module 'eslint-plugin-flowtype/dist/utilities/spacingFixers.js' {
  declare module.exports: $Exports<
    'eslint-plugin-flowtype/dist/utilities/spacingFixers'
  >;
}
