The syntax 'type X with .' is reserved for augmentations. Types whose representations are hidden but which have members are ...

The syntax 'type X with ...' is reserved for augmentations. Types whose representations are hidden but which have members are now declared in signatures using 'type X = ...'. You may also need to add the '[] attribute to the type definition in the signature