using System.Runtime.InteropServices;
using Decal.Interop.Inject;

namespace Decal.Interop.Controls;

[ClassInterface(ClassInterfaceType.None)]
[TypeLibType(TypeLibTypeFlags.FHidden)]
public sealed class ICommandEvents_SinkHelper : ICommandEvents
{
	public ICommandEvents_DestroyEventHandler m_DestroyDelegate;

	public ICommandEvents_HitEventHandler m_HitDelegate;

	public ICommandEvents_UnhitEventHandler m_UnhitDelegate;

	public ICommandEvents_AcceptedEventHandler m_AcceptedDelegate;

	public ICommandEvents_CanceledEventHandler m_CanceledDelegate;

	public int m_dwCookie;

	public void Destroy(int P_0)
	{
		//Error decoding local variables: Signature type sequence must have at least one element.
		if (m_DestroyDelegate != null)
		{
			m_DestroyDelegate(P_0);
		}
	}

	public void Hit(int P_0)
	{
		//Error decoding local variables: Signature type sequence must have at least one element.
		if (m_HitDelegate != null)
		{
			m_HitDelegate(P_0);
		}
	}

	public void Unhit(int P_0)
	{
		//Error decoding local variables: Signature type sequence must have at least one element.
		if (m_UnhitDelegate != null)
		{
			m_UnhitDelegate(P_0);
		}
	}

	public void Accepted(int P_0)
	{
		//Error decoding local variables: Signature type sequence must have at least one element.
		if (m_AcceptedDelegate != null)
		{
			m_AcceptedDelegate(P_0);
		}
	}

	public void Canceled(int P_0)
	{
		//Error decoding local variables: Signature type sequence must have at least one element.
		if (m_CanceledDelegate != null)
		{
			m_CanceledDelegate(P_0);
		}
	}

	internal ICommandEvents_SinkHelper()
	{
		//Error decoding local variables: Signature type sequence must have at least one element.
		m_dwCookie = 0;
		m_DestroyDelegate = null;
		m_HitDelegate = null;
		m_UnhitDelegate = null;
		m_AcceptedDelegate = null;
		m_CanceledDelegate = null;
	}
}
