using System.Runtime.InteropServices;

namespace Decal.Interop.Controls;

[TypeLibType(TypeLibTypeFlags.FHidden)]
[ClassInterface(ClassInterfaceType.None)]
public sealed class IEditEvents_SinkHelper : IEditEvents
{
	public IEditEvents_DestroyEventHandler m_DestroyDelegate;

	public IEditEvents_BeginEventHandler m_BeginDelegate;

	public IEditEvents_ChangeEventHandler m_ChangeDelegate;

	public IEditEvents_EndEventHandler m_EndDelegate;

	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 Begin(int 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 Change(int P_0, string P_1)
	{
		//Error decoding local variables: Signature type sequence must have at least one element.
		if (m_ChangeDelegate != null)
		{
			m_ChangeDelegate(P_0, P_1);
		}
	}

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

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