How can I create content-types on init of a custom plugin?

Thanks for the help!
It turns that a content type in this contentTypes object, needs to have all the data you pasted, inside an object ‘schema’. For example

'content-type-a': { // should re-use the singularName of the content-type
          schema: {
            info: {
                tableName: 'content-type',
                singularName: 'content-type-a', // kebab-case mandatory
                pluralName: 'content-type-as', // kebab-case mandatory
                displayName: 'Content Type A',
                description: 'A regular content type',
                kind: 'collectionType'
            },
            options: {
                draftAndPublish: true,
            },
            pluginOptions: {
                'content-manager': {
                    visible: false
                },
                'content-type-builder': {
                    visible: false
                }
            },
            attributes: {
                name: {
                    type: 'string',
                    min: 1,
                    max: 50,
                    configurable: false
                },
            }
        }
      }