define(["require", "exports"], function (require, exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", { value: true });
    exports.NON_CUSTOM_TAG_KEYS = exports.PRE_DESTROY = exports.POST_CONSTRUCT = exports.DESIGN_PARAM_TYPES = exports.PARAM_TYPES = exports.TAGGED_PROP = exports.TAGGED = exports.MULTI_INJECT_TAG = exports.INJECT_TAG = exports.OPTIONAL_TAG = exports.UNMANAGED_TAG = exports.NAME_TAG = exports.NAMED_TAG = void 0;
    exports.NAMED_TAG = 'named';
    exports.NAME_TAG = 'name';
    exports.UNMANAGED_TAG = 'unmanaged';
    exports.OPTIONAL_TAG = 'optional';
    exports.INJECT_TAG = 'inject';
    exports.MULTI_INJECT_TAG = 'multi_inject';
    exports.TAGGED = 'inversify:tagged';
    exports.TAGGED_PROP = 'inversify:tagged_props';
    exports.PARAM_TYPES = 'inversify:paramtypes';
    exports.DESIGN_PARAM_TYPES = 'design:paramtypes';
    exports.POST_CONSTRUCT = 'post_construct';
    exports.PRE_DESTROY = 'pre_destroy';
    function getNonCustomTagKeys() {
        return [
            exports.INJECT_TAG,
            exports.MULTI_INJECT_TAG,
            exports.NAME_TAG,
            exports.UNMANAGED_TAG,
            exports.NAMED_TAG,
            exports.OPTIONAL_TAG,
        ];
    }
    exports.NON_CUSTOM_TAG_KEYS = getNonCustomTagKeys();
});
