Configurations can be more complicated groups of fields represented by another TypeScript class. Those classes can have multiple properties and use all the same features of the properties in the parent configuration class.
Complex Types can be shared between gears. Complex types defined within gears can be used by Templates. For more information, see Imports & Exports.