// AUTOMATICALLY GENERATED, DO NOT EDIT
using System;
using System.Runtime.InteropServices;

namespace Pkmnlib.Generated
{
    internal static class ExperienceLibrary
    {
        /// <returns>ExperienceLibrary *</returns>
        [DllImport("libpkmnLib", CallingConvention = CallingConvention.Cdecl, EntryPoint= "PkmnLib_ExperienceLibrary_Construct")]
        internal static extern IntPtr Construct();

        /// <param name="p">ExperienceLibrary *</param>
        /// <param name="faintedMon">Creature *</param>
        /// <param name="opponents">const Creature * *</param>
        /// <param name="numberOfOpponents">long unsigned int</param>
        /// <returns>unsigned char</returns>
        [DllImport("libpkmnLib", CallingConvention = CallingConvention.Cdecl, EntryPoint= "PkmnLib_ExperienceLibrary_HandleExperienceGain")]
        internal static extern byte HandleExperienceGain(IntPtr p, IntPtr faintedMon, IntPtr opponents, ulong numberOfOpponents);

        /// <param name="p">ExperienceLibrary *</param>
        /// <returns>void</returns>
        [DllImport("libpkmnLib", CallingConvention = CallingConvention.Cdecl, EntryPoint= "PkmnLib_ExperienceLibrary_Destruct")]
        internal static extern void Destruct(IntPtr p);

    }
}
