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

namespace Pkmnlib.Generated
{
    internal static class EvolutionData
    {
        /// <param name="level">unsigned char</param>
        /// <param name="into">const PokemonSpecies *</param>
        /// <returns>const EvolutionData *</returns>
        [DllImport("pkmnLib", CallingConvention = CallingConvention.Cdecl, EntryPoint= "PkmnLib_EvolutionData_CreateLevelEvolution")]
        internal static extern IntPtr CreateLevelEvolution(byte level, IntPtr into);

        /// <param name="friendship">unsigned char</param>
        /// <param name="into">const PokemonSpecies *</param>
        /// <returns>const EvolutionData *</returns>
        [DllImport("pkmnLib", CallingConvention = CallingConvention.Cdecl, EntryPoint= "PkmnLib_EvolutionData_CreateFriendshipEvolution")]
        internal static extern IntPtr CreateFriendshipEvolution(byte friendship, IntPtr into);

        /// <param name="move">const MoveData *</param>
        /// <param name="into">const PokemonSpecies *</param>
        /// <returns>const EvolutionData *</returns>
        [DllImport("pkmnLib", CallingConvention = CallingConvention.Cdecl, EntryPoint= "PkmnLib_EvolutionData_CreateKnownMoveEvolution")]
        internal static extern IntPtr CreateKnownMoveEvolution(IntPtr move, IntPtr into);

        /// <param name="location">const char *</param>
        /// <param name="into">const PokemonSpecies *</param>
        /// <returns>const EvolutionData *</returns>
        [DllImport("pkmnLib", CallingConvention = CallingConvention.Cdecl, EntryPoint= "PkmnLib_EvolutionData_CreateLocationEvolution")]
        internal static extern IntPtr CreateLocationEvolution(IntPtr location, IntPtr into);

    }
}
