using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Security;

namespace Decal.Interop.Inject;

[ComImport]
[TypeLibType(4096)]
[InterfaceType(2)]
[Guid("7499EB61-6992-4E21-8A55-CF44D44C0A07")]
[SuppressUnmanagedCodeSecurity]
public interface IPagerEvents
{
	[MethodImpl(MethodImplOptions.PreserveSig | MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
	[DispId(1)]
	void Destroy(int nID);

	[MethodImpl(MethodImplOptions.PreserveSig | MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
	[DispId(6)]
	void Change(int nID, int nCommand, int nX, int nY);

	[MethodImpl(MethodImplOptions.PreserveSig | MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
	[DispId(7)]
	bool GetNextPosition(int nID, int nCommand, [In][Out] ref int nX, [In][Out] ref int nY);
}
