define([], function() {
'use strict';
/**
* Defines types of ABCS extensions.
*
* @AbcsExtension stable
* @typedef extensions.dt/js/spi/ExtensionManager~ExtensionType
* @version 16.3.1
* @property {string} uicomponent - Visual/UI custom component.
* @property {string} sharedObject - Application wide shared custom object.
* @property {string} businessObjectsProvider - Business Objects Provider.
* @property {string} theme - Theme
*/
function ExtensionType() {
AbcsLib.throwStaticClassError();
}
/**
* Visual/UI custom component.
*
* @type {String}
*/
ExtensionType.uicomponent = 'uicomponent';
/**
* App wide shared custom object.
*
* @type {String}
*/
ExtensionType.sharedObject = 'sharedObject';
/**
* Business Objects Provider.
*
* @type {String}
*/
ExtensionType.businessObjectsProvider = 'businessObjectsProvider';
/**
* Theme
*
* @type {String}
*/
ExtensionType.theme = 'theme';
/**
* "Freeform extension. May be used to aggregate dependencies or to tweak
* objects provided by other extensions.
*/
ExtensionType.freeform = 'freeform';
ExtensionType.VALUES = [
ExtensionType.uicomponent,
ExtensionType.sharedObject,
ExtensionType.businessObjectsProvider,
ExtensionType.theme
//ExtensionType.freeform
];
return ExtensionType;
});