tests/cases/conformance/jsx/file.jsx(1,18): error TS18042: 'Prop' is a type and cannot be imported in JavaScript files. Use 'import("./component").Prop' in a JSDoc type annotation.
tests/cases/conformance/jsx/file.jsx(4,9): error TS2657: JSX expressions must have one parent element.
tests/cases/conformance/jsx/file.jsx(4,16): error TS1003: Identifier expected.
tests/cases/conformance/jsx/file.jsx(4,17): error TS2693: 'Prop' only refers to a type, but is being used as a value here.
tests/cases/conformance/jsx/file.jsx(4,17): error TS17008: JSX element 'Prop' has no corresponding closing tag.
tests/cases/conformance/jsx/file.jsx(4,38): error TS1382: Unexpected token. Did you mean `{'>'}` or `&gt;`?
tests/cases/conformance/jsx/file.jsx(5,1): error TS1005: '</' expected.


==== tests/cases/conformance/jsx/component.d.ts (0 errors) ====
    import * as React from "react";
    export declare class MyComp<P> extends React.Component<P, {}> {
        internalProp: P;
    }
    
    export interface Prop {
        a: number,
        b: string
    }
    
==== tests/cases/conformance/jsx/file.jsx (7 errors) ====
    import { MyComp, Prop } from "./component";
                     ~~~~
!!! error TS18042: 'Prop' is a type and cannot be imported in JavaScript files. Use 'import("./component").Prop' in a JSDoc type annotation.
    import * as React from "react";
    
    let x = <MyComp<Prop> a={10} b="hi" />; // error, no type arguments in js
            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                   ~
!!! error TS1003: Identifier expected.
                    ~~~~
!!! error TS2693: 'Prop' only refers to a type, but is being used as a value here.
                    ~~~~
!!! error TS17008: JSX element 'Prop' has no corresponding closing tag.
                                         ~
!!! error TS1382: Unexpected token. Did you mean `{'>'}` or `&gt;`?
    
    
!!! error TS2657: JSX expressions must have one parent element.
    
!!! error TS1005: '</' expected.