privateInterfaceProperties.ts(4,7): error TS2420: Class 'c1' incorrectly implements interface 'i1'.
  Property 'name' is private in type 'c1' but not in type 'i1'.
privateInterfaceProperties.ts(4,34): error TS2564: Property 'name' has no initializer and is not definitely assigned in the constructor.
privateInterfaceProperties.ts(7,33): error TS2564: Property 'name' has no initializer and is not definitely assigned in the constructor.


==== privateInterfaceProperties.ts (3 errors) ====
    interface i1 { name:string; }
     
    // should be an error 
    class c1 implements i1 { private name:string; }
          ~~
!!! error TS2420: Class 'c1' incorrectly implements interface 'i1'.
!!! error TS2420:   Property 'name' is private in type 'c1' but not in type 'i1'.
                                     ~~~~
!!! error TS2564: Property 'name' has no initializer and is not definitely assigned in the constructor.
     
    // should be ok 
    class c2 implements i1 { public name:string; }
                                    ~~~~
!!! error TS2564: Property 'name' has no initializer and is not definitely assigned in the constructor.
    
     