import * as ts from 'typescript'; export * from './build-prop-type-interface'; /** * If a class declaration a react class? * @param classDeclaration * @param typeChecker */ export declare function isReactComponent(classDeclaration: ts.ClassDeclaration, typeChecker: ts.TypeChecker): boolean; /** * Determine if a ts.HeritageClause is React HeritageClause * * @example `extends React.Component<{}, {}>` is a React HeritageClause * * @todo: this is lazy. Use the typeChecker instead * @param clause */ export declare function isReactHeritageClause(clause: ts.HeritageClause): boolean; /** * Return true if a statement is a React propType assignment statement * @example * SomeComponent.propTypes = { foo: React.PropTypes.string }; * @param statement */ export declare function isReactPropTypeAssignmentStatement(statement: ts.Statement): statement is ts.ExpressionStatement; /** * Does class member have a "static" member? * @param classMember */ export declare function hasStaticModifier(classMember: ts.ClassElement): boolean; /** * Is class member a React "propTypes" member? * @param classMember * @param sourceFile */ export declare function isPropTypesMember(classMember: ts.ClassElement, sourceFile: ts.SourceFile): boolean; /** * Get component name off of a propType assignment statement * @param propTypeAssignment * @param sourceFile */ export declare function getComponentName(propTypeAssignment: ts.Statement, sourceFile: ts.SourceFile): string; /** * Convert react stateless function to arrow function * @example * Before: * function Hello(message) { * return