using System.Runtime.InteropServices;

namespace Decal.Interop.Input;

[TypeLibType(TypeLibTypeFlags.FHidden)]
[ClassInterface(ClassInterfaceType.None)]
public sealed class IInputBufferEvents_SinkHelper : IInputBufferEvents
{
	public IInputBufferEvents_BeginEventHandler m_BeginDelegate;

	public IInputBufferEvents_EndEventHandler m_EndDelegate;

	public IInputBufferEvents_EventEventHandler m_EventDelegate;

	public int m_dwCookie;

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

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

	public void Event(InputBuffer P_0, int P_1, object P_2)
	{
		//Error decoding local variables: Signature type sequence must have at least one element.
		if (m_EventDelegate != null)
		{
			m_EventDelegate(P_0, P_1, P_2);
		}
	}

	internal IInputBufferEvents_SinkHelper()
	{
		//Error decoding local variables: Signature type sequence must have at least one element.
		m_dwCookie = 0;
		m_BeginDelegate = null;
		m_EndDelegate = null;
		m_EventDelegate = null;
	}
}
