tests/cases/conformance/classes/classDeclarations/classAbstractKeyword/classAbstractDeclarations.d.ts(2,5): error TS1242: 'abstract' modifier can only appear on a class or method declaration.
tests/cases/conformance/classes/classDeclarations/classAbstractKeyword/classAbstractDeclarations.d.ts(2,28): error TS1183: An implementation cannot be declared in ambient contexts.
tests/cases/conformance/classes/classDeclarations/classAbstractKeyword/classAbstractDeclarations.d.ts(11,15): error TS2515: Non-abstract class 'CC' does not implement inherited abstract member 'foo' from class 'AA'.
tests/cases/conformance/classes/classDeclarations/classAbstractKeyword/classAbstractDeclarations.d.ts(13,15): error TS2515: Non-abstract class 'DD' does not implement inherited abstract member 'foo' from class 'BB'.
tests/cases/conformance/classes/classDeclarations/classAbstractKeyword/classAbstractDeclarations.d.ts(17,15): error TS2515: Non-abstract class 'FF' does not implement inherited abstract member 'foo' from class 'CC'.


==== tests/cases/conformance/classes/classDeclarations/classAbstractKeyword/classAbstractDeclarations.d.ts (5 errors) ====
    declare abstract class A {
        abstract constructor() {}
        ~~~~~~~~
!!! error TS1242: 'abstract' modifier can only appear on a class or method declaration.
                               ~
!!! error TS1183: An implementation cannot be declared in ambient contexts.
    }
    
    declare abstract class AA {
        abstract foo();
    }
    
    declare abstract class BB extends AA {}
    
    declare class CC extends AA {}
                  ~~
!!! error TS2515: Non-abstract class 'CC' does not implement inherited abstract member 'foo' from class 'AA'.
    
    declare class DD extends BB {}
                  ~~
!!! error TS2515: Non-abstract class 'DD' does not implement inherited abstract member 'foo' from class 'BB'.
    
    declare abstract class EE extends BB {}
    
    declare class FF extends CC {}
                  ~~
!!! error TS2515: Non-abstract class 'FF' does not implement inherited abstract member 'foo' from class 'CC'.
    
    declare abstract class GG extends CC {}
    
    declare abstract class AAA {}
    
    declare abstract class BBB extends AAA {}
    
    declare class CCC extends AAA {}