"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.BuiltinTypes = void 0;
const Types_1 = require("../../../Types");
let typeIndex = 0;
exports.BuiltinTypes = {
    UnknownObject: {
        Type: Types_1.Il2CppTypeEnum.IL2CPP_TYPE_CLASS,
        Namespace: 'il2js',
        TypeName: 'UnknownObject',
        Indirection: 2,
        TypeIndex: --typeIndex,
    },
    NativeStruct: {
        Type: Types_1.Il2CppTypeEnum.IL2CPP_TYPE_CLASS,
        Namespace: 'il2js',
        TypeName: 'NativeStruct',
        Indirection: 2,
        TypeIndex: --typeIndex,
    },
    ManagedArray: (type) => ({
        // TODO: Make this a method that takes the type arguments!
        Type: Types_1.Il2CppTypeEnum.IL2CPP_TYPE_CLASS,
        Namespace: 'System.Internal',
        TypeName: 'ManagedArray',
        Indirection: 2,
        TypeArguments: [type],
        TypeIndex: --typeIndex,
    }),
};
//# sourceMappingURL=Constants.js.map