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

namespace Decal.Interop.Core;

[ComImport]
[Guid("CB8875CD-ABC2-42AD-8175-8908706EED37")]
[ComSourceInterfaces("Decal.Interop.Core.IACHooksEvents\0\0")]
[TypeLibType(2)]
[SuppressUnmanagedCodeSecurity]
[ClassInterface(0)]
public class ACHooksClass : IACHooks, ACHooks, IACHooksEvents_Event
{
	[DispId(1610743810)]
	public virtual extern int HooksAvail
	{
		[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
		[DispId(1610743810)]
		get;
	}

	[DispId(1610743811)]
	public virtual extern bool HooksAvailEx
	{
		[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
		[DispId(1610743811)]
		get;
	}

	[DispId(1610743818)]
	public virtual extern int CurrentSelection
	{
		[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
		[DispId(1610743818)]
		get;
		[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
		[DispId(1610743818)]
		[param: In]
		set;
	}

	[DispId(1610743820)]
	public virtual extern int PreviousSelection
	{
		[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
		[DispId(1610743820)]
		get;
		[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
		[DispId(1610743820)]
		[param: In]
		set;
	}

	[DispId(1610743822)]
	public virtual extern int SelectedStackCount
	{
		[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
		[DispId(1610743822)]
		get;
		[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
		[DispId(1610743822)]
		[param: In]
		set;
	}

	[DispId(1610743824)]
	public virtual extern int MaxSelectedStackCount
	{
		[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
		[DispId(1610743824)]
		get;
	}

	[DispId(1610743826)]
	public virtual extern tagRECT AC3DRegionRect
	{
		[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
		[DispId(1610743826)]
		get;
	}

	[DispId(1610743827)]
	public virtual extern IntPtr AC3DRegionRectPtr
	{
		[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
		[DispId(1610743827)]
		get;
	}

	[DispId(1610743828)]
	public virtual extern tagRECT ACWindowRect
	{
		[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
		[DispId(1610743828)]
		get;
	}

	[DispId(1610743829)]
	public virtual extern bool ChatState
	{
		[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
		[DispId(1610743829)]
		get;
	}

	[DispId(1610743830)]
	public virtual extern int BusyState
	{
		[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
		[DispId(1610743830)]
		get;
	}

	[DispId(1610743831)]
	public virtual extern int BusyStateID
	{
		[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
		[DispId(1610743831)]
		get;
	}

	[DispId(1610743832)]
	public virtual extern int PointerState
	{
		[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
		[DispId(1610743832)]
		get;
	}

	[DispId(1610743833)]
	public virtual extern int VendorID
	{
		[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
		[DispId(1610743833)]
		get;
	}

	[DispId(1610743840)]
	public virtual extern int CombatMode
	{
		[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
		[DispId(1610743840)]
		get;
	}

	[DispId(1610743844)]
	public virtual extern int CommandInterpreter
	{
		[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
		[DispId(1610743844)]
		get;
	}

	[DispId(1610743858)]
	public virtual extern double HeadingDegrees
	{
		[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
		[DispId(1610743858)]
		get;
	}

	[DispId(1610743859)]
	public virtual extern double HeadingRadians
	{
		[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
		[DispId(1610743859)]
		get;
	}

	[DispId(1610743860)]
	public virtual extern int Landcell
	{
		[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
		[DispId(1610743860)]
		get;
	}

	[DispId(1610743861)]
	public virtual extern double LocationX
	{
		[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
		[DispId(1610743861)]
		get;
	}

	[DispId(1610743862)]
	public virtual extern double LocationY
	{
		[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
		[DispId(1610743862)]
		get;
	}

	[DispId(1610743863)]
	public virtual extern double LocationZ
	{
		[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
		[DispId(1610743863)]
		get;
	}

	[DispId(1610743864)]
	public virtual extern eTrainLevel SkillTrainLevel
	{
		[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
		[DispId(1610743864)]
		get;
	}

	[DispId(1610743865)]
	public virtual extern int SkillTotalXP
	{
		[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
		[DispId(1610743865)]
		get;
	}

	[DispId(1610743866)]
	public virtual extern int SkillFreePoints
	{
		[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
		[DispId(1610743866)]
		get;
	}

	[DispId(1610743867)]
	public virtual extern int SkillClicks
	{
		[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
		[DispId(1610743867)]
		get;
	}

	[DispId(1610743868)]
	public virtual extern int AttributeTotalXP
	{
		[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
		[DispId(1610743868)]
		get;
	}

	[DispId(1610743869)]
	public virtual extern int AttributeClicks
	{
		[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
		[DispId(1610743869)]
		get;
	}

	[DispId(1610743870)]
	public virtual extern int AttributeStart
	{
		[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
		[DispId(1610743870)]
		get;
	}

	[DispId(1610743871)]
	public virtual extern int VitalTotalXP
	{
		[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
		[DispId(1610743871)]
		get;
	}

	[DispId(1610743872)]
	public virtual extern int VitalClicks
	{
		[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
		[DispId(1610743872)]
		get;
	}

	[DispId(1610743873)]
	public virtual extern int Vital
	{
		[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
		[DispId(1610743873)]
		get;
	}

	[DispId(1610743874)]
	public virtual extern int Attribute
	{
		[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
		[DispId(1610743874)]
		get;
	}

	[DispId(1610743875)]
	public virtual extern int Skill
	{
		[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
		[DispId(1610743875)]
		get;
	}

	[DispId(1610743876)]
	public virtual extern int Misc
	{
		[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
		[DispId(1610743876)]
		get;
	}

	[DispId(1610743888)]
	public virtual extern int OpenedContainer
	{
		[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
		[DispId(1610743888)]
		get;
	}

	[DispId(1610743894)]
	public virtual extern int CallerRefInstanceInternal
	{
		[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
		[DispId(1610743894)]
		[param: In]
		set;
	}

	public virtual extern event IACHooksEvents_ObjectDestroyedEventHandler ObjectDestroyed;

	public virtual extern event IACHooksEvents_ChatTextInterceptEventHandler ChatTextIntercept;

	public virtual extern event IACHooksEvents_ChatParserInterceptEventHandler ChatParserIntercept;

	public virtual extern event IACHooksEvents_StatusTextInterceptEventHandler StatusTextIntercept;

	public virtual extern event IACHooksEvents_ObjectSelectedEventHandler ObjectSelected;

	public virtual extern event IACHooksEvents_MessageProcessedEventHandler MessageProcessed;

	public virtual extern event IACHooksEvents_AC3DRegionChangedEventHandler AC3DRegionChanged;

	public virtual extern event IACHooksEvents_ContainerOpenedEventHandler ContainerOpened;

	public virtual extern event IACHooksEvents_ChatClickInterceptEventHandler ChatClickIntercept;

	public virtual extern event IACHooksEvents_RenderPreUIEventHandler RenderPreUI;

	[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
	[DispId(1610743808)]
	[TypeLibFunc(64)]
	public virtual extern void SetIDFilter([In][MarshalAs(UnmanagedType.Interface)] IIdentifyFilter pIDFilter);

	[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
	[DispId(1610743809)]
	[TypeLibFunc(64)]
	public virtual extern void SetDecal([In][MarshalAs(UnmanagedType.IUnknown)] object pDecal);

	[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
	[DispId(1610743812)]
	public virtual extern void AddChatText([In][MarshalAs(UnmanagedType.BStr)] string szText, int lColor, int lTarget);

	[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
	[DispId(1610743813)]
	public virtual extern void AddChatTextRaw([In][MarshalAs(UnmanagedType.BStr)] string szText, int lColor, int lTarget);

	[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
	[DispId(1610743814)]
	public virtual extern void AddStatusText([In][MarshalAs(UnmanagedType.BStr)] string Text);

	[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
	[DispId(1610743815)]
	public virtual extern void InvokeChatParser([In][MarshalAs(UnmanagedType.BStr)] string Text);

	[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
	[DispId(1610743816)]
	public virtual extern void SetIdleTime([In] double dIdleTimeout);

	[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
	[DispId(1610743817)]
	public virtual extern void Logout();

	[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
	[DispId(1610743825)]
	public virtual extern void SetCursorPosition([In] int lX, int lY);

	[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
	[DispId(1610743834)]
	public virtual extern void VendorBuyListAdd([In] int lID, int lAmount);

	[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
	[DispId(1610743835)]
	public virtual extern void VendorBuyListClear();

	[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
	[DispId(1610743836)]
	public virtual extern void VendorBuyAll();

	[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
	[DispId(1610743837)]
	public virtual extern void VendorSellListAdd([In] int lID);

	[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
	[DispId(1610743838)]
	public virtual extern void VendorSellListClear();

	[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
	[DispId(1610743839)]
	public virtual extern void VendorSellAll();

	[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
	[DispId(1610743841)]
	public virtual extern void SetCombatMode([In] int pVal);

	[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
	[DispId(1610743842)]
	public virtual extern void SetAutorun([In] bool bOnOff);

	[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
	[DispId(1610743843)]
	public virtual extern bool FaceHeading([In] float fHeading, [In] bool bUnknown);

	[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
	[DispId(1610743845)]
	public virtual extern void SelectItem([In] int lObjectID);

	[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
	[DispId(1610743846)]
	public virtual extern void GiveItem([In] int lObject, int lDestination);

	[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
	[DispId(1610743847)]
	public virtual extern void ApplyItem([In] int UseThis, int OnThis);

	[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
	[DispId(1610743848)]
	public virtual extern void UseItem([In] int lObjectID, int lUseState);

	[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
	[DispId(1610743849)]
	public virtual extern void UseItemRaw([In] int lObjectID, int lUseState, int lUseMethod);

	[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
	[DispId(1610743850)]
	public virtual extern void MoveItem([In] int lObjectID, int lPackID, int lSlot, bool bStack);

	[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
	[DispId(1610743851)]
	public virtual extern void MoveItemEx([In] int lObjectID, int lDestinationID);

	[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
	[DispId(1610743852)]
	public virtual extern void MoveItemExRaw([In] int lObject, int lDestination, int lMoveFlags);

	[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
	[DispId(1610743853)]
	public virtual extern void DropItem([In] int lObjectID);

	[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
	[DispId(1610743854)]
	public virtual extern void CastSpell([In] int lSpellID, int lObjectID);

	[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
	[DispId(1610743855)]
	public virtual extern bool IsValidObject([In] int lGUID);

	[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
	[DispId(1610743856)]
	public virtual extern int GetWeenieObjectPtr([In] int lObjectID);

	[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
	[DispId(1610743857)]
	public virtual extern int GetPhysicsObjectPtr([In] int lObjectID);

	[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
	[DispId(1610743877)]
	public virtual extern void RequestID([In] int lObjectID);

	[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
	[DispId(1610743878)]
	public virtual extern void IDQueueAdd([In] int lObjectID);

	[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
	[DispId(1610743879)]
	public virtual extern void SpellTabAdd([In] int lTab, int lIndex, int lSpellID);

	[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
	[DispId(1610743880)]
	public virtual extern void SpellTabDelete([In] int lTab, int lSpellID);

	[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
	[DispId(1610743881)]
	public virtual extern void TradeAdd([In] int ItemID);

	[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
	[DispId(1610743882)]
	public virtual extern void TradeAccept();

	[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
	[DispId(1610743883)]
	public virtual extern void TradeDecline();

	[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
	[DispId(1610743884)]
	public virtual extern void TradeReset();

	[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
	[DispId(1610743885)]
	public virtual extern void TradeEnd();

	[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
	[DispId(1610743886)]
	public virtual extern void SalvagePanelAdd([In] int lObjectID);

	[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
	[DispId(1610743887)]
	public virtual extern void SalvagePanelSalvage();

	[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
	[DispId(1610743889)]
	public virtual extern void AddSkillExp([In] eSkill SkillID, int lExperience);

	[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
	[DispId(1610743890)]
	public virtual extern void AddAttributeExp([In] eAttribute AttribID, int lExperience);

	[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
	[DispId(1610743891)]
	public virtual extern void AddVitalExp([In] eVital VitalID, int lExperience);

	[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
	[DispId(1610743892)]
	public virtual extern int SmartboxPtr();

	[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
	[DispId(1610743893)]
	public virtual extern float ObjectHeight([In] int lObjectID);

	[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
	[DispId(1610743895)]
	public virtual extern void AutoWieldRaw([In] int lObjectID, int SlotID, int Explicit, int NotExplicit, int zeroVal1, int zeroVal2);

	[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
	[DispId(1610743896)]
	public virtual extern void AutoWield([In] int lObjectID);

	[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
	[DispId(1610743897)]
	public virtual extern void AutoWieldEx([In] int lObjectID, int SlotID, int Explicit, int NotExplicit);

	[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
	[DispId(1610743898)]
	public virtual extern void FellowshipRecruit([In] int lObjectID);

	[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
	[DispId(1610743899)]
	public virtual extern void FellowshipGrantLeader([In] int lObjectID);

	[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
	[DispId(1610743900)]
	public virtual extern void FellowshipSetOpen([In] bool IsOpen);

	[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
	[DispId(1610743901)]
	public virtual extern void FellowshipQuit();

	[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
	[DispId(1610743902)]
	public virtual extern void FellowshipDisband();

	[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
	[DispId(1610743903)]
	public virtual extern void FellowshipDismiss([In] int lObjectID);

	[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
	[DispId(1610743904)]
	public virtual extern void UIElementMove([In] int lUIElementType, int X, int Y);

	[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
	[DispId(1610743905)]
	public virtual extern void UIElementResize([In] int lUIElementType, int Width, int Height);

	[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
	[DispId(1610743906)]
	public virtual extern int UIElementLookup([In] int lUIElementType);

	[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
	[DispId(1610743907)]
	public virtual extern tagRECT UIElementRegionRect([In] int lUIElementType);
}
