// @generated by tools/generate_api_shims.py; do not edit by hand.
#![allow(clippy::missing_errors_doc)]
#![allow(clippy::must_use_candidate)]
#![allow(clippy::all, clippy::pedantic, dead_code, unused_variables)]
#![allow(non_camel_case_types)]
#![allow(non_snake_case)]

/// C# type: `T:LibreMetaverse.AssetType`.
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(i8)]
pub enum AssetType {
    /// C# member: `F:LibreMetaverse.AssetType.Animation`.
    Animation = 20,
    /// C# member: `F:LibreMetaverse.AssetType.Bodypart`.
    Bodypart = 13,
    /// C# member: `F:LibreMetaverse.AssetType.CallingCard`.
    CallingCard = 2,
    /// C# member: `F:LibreMetaverse.AssetType.Clothing`.
    Clothing = 5,
    /// C# member: `F:LibreMetaverse.AssetType.Folder`.
    Folder = 8,
    /// C# member: `F:LibreMetaverse.AssetType.Gesture`.
    Gesture = 21,
    /// C# member: `F:LibreMetaverse.AssetType.ImageJPEG`.
    ImageJPEG = 19,
    /// C# member: `F:LibreMetaverse.AssetType.ImageTGA`.
    ImageTGA = 18,
    /// C# member: `F:LibreMetaverse.AssetType.LSLBytecode`.
    LSLBytecode = 11,
    /// C# member: `F:LibreMetaverse.AssetType.LSLText`.
    LSLText = 10,
    /// C# member: `F:LibreMetaverse.AssetType.Landmark`.
    Landmark = 3,
    /// C# member: `F:LibreMetaverse.AssetType.Link`.
    Link = 24,
    /// C# member: `F:LibreMetaverse.AssetType.LinkFolder`.
    LinkFolder = 25,
    /// C# member: `F:LibreMetaverse.AssetType.Material`.
    Material = 57,
    /// C# member: `F:LibreMetaverse.AssetType.Mesh`.
    Mesh = 49,
    /// C# member: `F:LibreMetaverse.AssetType.Notecard`.
    Notecard = 7,
    /// C# member: `F:LibreMetaverse.AssetType.Object`.
    Object = 6,
    /// C# member: `F:LibreMetaverse.AssetType.Person`.
    Person = 45,
    /// C# member: `F:LibreMetaverse.AssetType.Script`.
    Script = 4,
    /// C# member: `F:LibreMetaverse.AssetType.Settings`.
    Settings = 56,
    /// C# member: `F:LibreMetaverse.AssetType.Simstate`.
    Simstate = 22,
    /// C# member: `F:LibreMetaverse.AssetType.Sound`.
    Sound = 1,
    /// C# member: `F:LibreMetaverse.AssetType.SoundWAV`.
    SoundWAV = 17,
    /// C# member: `F:LibreMetaverse.AssetType.Texture`.
    Texture = 0,
    /// C# member: `F:LibreMetaverse.AssetType.TextureTGA`.
    TextureTGA = 12,
    /// C# member: `F:LibreMetaverse.AssetType.Unknown`.
    Unknown = -1,
    /// C# member: `F:LibreMetaverse.AssetType.Widget`.
    Widget = 40,
}

/// C# type: `T:LibreMetaverse.AttachmentPoint`.
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(u8)]
pub enum AttachmentPoint {
    /// C# member: `F:LibreMetaverse.AttachmentPoint.AltLeftEar`.
    AltLeftEar = 48,
    /// C# member: `F:LibreMetaverse.AttachmentPoint.AltLeftEye`.
    AltLeftEye = 50,
    /// C# member: `F:LibreMetaverse.AttachmentPoint.AltRightEar`.
    AltRightEar = 49,
    /// C# member: `F:LibreMetaverse.AttachmentPoint.AltRightEye`.
    AltRightEye = 51,
    /// C# member: `F:LibreMetaverse.AttachmentPoint.Chest`.
    Chest = 1,
    /// C# member: `F:LibreMetaverse.AttachmentPoint.Chin`.
    Chin = 12,
    /// C# member: `F:LibreMetaverse.AttachmentPoint.Default`.
    Default = 0,
    /// C# member: `F:LibreMetaverse.AttachmentPoint.Groin`.
    Groin = 53,
    /// C# member: `F:LibreMetaverse.AttachmentPoint.HUDBottom`.
    HUDBottom = 37,
    /// C# member: `F:LibreMetaverse.AttachmentPoint.HUDBottomLeft`.
    HUDBottomLeft = 36,
    /// C# member: `F:LibreMetaverse.AttachmentPoint.HUDBottomRight`.
    HUDBottomRight = 38,
    /// C# member: `F:LibreMetaverse.AttachmentPoint.HUDCenter`.
    HUDCenter = 35,
    /// C# member: `F:LibreMetaverse.AttachmentPoint.HUDCenter2`.
    HUDCenter2 = 31,
    /// C# member: `F:LibreMetaverse.AttachmentPoint.HUDTop`.
    HUDTop = 33,
    /// C# member: `F:LibreMetaverse.AttachmentPoint.HUDTopLeft`.
    HUDTopLeft = 34,
    /// C# member: `F:LibreMetaverse.AttachmentPoint.HUDTopRight`.
    HUDTopRight = 32,
    /// C# member: `F:LibreMetaverse.AttachmentPoint.Jaw`.
    Jaw = 47,
    /// C# member: `F:LibreMetaverse.AttachmentPoint.LeftEar`.
    LeftEar = 13,
    /// C# member: `F:LibreMetaverse.AttachmentPoint.LeftEyeball`.
    LeftEyeball = 15,
    /// C# member: `F:LibreMetaverse.AttachmentPoint.LeftFoot`.
    LeftFoot = 7,
    /// C# member: `F:LibreMetaverse.AttachmentPoint.LeftForearm`.
    LeftForearm = 21,
    /// C# member: `F:LibreMetaverse.AttachmentPoint.LeftHand`.
    LeftHand = 5,
    /// C# member: `F:LibreMetaverse.AttachmentPoint.LeftHandRing`.
    LeftHandRing = 41,
    /// C# member: `F:LibreMetaverse.AttachmentPoint.LeftHindFoot`.
    LeftHindFoot = 54,
    /// C# member: `F:LibreMetaverse.AttachmentPoint.LeftHip`.
    LeftHip = 25,
    /// C# member: `F:LibreMetaverse.AttachmentPoint.LeftLowerLeg`.
    LeftLowerLeg = 27,
    /// C# member: `F:LibreMetaverse.AttachmentPoint.LeftPec`.
    LeftPec = 29,
    /// C# member: `F:LibreMetaverse.AttachmentPoint.LeftShoulder`.
    LeftShoulder = 3,
    /// C# member: `F:LibreMetaverse.AttachmentPoint.LeftUpperArm`.
    LeftUpperArm = 20,
    /// C# member: `F:LibreMetaverse.AttachmentPoint.LeftUpperLeg`.
    LeftUpperLeg = 26,
    /// C# member: `F:LibreMetaverse.AttachmentPoint.LeftWing`.
    LeftWing = 45,
    /// C# member: `F:LibreMetaverse.AttachmentPoint.Mouth`.
    Mouth = 11,
    /// C# member: `F:LibreMetaverse.AttachmentPoint.Neck`.
    Neck = 39,
    /// C# member: `F:LibreMetaverse.AttachmentPoint.Nose`.
    Nose = 17,
    /// C# member: `F:LibreMetaverse.AttachmentPoint.Pelvis`.
    Pelvis = 10,
    /// C# member: `F:LibreMetaverse.AttachmentPoint.RightEar`.
    RightEar = 14,
    /// C# member: `F:LibreMetaverse.AttachmentPoint.RightEyeball`.
    RightEyeball = 16,
    /// C# member: `F:LibreMetaverse.AttachmentPoint.RightFoot`.
    RightFoot = 8,
    /// C# member: `F:LibreMetaverse.AttachmentPoint.RightForearm`.
    RightForearm = 19,
    /// C# member: `F:LibreMetaverse.AttachmentPoint.RightHand`.
    RightHand = 6,
    /// C# member: `F:LibreMetaverse.AttachmentPoint.RightHandRing`.
    RightHandRing = 42,
    /// C# member: `F:LibreMetaverse.AttachmentPoint.RightHindFoot`.
    RightHindFoot = 55,
    /// C# member: `F:LibreMetaverse.AttachmentPoint.RightHip`.
    RightHip = 22,
    /// C# member: `F:LibreMetaverse.AttachmentPoint.RightLowerLeg`.
    RightLowerLeg = 24,
    /// C# member: `F:LibreMetaverse.AttachmentPoint.RightPec`.
    RightPec = 30,
    /// C# member: `F:LibreMetaverse.AttachmentPoint.RightShoulder`.
    RightShoulder = 4,
    /// C# member: `F:LibreMetaverse.AttachmentPoint.RightUpperArm`.
    RightUpperArm = 18,
    /// C# member: `F:LibreMetaverse.AttachmentPoint.RightUpperLeg`.
    RightUpperLeg = 23,
    /// C# member: `F:LibreMetaverse.AttachmentPoint.RightWing`.
    RightWing = 46,
    /// C# member: `F:LibreMetaverse.AttachmentPoint.Root`.
    Root = 40,
    /// C# member: `F:LibreMetaverse.AttachmentPoint.Skull`.
    Skull = 2,
    /// C# member: `F:LibreMetaverse.AttachmentPoint.Spine`.
    Spine = 9,
    /// C# member: `F:LibreMetaverse.AttachmentPoint.Stomach`.
    Stomach = 28,
    /// C# member: `F:LibreMetaverse.AttachmentPoint.TailBase`.
    TailBase = 43,
    /// C# member: `F:LibreMetaverse.AttachmentPoint.TailTip`.
    TailTip = 44,
    /// C# member: `F:LibreMetaverse.AttachmentPoint.Tongue`.
    Tongue = 52,
}

/// C# type: `T:LibreMetaverse.CRC32`.
/// C# member: `F:LibreMetaverse.CRC32.CRC`.
/// C# member: `M:LibreMetaverse.CRC32.#ctor`.
/// C# member: `M:LibreMetaverse.CRC32.Update(System.Byte)`.
/// C# member: `M:LibreMetaverse.CRC32.Update(System.Byte[],System.Int32,System.Int32)`.
pub use crate::crc32::CRC32;

/// C# type: `T:LibreMetaverse.CacheDictionary`2`.
/// C# member: `M:LibreMetaverse.CacheDictionary`2.#ctor(System.Int32,LibreMetaverse.ICacheDictionaryRemovalStrategy{`0})`.
/// C# member: `M:LibreMetaverse.CacheDictionary`2.Add(System.Collections.Generic.KeyValuePair{`0,`1})`.
/// C# member: `M:LibreMetaverse.CacheDictionary`2.Add(`0,`1)`.
/// C# member: `M:LibreMetaverse.CacheDictionary`2.Clear`.
/// C# member: `M:LibreMetaverse.CacheDictionary`2.Contains(System.Collections.Generic.KeyValuePair{`0,`1})`.
/// C# member: `M:LibreMetaverse.CacheDictionary`2.ContainsKey(`0)`.
/// C# member: `M:LibreMetaverse.CacheDictionary`2.CopyTo(System.Collections.Generic.KeyValuePair{`0,`1}[],System.Int32)`.
/// C# member: `M:LibreMetaverse.CacheDictionary`2.GetEnumerator`.
/// C# member: `M:LibreMetaverse.CacheDictionary`2.Remove(System.Collections.Generic.KeyValuePair{`0,`1})`.
/// C# member: `M:LibreMetaverse.CacheDictionary`2.Remove(`0)`.
/// C# member: `M:LibreMetaverse.CacheDictionary`2.TryGetValue(`0,`1@)`.
/// C# member: `P:LibreMetaverse.CacheDictionary`2.Count`.
/// C# member: `P:LibreMetaverse.CacheDictionary`2.IsReadOnly`.
/// C# member: `P:LibreMetaverse.CacheDictionary`2.Item(`0)`.
/// C# member: `P:LibreMetaverse.CacheDictionary`2.Keys`.
/// C# member: `P:LibreMetaverse.CacheDictionary`2.Values`.
pub use crate::collections::CacheDictionary;

/// C# type: `T:LibreMetaverse.CacheDictionary`2.CacheDictionaryEnumerator`.
/// C# member: `M:LibreMetaverse.CacheDictionary`2.CacheDictionaryEnumerator.Dispose`.
/// C# member: `M:LibreMetaverse.CacheDictionary`2.CacheDictionaryEnumerator.MoveNext`.
/// C# member: `M:LibreMetaverse.CacheDictionary`2.CacheDictionaryEnumerator.Reset`.
/// C# member: `P:LibreMetaverse.CacheDictionary`2.CacheDictionaryEnumerator.Current`.
pub use crate::collections::CacheDictionaryCacheDictionaryEnumerator;

/// C# type: `T:LibreMetaverse.ClickAction`.
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(u8)]
pub enum ClickAction {
    /// C# member: `F:LibreMetaverse.ClickAction.Buy`.
    Buy = 2,
    /// C# member: `F:LibreMetaverse.ClickAction.OpenMedia`.
    OpenMedia = 6,
    /// C# member: `F:LibreMetaverse.ClickAction.OpenTask`.
    OpenTask = 4,
    /// C# member: `F:LibreMetaverse.ClickAction.Pay`.
    Pay = 3,
    /// C# member: `F:LibreMetaverse.ClickAction.PlayMedia`.
    PlayMedia = 5,
    /// C# member: `F:LibreMetaverse.ClickAction.Sit`.
    Sit = 1,
    /// C# member: `F:LibreMetaverse.ClickAction.Touch`.
    Touch = 0,
}

/// C# type: `T:LibreMetaverse.Color4`.
/// C# member: `F:LibreMetaverse.Color4.A`.
/// C# member: `F:LibreMetaverse.Color4.B`.
/// C# member: `F:LibreMetaverse.Color4.Black`.
/// C# member: `F:LibreMetaverse.Color4.G`.
/// C# member: `F:LibreMetaverse.Color4.R`.
/// C# member: `F:LibreMetaverse.Color4.White`.
/// C# member: `M:LibreMetaverse.Color4.#ctor(System.Byte,System.Byte,System.Byte,System.Byte)`.
/// C# member: `M:LibreMetaverse.Color4.#ctor(System.Byte[],System.Int32,System.Boolean)`.
/// C# member: `M:LibreMetaverse.Color4.#ctor(System.Byte[],System.Int32,System.Boolean,System.Boolean)`.
/// C# member: `M:LibreMetaverse.Color4.#ctor(System.Single,System.Single,System.Single,System.Single)`.
/// C# member: `M:LibreMetaverse.Color4.CompareTo(LibreMetaverse.Color4)`.
/// C# member: `M:LibreMetaverse.Color4.Equals(LibreMetaverse.Color4)`.
/// C# member: `M:LibreMetaverse.Color4.Equals(System.Object)`.
/// C# member: `M:LibreMetaverse.Color4.FromBytes(System.Byte[],System.Int32,System.Boolean)`.
/// C# member: `M:LibreMetaverse.Color4.FromBytes(System.Byte[],System.Int32,System.Boolean,System.Boolean)`.
/// C# member: `M:LibreMetaverse.Color4.FromHSV(System.Double,System.Double,System.Double)`.
/// C# member: `M:LibreMetaverse.Color4.GetBytes`.
/// C# member: `M:LibreMetaverse.Color4.GetBytes(System.Boolean)`.
/// C# member: `M:LibreMetaverse.Color4.GetFloatBytes`.
/// C# member: `M:LibreMetaverse.Color4.GetHashCode`.
/// C# member: `M:LibreMetaverse.Color4.GetHue`.
/// C# member: `M:LibreMetaverse.Color4.Lerp(LibreMetaverse.Color4,LibreMetaverse.Color4,System.Single)`.
/// C# member: `M:LibreMetaverse.Color4.ToBytes(System.Byte[],System.Int32)`.
/// C# member: `M:LibreMetaverse.Color4.ToBytes(System.Byte[],System.Int32,System.Boolean)`.
/// C# member: `M:LibreMetaverse.Color4.ToFloatBytes(System.Byte[],System.Int32)`.
/// C# member: `M:LibreMetaverse.Color4.ToRGBString`.
/// C# member: `M:LibreMetaverse.Color4.ToString`.
/// C# member: `M:LibreMetaverse.Color4.op_Addition(LibreMetaverse.Color4,LibreMetaverse.Color4)`.
/// C# member: `M:LibreMetaverse.Color4.op_Equality(LibreMetaverse.Color4,LibreMetaverse.Color4)`.
/// C# member: `M:LibreMetaverse.Color4.op_Inequality(LibreMetaverse.Color4,LibreMetaverse.Color4)`.
/// C# member: `M:LibreMetaverse.Color4.op_Multiply(LibreMetaverse.Color4,LibreMetaverse.Color4)`.
/// C# member: `M:LibreMetaverse.Color4.op_Subtraction(LibreMetaverse.Color4,LibreMetaverse.Color4)`.
pub use crate::color4::Color4;

/// C# type: `T:LibreMetaverse.DoubleDictionary`3`.
/// C# member: `M:LibreMetaverse.DoubleDictionary`3.#ctor`.
/// C# member: `M:LibreMetaverse.DoubleDictionary`3.#ctor(System.Int32)`.
/// C# member: `M:LibreMetaverse.DoubleDictionary`3.Add(`0,`1,`2)`.
/// C# member: `M:LibreMetaverse.DoubleDictionary`3.Clear`.
/// C# member: `M:LibreMetaverse.DoubleDictionary`3.ContainsKey(`0)`.
/// C# member: `M:LibreMetaverse.DoubleDictionary`3.ContainsKey(`1)`.
/// C# member: `M:LibreMetaverse.DoubleDictionary`3.Dispose`.
/// C# member: `M:LibreMetaverse.DoubleDictionary`3.FindAll(System.Predicate{`2})`.
/// C# member: `M:LibreMetaverse.DoubleDictionary`3.FindValue(System.Predicate{`2})`.
/// C# member: `M:LibreMetaverse.DoubleDictionary`3.ForEach(System.Action{System.Collections.Generic.KeyValuePair{`0,`2}})`.
/// C# member: `M:LibreMetaverse.DoubleDictionary`3.ForEach(System.Action{System.Collections.Generic.KeyValuePair{`1,`2}})`.
/// C# member: `M:LibreMetaverse.DoubleDictionary`3.ForEach(System.Action{`2})`.
/// C# member: `M:LibreMetaverse.DoubleDictionary`3.Remove(`0)`.
/// C# member: `M:LibreMetaverse.DoubleDictionary`3.Remove(`0,`1)`.
/// C# member: `M:LibreMetaverse.DoubleDictionary`3.Remove(`1)`.
/// C# member: `M:LibreMetaverse.DoubleDictionary`3.RemoveAll(System.Predicate{`2})`.
/// C# member: `M:LibreMetaverse.DoubleDictionary`3.TryGetValue(`0,`2@)`.
/// C# member: `M:LibreMetaverse.DoubleDictionary`3.TryGetValue(`1,`2@)`.
/// C# member: `P:LibreMetaverse.DoubleDictionary`3.Count`.
pub use crate::collections::DoubleDictionary;

/// C# type: `T:LibreMetaverse.EmptyRemovalStrategy`1`.
/// C# member: `M:LibreMetaverse.EmptyRemovalStrategy`1.#ctor`.
/// C# member: `M:LibreMetaverse.EmptyRemovalStrategy`1.Clear`.
/// C# member: `M:LibreMetaverse.EmptyRemovalStrategy`1.GetKeyToRemove`.
/// C# member: `M:LibreMetaverse.EmptyRemovalStrategy`1.Initialize(System.Int32)`.
/// C# member: `M:LibreMetaverse.EmptyRemovalStrategy`1.KeyAccessed(`0)`.
/// C# member: `M:LibreMetaverse.EmptyRemovalStrategy`1.KeyAdded(`0)`.
/// C# member: `M:LibreMetaverse.EmptyRemovalStrategy`1.KeyRemoved(`0)`.
pub use crate::collections::EmptyRemovalStrategy;

/// C# type: `T:LibreMetaverse.EnumInfoAttribute`.
/// C# member: `F:LibreMetaverse.EnumInfoAttribute.Text`.
/// C# member: `M:LibreMetaverse.EnumInfoAttribute.#ctor`.
/// C# member: `M:LibreMetaverse.EnumInfoAttribute.#ctor(System.String)`.
pub use crate::enum_compat::EnumInfoAttribute;

/// C# type: `T:LibreMetaverse.EnumInfoExtensions`.
/// C# member: `M:LibreMetaverse.EnumInfoExtensions.GetText(System.Enum)`.
pub use crate::enum_compat::EnumInfoExtensions;

/// C# type: `T:LibreMetaverse.ExpiringCache`2`.
/// C# member: `M:LibreMetaverse.ExpiringCache`2.#ctor`.
/// C# member: `M:LibreMetaverse.ExpiringCache`2.Add(`0,`1,System.Double)`.
/// C# member: `M:LibreMetaverse.ExpiringCache`2.Add(`0,`1,System.TimeSpan)`.
/// C# member: `M:LibreMetaverse.ExpiringCache`2.AddOrUpdate(`0,`1,System.Double)`.
/// C# member: `M:LibreMetaverse.ExpiringCache`2.AddOrUpdate(`0,`1,System.TimeSpan)`.
/// C# member: `M:LibreMetaverse.ExpiringCache`2.Clear`.
/// C# member: `M:LibreMetaverse.ExpiringCache`2.Contains(`0)`.
/// C# member: `M:LibreMetaverse.ExpiringCache`2.CopyTo(System.Array,System.Int32)`.
/// C# member: `M:LibreMetaverse.ExpiringCache`2.Dispose`.
/// C# member: `M:LibreMetaverse.ExpiringCache`2.Remove(`0)`.
/// C# member: `M:LibreMetaverse.ExpiringCache`2.TryGetValue(`0,`1@)`.
/// C# member: `M:LibreMetaverse.ExpiringCache`2.Update(`0,`1)`.
/// C# member: `M:LibreMetaverse.ExpiringCache`2.Update(`0,`1,System.Double)`.
/// C# member: `M:LibreMetaverse.ExpiringCache`2.Update(`0,`1,System.TimeSpan)`.
/// C# member: `P:LibreMetaverse.ExpiringCache`2.Count`.
/// C# member: `P:LibreMetaverse.ExpiringCache`2.Item(`0)`.
pub use crate::collections::ExpiringCache;

/// C# type: `T:LibreMetaverse.ExtraParamType`.
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(transparent)]
pub struct ExtraParamType(pub u16);
impl ExtraParamType {
    /// C# member: `F:LibreMetaverse.ExtraParamType.ExtendedMesh`.
    pub const EXTENDED_MESH: Self = Self(112);
    /// C# member: `F:LibreMetaverse.ExtraParamType.Flexible`.
    pub const FLEXIBLE: Self = Self(16);
    /// C# member: `F:LibreMetaverse.ExtraParamType.Light`.
    pub const LIGHT: Self = Self(32);
    /// C# member: `F:LibreMetaverse.ExtraParamType.LightImage`.
    pub const LIGHT_IMAGE: Self = Self(64);
    /// C# member: `F:LibreMetaverse.ExtraParamType.Mesh`.
    pub const MESH: Self = Self(96);
    /// C# member: `F:LibreMetaverse.ExtraParamType.ReflectionProbe`.
    pub const REFLECTION_PROBE: Self = Self(144);
    /// C# member: `F:LibreMetaverse.ExtraParamType.RenderMaterial`.
    pub const RENDER_MATERIAL: Self = Self(128);
    /// C# member: `F:LibreMetaverse.ExtraParamType.Sculpt`.
    pub const SCULPT: Self = Self(48);
}

/// C# type: `T:LibreMetaverse.FaceType`.
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(u16)]
pub enum FaceType {
    /// C# member: `F:LibreMetaverse.FaceType.InnerSide`.
    InnerSide = 4,
    /// C# member: `F:LibreMetaverse.FaceType.OuterSide0`.
    OuterSide0 = 32,
    /// C# member: `F:LibreMetaverse.FaceType.OuterSide1`.
    OuterSide1 = 64,
    /// C# member: `F:LibreMetaverse.FaceType.OuterSide2`.
    OuterSide2 = 128,
    /// C# member: `F:LibreMetaverse.FaceType.OuterSide3`.
    OuterSide3 = 256,
    /// C# member: `F:LibreMetaverse.FaceType.PathBegin`.
    PathBegin = 1,
    /// C# member: `F:LibreMetaverse.FaceType.PathEnd`.
    PathEnd = 2,
    /// C# member: `F:LibreMetaverse.FaceType.ProfileBegin`.
    ProfileBegin = 8,
    /// C# member: `F:LibreMetaverse.FaceType.ProfileEnd`.
    ProfileEnd = 16,
}

/// C# type: `T:LibreMetaverse.FolderType`.
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(i8)]
pub enum FolderType {
    /// C# member: `F:LibreMetaverse.FolderType.Animation`.
    Animation = 20,
    /// C# member: `F:LibreMetaverse.FolderType.BasicRoot`.
    BasicRoot = 52,
    /// C# member: `F:LibreMetaverse.FolderType.BodyPart`.
    BodyPart = 13,
    /// C# member: `F:LibreMetaverse.FolderType.CallingCard`.
    CallingCard = 2,
    /// C# member: `F:LibreMetaverse.FolderType.Clothing`.
    Clothing = 5,
    /// C# member: `F:LibreMetaverse.FolderType.CurrentOutfit`.
    CurrentOutfit = 46,
    /// C# member: `F:LibreMetaverse.FolderType.EnsembleEnd`.
    EnsembleEnd = 45,
    /// C# member: `F:LibreMetaverse.FolderType.EnsembleStart`.
    EnsembleStart = 26,
    /// C# member: `F:LibreMetaverse.FolderType.Favorites`.
    Favorites = 23,
    /// C# member: `F:LibreMetaverse.FolderType.Gesture`.
    Gesture = 21,
    /// C# member: `F:LibreMetaverse.FolderType.Inbox`.
    Inbox = 50,
    /// C# member: `F:LibreMetaverse.FolderType.LSLText`.
    LSLText = 10,
    /// C# member: `F:LibreMetaverse.FolderType.Landmark`.
    Landmark = 3,
    /// C# member: `F:LibreMetaverse.FolderType.LostAndFound`.
    LostAndFound = 16,
    /// C# member: `F:LibreMetaverse.FolderType.MarketplaceListings`.
    MarketplaceListings = 53,
    /// C# member: `F:LibreMetaverse.FolderType.MarketplaceStock`.
    MarketplaceStock = 54,
    /// C# member: `F:LibreMetaverse.FolderType.MarketplaceVersion`.
    MarketplaceVersion = 55,
    /// C# member: `F:LibreMetaverse.FolderType.Material`.
    Material = 57,
    /// C# member: `F:LibreMetaverse.FolderType.Mesh`.
    Mesh = 49,
    /// C# member: `F:LibreMetaverse.FolderType.MyOutfits`.
    MyOutfits = 48,
    /// C# member: `F:LibreMetaverse.FolderType.None`.
    None = -1,
    /// C# member: `F:LibreMetaverse.FolderType.Notecard`.
    Notecard = 7,
    /// C# member: `F:LibreMetaverse.FolderType.Object`.
    Object = 6,
    /// C# member: `F:LibreMetaverse.FolderType.OldRoot`.
    OldRoot = 9,
    /// C# member: `F:LibreMetaverse.FolderType.Outbox`.
    Outbox = 51,
    /// C# member: `F:LibreMetaverse.FolderType.Outfit`.
    Outfit = 47,
    /// C# member: `F:LibreMetaverse.FolderType.Root`.
    Root = 8,
    /// C# member: `F:LibreMetaverse.FolderType.Settings`.
    Settings = 56,
    /// C# member: `F:LibreMetaverse.FolderType.Snapshot`.
    Snapshot = 15,
    /// C# member: `F:LibreMetaverse.FolderType.Sound`.
    Sound = 1,
    /// C# member: `F:LibreMetaverse.FolderType.Suitcase`.
    Suitcase = 100,
    /// C# member: `F:LibreMetaverse.FolderType.Texture`.
    Texture = 0,
    /// C# member: `F:LibreMetaverse.FolderType.Trash`.
    Trash = 14,
}

/// C# type: `T:LibreMetaverse.HoleType`.
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(transparent)]
pub struct HoleType(pub u8);
#[allow(non_upper_case_globals)]
impl HoleType {
    /// C# member: `F:LibreMetaverse.HoleType.Circle`.
    pub const Circle: Self = Self(16);
    /// C# member: `F:LibreMetaverse.HoleType.Same`.
    pub const Same: Self = Self(0);
    /// C# member: `F:LibreMetaverse.HoleType.Square`.
    pub const Square: Self = Self(32);
    /// C# member: `F:LibreMetaverse.HoleType.Triangle`.
    pub const Triangle: Self = Self(48);
}

/// C# type: `T:LibreMetaverse.ICacheDictionaryRemovalStrategy`1`.
/// C# member: `M:LibreMetaverse.ICacheDictionaryRemovalStrategy`1.Clear`.
/// C# member: `M:LibreMetaverse.ICacheDictionaryRemovalStrategy`1.GetKeyToRemove`.
/// C# member: `M:LibreMetaverse.ICacheDictionaryRemovalStrategy`1.Initialize(System.Int32)`.
/// C# member: `M:LibreMetaverse.ICacheDictionaryRemovalStrategy`1.KeyAccessed(`0)`.
/// C# member: `M:LibreMetaverse.ICacheDictionaryRemovalStrategy`1.KeyAdded(`0)`.
/// C# member: `M:LibreMetaverse.ICacheDictionaryRemovalStrategy`1.KeyRemoved(`0)`.
pub use crate::collections::ICacheDictionaryRemovalStrategy;

/// C# type: `T:LibreMetaverse.InventoryType`.
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(transparent)]
pub struct InventoryType(pub i8);
impl InventoryType {
    /// C# member: `F:LibreMetaverse.InventoryType.Animation`.
    pub const ANIMATION: Self = Self(19);
    /// C# member: `F:LibreMetaverse.InventoryType.Attachment`.
    pub const ATTACHMENT: Self = Self(17);
    /// C# member: `F:LibreMetaverse.InventoryType.CallingCard`.
    pub const CALLING_CARD: Self = Self(2);
    /// C# member: `F:LibreMetaverse.InventoryType.Category`.
    pub const CATEGORY: Self = Self(8);
    /// C# member: `F:LibreMetaverse.InventoryType.Folder`.
    pub const FOLDER: Self = Self(8);
    /// C# member: `F:LibreMetaverse.InventoryType.Gesture`.
    pub const GESTURE: Self = Self(20);
    /// C# member: `F:LibreMetaverse.InventoryType.LSL`.
    pub const LSL: Self = Self(10);
    /// C# member: `F:LibreMetaverse.InventoryType.Landmark`.
    pub const LANDMARK: Self = Self(3);
    /// C# member: `F:LibreMetaverse.InventoryType.Material`.
    pub const MATERIAL: Self = Self(24);
    /// C# member: `F:LibreMetaverse.InventoryType.Mesh`.
    pub const MESH: Self = Self(22);
    /// C# member: `F:LibreMetaverse.InventoryType.Notecard`.
    pub const NOTECARD: Self = Self(7);
    /// C# member: `F:LibreMetaverse.InventoryType.Object`.
    pub const OBJECT: Self = Self(6);
    /// C# member: `F:LibreMetaverse.InventoryType.RootCategory`.
    pub const ROOT_CATEGORY: Self = Self(9);
    /// C# member: `F:LibreMetaverse.InventoryType.Settings`.
    pub const SETTINGS: Self = Self(23);
    /// C# member: `F:LibreMetaverse.InventoryType.Snapshot`.
    pub const SNAPSHOT: Self = Self(15);
    /// C# member: `F:LibreMetaverse.InventoryType.Sound`.
    pub const SOUND: Self = Self(1);
    /// C# member: `F:LibreMetaverse.InventoryType.Texture`.
    pub const TEXTURE: Self = Self(0);
    /// C# member: `F:LibreMetaverse.InventoryType.Unknown`.
    pub const UNKNOWN: Self = Self(-1);
    /// C# member: `F:LibreMetaverse.InventoryType.Wearable`.
    pub const WEARABLE: Self = Self(18);
}

/// C# type: `T:LibreMetaverse.JointType`.
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(u8)]
pub enum JointType {
    /// C# member: `F:LibreMetaverse.JointType.Hinge`.
    Hinge = 1,
    /// C# member: `F:LibreMetaverse.JointType.Invalid`.
    Invalid = 0,
    /// C# member: `F:LibreMetaverse.JointType.Point`.
    Point = 2,
}

/// C# type: `T:LibreMetaverse.LruRemovalStrategy`1`.
/// C# member: `M:LibreMetaverse.LruRemovalStrategy`1.#ctor`.
/// C# member: `M:LibreMetaverse.LruRemovalStrategy`1.Clear`.
/// C# member: `M:LibreMetaverse.LruRemovalStrategy`1.GetKeyToRemove`.
/// C# member: `M:LibreMetaverse.LruRemovalStrategy`1.Initialize(System.Int32)`.
/// C# member: `M:LibreMetaverse.LruRemovalStrategy`1.KeyAccessed(`0)`.
/// C# member: `M:LibreMetaverse.LruRemovalStrategy`1.KeyAdded(`0)`.
/// C# member: `M:LibreMetaverse.LruRemovalStrategy`1.KeyRemoved(`0)`.
pub use crate::collections::LruRemovalStrategy;

/// C# type: `T:LibreMetaverse.Material`.
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(u8)]
pub enum Material {
    /// C# member: `F:LibreMetaverse.Material.Flesh`.
    Flesh = 4,
    /// C# member: `F:LibreMetaverse.Material.Glass`.
    Glass = 2,
    /// C# member: `F:LibreMetaverse.Material.Light`.
    Light = 7,
    /// C# member: `F:LibreMetaverse.Material.Metal`.
    Metal = 1,
    /// C# member: `F:LibreMetaverse.Material.Plastic`.
    Plastic = 5,
    /// C# member: `F:LibreMetaverse.Material.Rubber`.
    Rubber = 6,
    /// C# member: `F:LibreMetaverse.Material.Stone`.
    Stone = 0,
    /// C# member: `F:LibreMetaverse.Material.Wood`.
    Wood = 3,
}

/// C# type: `T:LibreMetaverse.Matrix4`.
/// C# member: `F:LibreMetaverse.Matrix4.Identity`.
/// C# member: `F:LibreMetaverse.Matrix4.M11`.
/// C# member: `F:LibreMetaverse.Matrix4.M12`.
/// C# member: `F:LibreMetaverse.Matrix4.M13`.
/// C# member: `F:LibreMetaverse.Matrix4.M14`.
/// C# member: `F:LibreMetaverse.Matrix4.M21`.
/// C# member: `F:LibreMetaverse.Matrix4.M22`.
/// C# member: `F:LibreMetaverse.Matrix4.M23`.
/// C# member: `F:LibreMetaverse.Matrix4.M24`.
/// C# member: `F:LibreMetaverse.Matrix4.M31`.
/// C# member: `F:LibreMetaverse.Matrix4.M32`.
/// C# member: `F:LibreMetaverse.Matrix4.M33`.
/// C# member: `F:LibreMetaverse.Matrix4.M34`.
/// C# member: `F:LibreMetaverse.Matrix4.M41`.
/// C# member: `F:LibreMetaverse.Matrix4.M42`.
/// C# member: `F:LibreMetaverse.Matrix4.M43`.
/// C# member: `F:LibreMetaverse.Matrix4.M44`.
/// C# member: `F:LibreMetaverse.Matrix4.Zero`.
/// C# member: `M:LibreMetaverse.Matrix4.#ctor(LibreMetaverse.Matrix4)`.
/// C# member: `M:LibreMetaverse.Matrix4.#ctor(System.Single,System.Single,System.Single)`.
/// C# member: `M:LibreMetaverse.Matrix4.#ctor(System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,System.Single)`.
/// C# member: `M:LibreMetaverse.Matrix4.Add(LibreMetaverse.Matrix4,LibreMetaverse.Matrix4)`.
/// C# member: `M:LibreMetaverse.Matrix4.Adjoint(LibreMetaverse.Matrix4)`.
/// C# member: `M:LibreMetaverse.Matrix4.Adjoint3x3(LibreMetaverse.Matrix4)`.
/// C# member: `M:LibreMetaverse.Matrix4.CreateFromAxisAngle(LibreMetaverse.Vector3,System.Single)`.
/// C# member: `M:LibreMetaverse.Matrix4.CreateFromEulers(System.Single,System.Single,System.Single)`.
/// C# member: `M:LibreMetaverse.Matrix4.CreateFromQuaternion(LibreMetaverse.Quaternion)`.
/// C# member: `M:LibreMetaverse.Matrix4.CreateLookAt(LibreMetaverse.Vector3,LibreMetaverse.Vector3,LibreMetaverse.Vector3)`.
/// C# member: `M:LibreMetaverse.Matrix4.CreateRotationX(System.Single)`.
/// C# member: `M:LibreMetaverse.Matrix4.CreateRotationY(System.Single)`.
/// C# member: `M:LibreMetaverse.Matrix4.CreateRotationZ(System.Single)`.
/// C# member: `M:LibreMetaverse.Matrix4.CreateScale(LibreMetaverse.Vector3)`.
/// C# member: `M:LibreMetaverse.Matrix4.CreateTranslation(LibreMetaverse.Vector3)`.
/// C# member: `M:LibreMetaverse.Matrix4.CreateWorld(LibreMetaverse.Vector3,LibreMetaverse.Vector3,LibreMetaverse.Vector3)`.
/// C# member: `M:LibreMetaverse.Matrix4.Decompose(LibreMetaverse.Vector3@,LibreMetaverse.Quaternion@,LibreMetaverse.Vector3@)`.
/// C# member: `M:LibreMetaverse.Matrix4.Determinant`.
/// C# member: `M:LibreMetaverse.Matrix4.Determinant3x3`.
/// C# member: `M:LibreMetaverse.Matrix4.Divide(LibreMetaverse.Matrix4,LibreMetaverse.Matrix4)`.
/// C# member: `M:LibreMetaverse.Matrix4.Divide(LibreMetaverse.Matrix4,System.Single)`.
/// C# member: `M:LibreMetaverse.Matrix4.Equals(LibreMetaverse.Matrix4)`.
/// C# member: `M:LibreMetaverse.Matrix4.Equals(System.Object)`.
/// C# member: `M:LibreMetaverse.Matrix4.GetEulerAngles(System.Single@,System.Single@,System.Single@)`.
/// C# member: `M:LibreMetaverse.Matrix4.GetHashCode`.
/// C# member: `M:LibreMetaverse.Matrix4.GetQuaternion`.
/// C# member: `M:LibreMetaverse.Matrix4.Inverse(LibreMetaverse.Matrix4)`.
/// C# member: `M:LibreMetaverse.Matrix4.Inverse3x3(LibreMetaverse.Matrix4)`.
/// C# member: `M:LibreMetaverse.Matrix4.Lerp(LibreMetaverse.Matrix4,LibreMetaverse.Matrix4,System.Single)`.
/// C# member: `M:LibreMetaverse.Matrix4.Minor(LibreMetaverse.Matrix4,System.Int32,System.Int32)`.
/// C# member: `M:LibreMetaverse.Matrix4.Multiply(LibreMetaverse.Matrix4,LibreMetaverse.Matrix4)`.
/// C# member: `M:LibreMetaverse.Matrix4.Multiply(LibreMetaverse.Matrix4,System.Single)`.
/// C# member: `M:LibreMetaverse.Matrix4.Negate(LibreMetaverse.Matrix4)`.
/// C# member: `M:LibreMetaverse.Matrix4.Subtract(LibreMetaverse.Matrix4,LibreMetaverse.Matrix4)`.
/// C# member: `M:LibreMetaverse.Matrix4.ToString`.
/// C# member: `M:LibreMetaverse.Matrix4.Trace`.
/// C# member: `M:LibreMetaverse.Matrix4.Transform(LibreMetaverse.Matrix4,LibreMetaverse.Quaternion)`.
/// C# member: `M:LibreMetaverse.Matrix4.Transpose(LibreMetaverse.Matrix4)`.
/// C# member: `M:LibreMetaverse.Matrix4.op_Addition(LibreMetaverse.Matrix4,LibreMetaverse.Matrix4)`.
/// C# member: `M:LibreMetaverse.Matrix4.op_Division(LibreMetaverse.Matrix4,LibreMetaverse.Matrix4)`.
/// C# member: `M:LibreMetaverse.Matrix4.op_Division(LibreMetaverse.Matrix4,System.Single)`.
/// C# member: `M:LibreMetaverse.Matrix4.op_Equality(LibreMetaverse.Matrix4,LibreMetaverse.Matrix4)`.
/// C# member: `M:LibreMetaverse.Matrix4.op_Inequality(LibreMetaverse.Matrix4,LibreMetaverse.Matrix4)`.
/// C# member: `M:LibreMetaverse.Matrix4.op_Multiply(LibreMetaverse.Matrix4,LibreMetaverse.Matrix4)`.
/// C# member: `M:LibreMetaverse.Matrix4.op_Multiply(LibreMetaverse.Matrix4,System.Single)`.
/// C# member: `M:LibreMetaverse.Matrix4.op_Subtraction(LibreMetaverse.Matrix4,LibreMetaverse.Matrix4)`.
/// C# member: `M:LibreMetaverse.Matrix4.op_UnaryNegation(LibreMetaverse.Matrix4)`.
/// C# member: `P:LibreMetaverse.Matrix4.AtAxis`.
/// C# member: `P:LibreMetaverse.Matrix4.Item(System.Int32)`.
/// C# member: `P:LibreMetaverse.Matrix4.Item(System.Int32,System.Int32)`.
/// C# member: `P:LibreMetaverse.Matrix4.LeftAxis`.
/// C# member: `P:LibreMetaverse.Matrix4.UpAxis`.
pub use crate::geometry::Matrix4;

/// C# type: `T:LibreMetaverse.MruRemovalStrategy`1`.
/// C# member: `M:LibreMetaverse.MruRemovalStrategy`1.#ctor`.
/// C# member: `M:LibreMetaverse.MruRemovalStrategy`1.Clear`.
/// C# member: `M:LibreMetaverse.MruRemovalStrategy`1.GetKeyToRemove`.
/// C# member: `M:LibreMetaverse.MruRemovalStrategy`1.Initialize(System.Int32)`.
/// C# member: `M:LibreMetaverse.MruRemovalStrategy`1.KeyAccessed(`0)`.
/// C# member: `M:LibreMetaverse.MruRemovalStrategy`1.KeyAdded(`0)`.
/// C# member: `M:LibreMetaverse.MruRemovalStrategy`1.KeyRemoved(`0)`.
pub use crate::collections::MruRemovalStrategy;

/// C# type: `T:LibreMetaverse.MultiValueDictionary`2`.
/// C# member: `M:LibreMetaverse.MultiValueDictionary`2.#ctor`.
/// C# member: `M:LibreMetaverse.MultiValueDictionary`2.#ctor(System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{`0,System.Collections.Generic.IReadOnlyCollection{`1}}})`.
/// C# member: `M:LibreMetaverse.MultiValueDictionary`2.#ctor(System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{`0,System.Collections.Generic.IReadOnlyCollection{`1}}},System.Collections.Generic.IEqualityComparer{`0})`.
/// C# member: `M:LibreMetaverse.MultiValueDictionary`2.#ctor(System.Collections.Generic.IEqualityComparer{`0})`.
/// C# member: `M:LibreMetaverse.MultiValueDictionary`2.#ctor(System.Int32)`.
/// C# member: `M:LibreMetaverse.MultiValueDictionary`2.#ctor(System.Int32,System.Collections.Generic.IEqualityComparer{`0})`.
/// C# member: `M:LibreMetaverse.MultiValueDictionary`2.Add(`0,`1)`.
/// C# member: `M:LibreMetaverse.MultiValueDictionary`2.AddRange(`0,System.Collections.Generic.IEnumerable{`1})`.
/// C# member: `M:LibreMetaverse.MultiValueDictionary`2.Clear`.
/// C# member: `M:LibreMetaverse.MultiValueDictionary`2.Contains(`0,`1)`.
/// C# member: `M:LibreMetaverse.MultiValueDictionary`2.ContainsKey(`0)`.
/// C# member: `M:LibreMetaverse.MultiValueDictionary`2.ContainsValue(`1)`.
/// C# member: `M:LibreMetaverse.MultiValueDictionary`2.Create``1`.
/// C# member: `M:LibreMetaverse.MultiValueDictionary`2.Create``1(System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{`0,System.Collections.Generic.IReadOnlyCollection{`1}}})`.
/// C# member: `M:LibreMetaverse.MultiValueDictionary`2.Create``1(System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{`0,System.Collections.Generic.IReadOnlyCollection{`1}}},System.Collections.Generic.IEqualityComparer{`0})`.
/// C# member: `M:LibreMetaverse.MultiValueDictionary`2.Create``1(System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{`0,System.Collections.Generic.IReadOnlyCollection{`1}}},System.Collections.Generic.IEqualityComparer{`0},System.Func{``0})`.
/// C# member: `M:LibreMetaverse.MultiValueDictionary`2.Create``1(System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{`0,System.Collections.Generic.IReadOnlyCollection{`1}}},System.Func{``0})`.
/// C# member: `M:LibreMetaverse.MultiValueDictionary`2.Create``1(System.Collections.Generic.IEqualityComparer{`0})`.
/// C# member: `M:LibreMetaverse.MultiValueDictionary`2.Create``1(System.Collections.Generic.IEqualityComparer{`0},System.Func{``0})`.
/// C# member: `M:LibreMetaverse.MultiValueDictionary`2.Create``1(System.Func{``0})`.
/// C# member: `M:LibreMetaverse.MultiValueDictionary`2.Create``1(System.Int32)`.
/// C# member: `M:LibreMetaverse.MultiValueDictionary`2.Create``1(System.Int32,System.Collections.Generic.IEqualityComparer{`0})`.
/// C# member: `M:LibreMetaverse.MultiValueDictionary`2.Create``1(System.Int32,System.Collections.Generic.IEqualityComparer{`0},System.Func{``0})`.
/// C# member: `M:LibreMetaverse.MultiValueDictionary`2.Create``1(System.Int32,System.Func{``0})`.
/// C# member: `M:LibreMetaverse.MultiValueDictionary`2.GetEnumerator`.
/// C# member: `M:LibreMetaverse.MultiValueDictionary`2.Remove(`0)`.
/// C# member: `M:LibreMetaverse.MultiValueDictionary`2.Remove(`0,`1)`.
/// C# member: `M:LibreMetaverse.MultiValueDictionary`2.TryGetValue(`0,System.Collections.Generic.IReadOnlyCollection{`1}@)`.
/// C# member: `P:LibreMetaverse.MultiValueDictionary`2.Count`.
/// C# member: `P:LibreMetaverse.MultiValueDictionary`2.Item(`0)`.
/// C# member: `P:LibreMetaverse.MultiValueDictionary`2.Keys`.
/// C# member: `P:LibreMetaverse.MultiValueDictionary`2.Values`.
pub use crate::collections::MultiValueDictionary;

/// C# type: `T:LibreMetaverse.ObjectCategory`.
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(i32)]
pub enum ObjectCategory {
    /// C# member: `F:LibreMetaverse.ObjectCategory.Group`.
    Group = 2,
    /// C# member: `F:LibreMetaverse.ObjectCategory.Invalid`.
    Invalid = -1,
    /// C# member: `F:LibreMetaverse.ObjectCategory.None`.
    None = 0,
    /// C# member: `F:LibreMetaverse.ObjectCategory.Other`.
    Other = 3,
    /// C# member: `F:LibreMetaverse.ObjectCategory.Owner`.
    Owner = 1,
    /// C# member: `F:LibreMetaverse.ObjectCategory.Selected`.
    Selected = 4,
    /// C# member: `F:LibreMetaverse.ObjectCategory.Temporary`.
    Temporary = 5,
}

/// C# type: `T:LibreMetaverse.PCode`.
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(u8)]
pub enum PCode {
    /// C# member: `F:LibreMetaverse.PCode.Avatar`.
    Avatar = 47,
    /// C# member: `F:LibreMetaverse.PCode.Grass`.
    Grass = 95,
    /// C# member: `F:LibreMetaverse.PCode.NewTree`.
    NewTree = 111,
    /// C# member: `F:LibreMetaverse.PCode.None`.
    None = 0,
    /// C# member: `F:LibreMetaverse.PCode.ParticleSystem`.
    ParticleSystem = 143,
    /// C# member: `F:LibreMetaverse.PCode.Prim`.
    Prim = 9,
    /// C# member: `F:LibreMetaverse.PCode.Tree`.
    Tree = 255,
}

/// C# type: `T:LibreMetaverse.PathCurve`.
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(u8)]
pub enum PathCurve {
    /// C# member: `F:LibreMetaverse.PathCurve.Circle`.
    Circle = 32,
    /// C# member: `F:LibreMetaverse.PathCurve.Circle2`.
    Circle2 = 48,
    /// C# member: `F:LibreMetaverse.PathCurve.Flexible`.
    Flexible = 128,
    /// C# member: `F:LibreMetaverse.PathCurve.Line`.
    Line = 16,
    /// C# member: `F:LibreMetaverse.PathCurve.Test`.
    Test = 64,
}

/// C# type: `T:LibreMetaverse.PhysicsShapeType`.
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(u8)]
pub enum PhysicsShapeType {
    /// C# member: `F:LibreMetaverse.PhysicsShapeType.ConvexHull`.
    ConvexHull = 2,
    /// C# member: `F:LibreMetaverse.PhysicsShapeType.None`.
    None = 1,
    /// C# member: `F:LibreMetaverse.PhysicsShapeType.Prim`.
    Prim = 0,
}

/// C# type: `T:LibreMetaverse.PrimFlags`.
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(transparent)]
pub struct PrimFlags(pub u32);
impl PrimFlags {
    /// C# member: `F:LibreMetaverse.PrimFlags.AllowInventoryDrop`.
    pub const ALLOW_INVENTORY_DROP: Self = Self(65536);
    /// C# member: `F:LibreMetaverse.PrimFlags.AnimSource`.
    pub const ANIM_SOURCE: Self = Self(2097152);
    /// C# member: `F:LibreMetaverse.PrimFlags.CameraDecoupled`.
    pub const CAMERA_DECOUPLED: Self = Self(1048576);
    /// C# member: `F:LibreMetaverse.PrimFlags.CameraSource`.
    pub const CAMERA_SOURCE: Self = Self(4194304);
    /// C# member: `F:LibreMetaverse.PrimFlags.CastShadows`.
    pub const CAST_SHADOWS: Self = Self(8388608);
    /// C# member: `F:LibreMetaverse.PrimFlags.CreateSelected`.
    pub const CREATE_SELECTED: Self = Self(2);
    /// C# member: `F:LibreMetaverse.PrimFlags.DieAtEdge`.
    pub const DIE_AT_EDGE: Self = Self(16777216);
    /// C# member: `F:LibreMetaverse.PrimFlags.Flying`.
    pub const FLYING: Self = Self(134217728);
    /// C# member: `F:LibreMetaverse.PrimFlags.InventoryEmpty`.
    pub const INVENTORY_EMPTY: Self = Self(2048);
    /// C# member: `F:LibreMetaverse.PrimFlags.JointHinge`.
    pub const JOINT_HINGE: Self = Self(4096);
    /// C# member: `F:LibreMetaverse.PrimFlags.JointLP2P`.
    pub const JOINT_LP2_P: Self = Self(16384);
    /// C# member: `F:LibreMetaverse.PrimFlags.JointP2P`.
    pub const JOINT_P2_P: Self = Self(8192);
    /// C# member: `F:LibreMetaverse.PrimFlags.JointWheel`.
    pub const JOINT_WHEEL: Self = Self(32768);
    /// C# member: `F:LibreMetaverse.PrimFlags.Money`.
    pub const MONEY: Self = Self(512);
    /// C# member: `F:LibreMetaverse.PrimFlags.None`.
    pub const NONE: Self = Self(0);
    /// C# member: `F:LibreMetaverse.PrimFlags.ObjectAnyOwner`.
    pub const OBJECT_ANY_OWNER: Self = Self(16);
    /// C# member: `F:LibreMetaverse.PrimFlags.ObjectCopy`.
    pub const OBJECT_COPY: Self = Self(8);
    /// C# member: `F:LibreMetaverse.PrimFlags.ObjectGroupOwned`.
    pub const OBJECT_GROUP_OWNED: Self = Self(262144);
    /// C# member: `F:LibreMetaverse.PrimFlags.ObjectModify`.
    pub const OBJECT_MODIFY: Self = Self(4);
    /// C# member: `F:LibreMetaverse.PrimFlags.ObjectMove`.
    pub const OBJECT_MOVE: Self = Self(256);
    /// C# member: `F:LibreMetaverse.PrimFlags.ObjectOwnerModify`.
    pub const OBJECT_OWNER_MODIFY: Self = Self(268435456);
    /// C# member: `F:LibreMetaverse.PrimFlags.ObjectTransfer`.
    pub const OBJECT_TRANSFER: Self = Self(131072);
    /// C# member: `F:LibreMetaverse.PrimFlags.ObjectYouOfficer`.
    pub const OBJECT_YOU_OFFICER: Self = Self(524288);
    /// C# member: `F:LibreMetaverse.PrimFlags.ObjectYouOwner`.
    pub const OBJECT_YOU_OWNER: Self = Self(32);
    /// C# member: `F:LibreMetaverse.PrimFlags.Phantom`.
    pub const PHANTOM: Self = Self(1024);
    /// C# member: `F:LibreMetaverse.PrimFlags.Physics`.
    pub const PHYSICS: Self = Self(1);
    /// C# member: `F:LibreMetaverse.PrimFlags.ReturnAtEdge`.
    pub const RETURN_AT_EDGE: Self = Self(33554432);
    /// C# member: `F:LibreMetaverse.PrimFlags.Sandbox`.
    pub const SANDBOX: Self = Self(67108864);
    /// C# member: `F:LibreMetaverse.PrimFlags.Scripted`.
    pub const SCRIPTED: Self = Self(64);
    /// C# member: `F:LibreMetaverse.PrimFlags.Temporary`.
    pub const TEMPORARY: Self = Self(1073741824);
    /// C# member: `F:LibreMetaverse.PrimFlags.TemporaryOnRez`.
    pub const TEMPORARY_ON_REZ: Self = Self(536870912);
    /// C# member: `F:LibreMetaverse.PrimFlags.Touch`.
    pub const TOUCH: Self = Self(128);
    /// C# member: `F:LibreMetaverse.PrimFlags.ZlibCompressed`.
    pub const ZLIB_COMPRESSED: Self = Self(2147483648);
}

/// C# type: `T:LibreMetaverse.PrimType`.
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(i32)]
pub enum PrimType {
    /// C# member: `F:LibreMetaverse.PrimType.Box`.
    Box = 1,
    /// C# member: `F:LibreMetaverse.PrimType.Cylinder`.
    Cylinder = 2,
    /// C# member: `F:LibreMetaverse.PrimType.Mesh`.
    Mesh = 9,
    /// C# member: `F:LibreMetaverse.PrimType.Prism`.
    Prism = 3,
    /// C# member: `F:LibreMetaverse.PrimType.Ring`.
    Ring = 7,
    /// C# member: `F:LibreMetaverse.PrimType.Sculpt`.
    Sculpt = 8,
    /// C# member: `F:LibreMetaverse.PrimType.Sphere`.
    Sphere = 4,
    /// C# member: `F:LibreMetaverse.PrimType.Torus`.
    Torus = 5,
    /// C# member: `F:LibreMetaverse.PrimType.Tube`.
    Tube = 6,
    /// C# member: `F:LibreMetaverse.PrimType.Unknown`.
    Unknown = 0,
}

/// C# type: `T:LibreMetaverse.ProfileCurve`.
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(u8)]
pub enum ProfileCurve {
    /// C# member: `F:LibreMetaverse.ProfileCurve.Circle`.
    Circle = 0,
    /// C# member: `F:LibreMetaverse.ProfileCurve.EqualTriangle`.
    EqualTriangle = 3,
    /// C# member: `F:LibreMetaverse.ProfileCurve.HalfCircle`.
    HalfCircle = 5,
    /// C# member: `F:LibreMetaverse.ProfileCurve.IsoTriangle`.
    IsoTriangle = 2,
    /// C# member: `F:LibreMetaverse.ProfileCurve.RightTriangle`.
    RightTriangle = 4,
    /// C# member: `F:LibreMetaverse.ProfileCurve.Square`.
    Square = 1,
}

/// C# type: `T:LibreMetaverse.Quaternion`.
/// C# member: `F:LibreMetaverse.Quaternion.Identity`.
/// C# member: `F:LibreMetaverse.Quaternion.W`.
/// C# member: `F:LibreMetaverse.Quaternion.X`.
/// C# member: `F:LibreMetaverse.Quaternion.Y`.
/// C# member: `F:LibreMetaverse.Quaternion.Z`.
/// C# member: `M:LibreMetaverse.Quaternion.#ctor(LibreMetaverse.Vector3,System.Single)`.
/// C# member: `M:LibreMetaverse.Quaternion.#ctor(System.Byte[],System.Int32,System.Boolean)`.
/// C# member: `M:LibreMetaverse.Quaternion.#ctor(System.Single,System.Single,System.Single)`.
/// C# member: `M:LibreMetaverse.Quaternion.#ctor(System.Single,System.Single,System.Single,System.Single)`.
/// C# member: `M:LibreMetaverse.Quaternion.Add(LibreMetaverse.Quaternion,LibreMetaverse.Quaternion)`.
/// C# member: `M:LibreMetaverse.Quaternion.ApproxEquals(LibreMetaverse.Quaternion,System.Single)`.
/// C# member: `M:LibreMetaverse.Quaternion.Conjugate(LibreMetaverse.Quaternion)`.
/// C# member: `M:LibreMetaverse.Quaternion.CreateFromAxisAngle(LibreMetaverse.Vector3,System.Single)`.
/// C# member: `M:LibreMetaverse.Quaternion.CreateFromAxisAngle(System.Single,System.Single,System.Single,System.Single)`.
/// C# member: `M:LibreMetaverse.Quaternion.CreateFromEulers(LibreMetaverse.Vector3)`.
/// C# member: `M:LibreMetaverse.Quaternion.CreateFromEulers(System.Single,System.Single,System.Single)`.
/// C# member: `M:LibreMetaverse.Quaternion.CreateFromRotationMatrix(LibreMetaverse.Matrix4)`.
/// C# member: `M:LibreMetaverse.Quaternion.Divide(LibreMetaverse.Quaternion,LibreMetaverse.Quaternion)`.
/// C# member: `M:LibreMetaverse.Quaternion.Dot(LibreMetaverse.Quaternion,LibreMetaverse.Quaternion)`.
/// C# member: `M:LibreMetaverse.Quaternion.Equals(LibreMetaverse.Quaternion)`.
/// C# member: `M:LibreMetaverse.Quaternion.Equals(System.Object)`.
/// C# member: `M:LibreMetaverse.Quaternion.FromBytes(System.Byte[],System.Int32,System.Boolean)`.
/// C# member: `M:LibreMetaverse.Quaternion.GetAxisAngle(LibreMetaverse.Vector3@,System.Single@)`.
/// C# member: `M:LibreMetaverse.Quaternion.GetBytes`.
/// C# member: `M:LibreMetaverse.Quaternion.GetEulerAngles(System.Single@,System.Single@,System.Single@)`.
/// C# member: `M:LibreMetaverse.Quaternion.GetHashCode`.
/// C# member: `M:LibreMetaverse.Quaternion.Inverse(LibreMetaverse.Quaternion)`.
/// C# member: `M:LibreMetaverse.Quaternion.Length`.
/// C# member: `M:LibreMetaverse.Quaternion.LengthSquared`.
/// C# member: `M:LibreMetaverse.Quaternion.Multiply(LibreMetaverse.Quaternion,LibreMetaverse.Quaternion)`.
/// C# member: `M:LibreMetaverse.Quaternion.Multiply(LibreMetaverse.Quaternion,System.Single)`.
/// C# member: `M:LibreMetaverse.Quaternion.Negate(LibreMetaverse.Quaternion)`.
/// C# member: `M:LibreMetaverse.Quaternion.Normalize(LibreMetaverse.Quaternion)`.
/// C# member: `M:LibreMetaverse.Quaternion.Parse(System.String)`.
/// C# member: `M:LibreMetaverse.Quaternion.Slerp(LibreMetaverse.Quaternion,LibreMetaverse.Quaternion,System.Single)`.
/// C# member: `M:LibreMetaverse.Quaternion.Subtract(LibreMetaverse.Quaternion,LibreMetaverse.Quaternion)`.
/// C# member: `M:LibreMetaverse.Quaternion.ToBytes(System.Byte[],System.Int32)`.
/// C# member: `M:LibreMetaverse.Quaternion.ToEulerVector`.
/// C# member: `M:LibreMetaverse.Quaternion.ToRawString`.
/// C# member: `M:LibreMetaverse.Quaternion.ToString`.
/// C# member: `M:LibreMetaverse.Quaternion.TryParse(System.String,LibreMetaverse.Quaternion@)`.
/// C# member: `M:LibreMetaverse.Quaternion.op_Addition(LibreMetaverse.Quaternion,LibreMetaverse.Quaternion)`.
/// C# member: `M:LibreMetaverse.Quaternion.op_Division(LibreMetaverse.Quaternion,LibreMetaverse.Quaternion)`.
/// C# member: `M:LibreMetaverse.Quaternion.op_Equality(LibreMetaverse.Quaternion,LibreMetaverse.Quaternion)`.
/// C# member: `M:LibreMetaverse.Quaternion.op_Inequality(LibreMetaverse.Quaternion,LibreMetaverse.Quaternion)`.
/// C# member: `M:LibreMetaverse.Quaternion.op_Multiply(LibreMetaverse.Quaternion,LibreMetaverse.Quaternion)`.
/// C# member: `M:LibreMetaverse.Quaternion.op_Multiply(LibreMetaverse.Quaternion,System.Single)`.
/// C# member: `M:LibreMetaverse.Quaternion.op_Subtraction(LibreMetaverse.Quaternion,LibreMetaverse.Quaternion)`.
/// C# member: `M:LibreMetaverse.Quaternion.op_UnaryNegation(LibreMetaverse.Quaternion)`.
pub use crate::geometry::Quaternion;

/// C# type: `T:LibreMetaverse.Ray`.
/// C# member: `F:LibreMetaverse.Ray.Direction`.
/// C# member: `F:LibreMetaverse.Ray.Origin`.
/// C# member: `M:LibreMetaverse.Ray.#ctor(LibreMetaverse.Vector3,LibreMetaverse.Vector3)`.
pub use crate::vectors::Ray;

/// C# type: `T:LibreMetaverse.SaleType`.
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(u8)]
pub enum SaleType {
    /// C# member: `F:LibreMetaverse.SaleType.Contents`.
    Contents = 3,
    /// C# member: `F:LibreMetaverse.SaleType.Copy`.
    Copy = 2,
    /// C# member: `F:LibreMetaverse.SaleType.Not`.
    Not = 0,
    /// C# member: `F:LibreMetaverse.SaleType.Original`.
    Original = 1,
}

/// C# type: `T:LibreMetaverse.SculptType`.
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(u8)]
pub enum SculptType {
    /// C# member: `F:LibreMetaverse.SculptType.Cylinder`.
    Cylinder = 4,
    /// C# member: `F:LibreMetaverse.SculptType.Invert`.
    Invert = 64,
    /// C# member: `F:LibreMetaverse.SculptType.Mesh`.
    Mesh = 5,
    /// C# member: `F:LibreMetaverse.SculptType.Mirror`.
    Mirror = 128,
    /// C# member: `F:LibreMetaverse.SculptType.None`.
    None = 0,
    /// C# member: `F:LibreMetaverse.SculptType.Plane`.
    Plane = 3,
    /// C# member: `F:LibreMetaverse.SculptType.Sphere`.
    Sphere = 1,
    /// C# member: `F:LibreMetaverse.SculptType.Torus`.
    Torus = 2,
}

/// C# type: `T:LibreMetaverse.SoundFlags`.
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(transparent)]
pub struct SoundFlags(pub u8);
impl SoundFlags {
    /// C# member: `F:LibreMetaverse.SoundFlags.Loop`.
    pub const LOOP_: Self = Self(1);
    /// C# member: `F:LibreMetaverse.SoundFlags.None`.
    pub const NONE: Self = Self(0);
    /// C# member: `F:LibreMetaverse.SoundFlags.Queue`.
    pub const QUEUE: Self = Self(16);
    /// C# member: `F:LibreMetaverse.SoundFlags.Stop`.
    pub const STOP: Self = Self(32);
    /// C# member: `F:LibreMetaverse.SoundFlags.SyncMaster`.
    pub const SYNC_MASTER: Self = Self(2);
    /// C# member: `F:LibreMetaverse.SoundFlags.SyncPending`.
    pub const SYNC_PENDING: Self = Self(8);
    /// C# member: `F:LibreMetaverse.SoundFlags.SyncSlave`.
    pub const SYNC_SLAVE: Self = Self(4);
}

/// C# type: `T:LibreMetaverse.TokenBucket`.
/// C# member: `M:LibreMetaverse.TokenBucket.#ctor(LibreMetaverse.TokenBucket,System.Int32,System.Int32)`.
/// C# member: `M:LibreMetaverse.TokenBucket.RemoveTokens(System.Int32)`.
/// C# member: `M:LibreMetaverse.TokenBucket.RemoveTokens(System.Int32,System.Boolean@)`.
/// C# member: `P:LibreMetaverse.TokenBucket.Content`.
/// C# member: `P:LibreMetaverse.TokenBucket.DripRate`.
/// C# member: `P:LibreMetaverse.TokenBucket.MaxBurst`.
/// C# member: `P:LibreMetaverse.TokenBucket.Parent`.
pub use crate::collections::TokenBucket;

/// C# type: `T:LibreMetaverse.UUID`.
/// C# member: `F:LibreMetaverse.UUID.Zero`.
/// C# member: `M:LibreMetaverse.UUID.#ctor(System.Byte[],System.Int32)`.
/// C# member: `M:LibreMetaverse.UUID.#ctor(System.Guid)`.
/// C# member: `M:LibreMetaverse.UUID.#ctor(System.String)`.
/// C# member: `M:LibreMetaverse.UUID.#ctor(System.UInt64)`.
/// C# member: `M:LibreMetaverse.UUID.CRC`.
/// C# member: `M:LibreMetaverse.UUID.Combine(LibreMetaverse.UUID,LibreMetaverse.UUID)`.
/// C# member: `M:LibreMetaverse.UUID.CompareTo(LibreMetaverse.UUID)`.
/// C# member: `M:LibreMetaverse.UUID.Deconstruct(System.Guid@)`.
/// C# member: `M:LibreMetaverse.UUID.Equals(LibreMetaverse.UUID)`.
/// C# member: `M:LibreMetaverse.UUID.Equals(System.Object)`.
/// C# member: `M:LibreMetaverse.UUID.FromBytes(System.Byte[],System.Int32)`.
/// C# member: `M:LibreMetaverse.UUID.GetBytes`.
/// C# member: `M:LibreMetaverse.UUID.GetHashCode`.
/// C# member: `M:LibreMetaverse.UUID.GetULong`.
/// C# member: `M:LibreMetaverse.UUID.Parse(System.String)`.
/// C# member: `M:LibreMetaverse.UUID.Random`.
/// C# member: `M:LibreMetaverse.UUID.SecureRandom`.
/// C# member: `M:LibreMetaverse.UUID.ToBytes(System.Byte[],System.Int32)`.
/// C# member: `M:LibreMetaverse.UUID.ToString`.
/// C# member: `M:LibreMetaverse.UUID.TryParse(System.String,LibreMetaverse.UUID@)`.
/// C# member: `M:LibreMetaverse.UUID.op_Equality(LibreMetaverse.UUID,LibreMetaverse.UUID)`.
/// C# member: `M:LibreMetaverse.UUID.op_ExclusiveOr(LibreMetaverse.UUID,LibreMetaverse.UUID)`.
/// C# member: `M:LibreMetaverse.UUID.op_Explicit(System.String)~LibreMetaverse.UUID`.
/// C# member: `M:LibreMetaverse.UUID.op_Inequality(LibreMetaverse.UUID,LibreMetaverse.UUID)`.
/// C# member: `P:LibreMetaverse.UUID.Guid`.
pub use crate::uuid::UUID;

/// C# type: `T:LibreMetaverse.Utils`.
/// C# member: `F:LibreMetaverse.Utils.DEG_TO_RAD`.
/// C# member: `F:LibreMetaverse.Utils.E`.
/// C# member: `F:LibreMetaverse.Utils.EmptyBytes`.
/// C# member: `F:LibreMetaverse.Utils.EnUsCulture`.
/// C# member: `F:LibreMetaverse.Utils.Epoch`.
/// C# member: `F:LibreMetaverse.Utils.InternStrings`.
/// C# member: `F:LibreMetaverse.Utils.LOG10E`.
/// C# member: `F:LibreMetaverse.Utils.LOG2E`.
/// C# member: `F:LibreMetaverse.Utils.PI`.
/// C# member: `F:LibreMetaverse.Utils.PI_OVER_FOUR`.
/// C# member: `F:LibreMetaverse.Utils.PI_OVER_TWO`.
/// C# member: `F:LibreMetaverse.Utils.RAD_TO_DEG`.
/// C# member: `F:LibreMetaverse.Utils.TWO_PI`.
/// C# member: `M:LibreMetaverse.Utils.AssetTypeToString(LibreMetaverse.AssetType)`.
/// C# member: `M:LibreMetaverse.Utils.ByteToFloat(System.Byte,System.Single,System.Single)`.
/// C# member: `M:LibreMetaverse.Utils.ByteToFloat(System.Byte[],System.Int32,System.Single,System.Single)`.
/// C# member: `M:LibreMetaverse.Utils.BytesToDouble(System.Byte[],System.Int32)`.
/// C# member: `M:LibreMetaverse.Utils.BytesToFloat(System.Byte[],System.Int32)`.
/// C# member: `M:LibreMetaverse.Utils.BytesToHexString(System.Byte[],System.Int32,System.String)`.
/// C# member: `M:LibreMetaverse.Utils.BytesToHexString(System.Byte[],System.String)`.
/// C# member: `M:LibreMetaverse.Utils.BytesToInt(System.Byte[])`.
/// C# member: `M:LibreMetaverse.Utils.BytesToInt(System.Byte[],System.Int32)`.
/// C# member: `M:LibreMetaverse.Utils.BytesToInt16(System.Byte[])`.
/// C# member: `M:LibreMetaverse.Utils.BytesToInt16(System.Byte[],System.Int32)`.
/// C# member: `M:LibreMetaverse.Utils.BytesToInt64(System.Byte[])`.
/// C# member: `M:LibreMetaverse.Utils.BytesToInt64(System.Byte[],System.Int32)`.
/// C# member: `M:LibreMetaverse.Utils.BytesToString(System.Byte[])`.
/// C# member: `M:LibreMetaverse.Utils.BytesToString(System.Byte[],System.Int32,System.Int32)`.
/// C# member: `M:LibreMetaverse.Utils.BytesToUInt(System.Byte[])`.
/// C# member: `M:LibreMetaverse.Utils.BytesToUInt(System.Byte[],System.Int32)`.
/// C# member: `M:LibreMetaverse.Utils.BytesToUInt16(System.Byte[])`.
/// C# member: `M:LibreMetaverse.Utils.BytesToUInt16(System.Byte[],System.Int32)`.
/// C# member: `M:LibreMetaverse.Utils.BytesToUInt64(System.Byte[])`.
/// C# member: `M:LibreMetaverse.Utils.Clamp(System.Double,System.Double,System.Double)`.
/// C# member: `M:LibreMetaverse.Utils.Clamp(System.Int32,System.Int32,System.Int32)`.
/// C# member: `M:LibreMetaverse.Utils.Clamp(System.Single,System.Single,System.Single)`.
/// C# member: `M:LibreMetaverse.Utils.CopyBytes(System.Byte[])`.
/// C# member: `M:LibreMetaverse.Utils.DateTimeToUnixTime(System.DateTime)`.
/// C# member: `M:LibreMetaverse.Utils.Distance(System.Single,System.Single)`.
/// C# member: `M:LibreMetaverse.Utils.DoubleToBytes(System.Double)`.
/// C# member: `M:LibreMetaverse.Utils.DoubleToBytes(System.Double,System.Byte[],System.Int32)`.
/// C# member: `M:LibreMetaverse.Utils.DoubleToBytesBig(System.Double)`.
/// C# member: `M:LibreMetaverse.Utils.EnumToText(System.Enum)`.
/// C# member: `M:LibreMetaverse.Utils.EnumTryParse``1(System.String,``0@)`.
/// C# member: `M:LibreMetaverse.Utils.FloatToByte(System.Single,System.Single,System.Single)`.
/// C# member: `M:LibreMetaverse.Utils.FloatToBytes(System.Single)`.
/// C# member: `M:LibreMetaverse.Utils.FloatToBytes(System.Single,System.Byte[],System.Int32)`.
/// C# member: `M:LibreMetaverse.Utils.FloatToUInt16(System.Single,System.Single,System.Single)`.
/// C# member: `M:LibreMetaverse.Utils.FolderTypeToString(LibreMetaverse.FolderType)`.
/// C# member: `M:LibreMetaverse.Utils.GetRunningPlatform`.
/// C# member: `M:LibreMetaverse.Utils.GetUnixTime`.
/// C# member: `M:LibreMetaverse.Utils.Hermite(System.Double,System.Double,System.Double,System.Double,System.Double)`.
/// C# member: `M:LibreMetaverse.Utils.Hermite(System.Single,System.Single,System.Single,System.Single,System.Single)`.
/// C# member: `M:LibreMetaverse.Utils.HexStringToBytes(System.String,System.Boolean)`.
/// C# member: `M:LibreMetaverse.Utils.HostnameToIPv4(System.String)`.
/// C# member: `M:LibreMetaverse.Utils.IPToUInt(System.Net.IPAddress)`.
/// C# member: `M:LibreMetaverse.Utils.Int16ToBytes(System.Int16)`.
/// C# member: `M:LibreMetaverse.Utils.Int16ToBytes(System.Int16,System.Byte[],System.Int32)`.
/// C# member: `M:LibreMetaverse.Utils.Int64ToBytes(System.Int64)`.
/// C# member: `M:LibreMetaverse.Utils.Int64ToBytes(System.Int64,System.Byte[],System.Int32)`.
/// C# member: `M:LibreMetaverse.Utils.IntToBytes(System.Int32)`.
/// C# member: `M:LibreMetaverse.Utils.IntToBytes(System.Int32,System.Byte[],System.Int32)`.
/// C# member: `M:LibreMetaverse.Utils.IntToBytesBig(System.Int32)`.
/// C# member: `M:LibreMetaverse.Utils.InventoryTypeToString(LibreMetaverse.InventoryType)`.
/// C# member: `M:LibreMetaverse.Utils.IsFinite(System.Double)`.
/// C# member: `M:LibreMetaverse.Utils.IsFinite(System.Single)`.
/// C# member: `M:LibreMetaverse.Utils.Lerp(System.Double,System.Double,System.Double)`.
/// C# member: `M:LibreMetaverse.Utils.Lerp(System.Single,System.Single,System.Single)`.
/// C# member: `M:LibreMetaverse.Utils.LongToUInts(System.UInt64,System.UInt32@,System.UInt32@)`.
/// C# member: `M:LibreMetaverse.Utils.MD5(System.Byte[])`.
/// C# member: `M:LibreMetaverse.Utils.MD5(System.String)`.
/// C# member: `M:LibreMetaverse.Utils.MD5String(System.String)`.
/// C# member: `M:LibreMetaverse.Utils.PBKDF2(System.String)`.
/// C# member: `M:LibreMetaverse.Utils.RandomDouble`.
/// C# member: `M:LibreMetaverse.Utils.ReadDoubleLittleEndian(System.Byte[],System.Int32)`.
/// C# member: `M:LibreMetaverse.Utils.ReadSingleLittleEndian(System.Byte[],System.Int32)`.
/// C# member: `M:LibreMetaverse.Utils.Round(System.Single)`.
/// C# member: `M:LibreMetaverse.Utils.SHA1(System.Byte[])`.
/// C# member: `M:LibreMetaverse.Utils.SHA1String(System.String)`.
/// C# member: `M:LibreMetaverse.Utils.SHA256(System.Byte[])`.
/// C# member: `M:LibreMetaverse.Utils.SHA256String(System.String)`.
/// C# member: `M:LibreMetaverse.Utils.SaleTypeToString(LibreMetaverse.SaleType)`.
/// C# member: `M:LibreMetaverse.Utils.SmoothStep(System.Double,System.Double,System.Double)`.
/// C# member: `M:LibreMetaverse.Utils.SmoothStep(System.Single,System.Single,System.Single)`.
/// C# member: `M:LibreMetaverse.Utils.StringToAssetType(System.String)`.
/// C# member: `M:LibreMetaverse.Utils.StringToAttachmentPoint(System.String)`.
/// C# member: `M:LibreMetaverse.Utils.StringToBytes(System.String)`.
/// C# member: `M:LibreMetaverse.Utils.StringToFolderType(System.String)`.
/// C# member: `M:LibreMetaverse.Utils.StringToInventoryType(System.String)`.
/// C# member: `M:LibreMetaverse.Utils.StringToSaleType(System.String)`.
/// C# member: `M:LibreMetaverse.Utils.SwapWords(System.Byte)`.
/// C# member: `M:LibreMetaverse.Utils.Swap``1(``0@,``0@)`.
/// C# member: `M:LibreMetaverse.Utils.ToDegrees(System.Single)`.
/// C# member: `M:LibreMetaverse.Utils.ToRadians(System.Single)`.
/// C# member: `M:LibreMetaverse.Utils.TryParseDouble(System.String,System.Double@)`.
/// C# member: `M:LibreMetaverse.Utils.TryParseHex(System.String,System.UInt32@)`.
/// C# member: `M:LibreMetaverse.Utils.TryParseSingle(System.String,System.Single@)`.
/// C# member: `M:LibreMetaverse.Utils.UInt16ToBytes(System.UInt16)`.
/// C# member: `M:LibreMetaverse.Utils.UInt16ToBytes(System.UInt16,System.Byte[],System.Int32)`.
/// C# member: `M:LibreMetaverse.Utils.UInt16ToBytesBig(System.UInt16,System.Byte[],System.Int32)`.
/// C# member: `M:LibreMetaverse.Utils.UInt16ToFloat(System.Byte[],System.Int32,System.Single,System.Single)`.
/// C# member: `M:LibreMetaverse.Utils.UInt16ToFloat(System.UInt16,System.Single,System.Single)`.
/// C# member: `M:LibreMetaverse.Utils.UInt64ToBytes(System.UInt64)`.
/// C# member: `M:LibreMetaverse.Utils.UInt64ToBytes(System.UInt64,System.Byte[],System.Int32)`.
/// C# member: `M:LibreMetaverse.Utils.UInt64ToBytesBig(System.UInt64)`.
/// C# member: `M:LibreMetaverse.Utils.UInt64ToBytesBig(System.UInt64,System.Byte[],System.Int32)`.
/// C# member: `M:LibreMetaverse.Utils.UIntToBytes(System.UInt32)`.
/// C# member: `M:LibreMetaverse.Utils.UIntToBytes(System.UInt32,System.Byte[],System.Int32)`.
/// C# member: `M:LibreMetaverse.Utils.UIntToBytesBig(System.UInt32,System.Byte[],System.Int32)`.
/// C# member: `M:LibreMetaverse.Utils.UIntToHexString(System.UInt32)`.
/// C# member: `M:LibreMetaverse.Utils.UIntsToLong(System.UInt32,System.UInt32)`.
/// C# member: `M:LibreMetaverse.Utils.UnixTimeToDateTime(System.Int32)`.
/// C# member: `M:LibreMetaverse.Utils.UnixTimeToDateTime(System.UInt32)`.
/// C# member: `M:LibreMetaverse.Utils.WriteDoubleLittleEndian(System.Byte[],System.Int32,System.Double)`.
/// C# member: `M:LibreMetaverse.Utils.WriteSingleLittleEndian(System.Byte[],System.Int32,System.Single)`.
pub use crate::utils::Utils;

/// C# type: `T:LibreMetaverse.Utils.Platform`.
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(i32)]
pub enum UtilsPlatform {
    /// C# member: `F:LibreMetaverse.Utils.Platform.Linux`.
    Linux = 3,
    /// C# member: `F:LibreMetaverse.Utils.Platform.OSX`.
    OSX = 4,
    /// C# member: `F:LibreMetaverse.Utils.Platform.Unknown`.
    Unknown = 0,
    /// C# member: `F:LibreMetaverse.Utils.Platform.Windows`.
    Windows = 1,
    /// C# member: `F:LibreMetaverse.Utils.Platform.WindowsCE`.
    WindowsCE = 2,
}

/// C# type: `T:LibreMetaverse.Vector2`.
/// C# member: `F:LibreMetaverse.Vector2.One`.
/// C# member: `F:LibreMetaverse.Vector2.UnitX`.
/// C# member: `F:LibreMetaverse.Vector2.UnitY`.
/// C# member: `F:LibreMetaverse.Vector2.X`.
/// C# member: `F:LibreMetaverse.Vector2.Y`.
/// C# member: `F:LibreMetaverse.Vector2.Zero`.
/// C# member: `M:LibreMetaverse.Vector2.#ctor(LibreMetaverse.Vector2)`.
/// C# member: `M:LibreMetaverse.Vector2.#ctor(System.Single)`.
/// C# member: `M:LibreMetaverse.Vector2.#ctor(System.Single,System.Single)`.
/// C# member: `M:LibreMetaverse.Vector2.Add(LibreMetaverse.Vector2,LibreMetaverse.Vector2)`.
/// C# member: `M:LibreMetaverse.Vector2.ApproxEquals(LibreMetaverse.Vector2,System.Single)`.
/// C# member: `M:LibreMetaverse.Vector2.Clamp(LibreMetaverse.Vector2,LibreMetaverse.Vector2,LibreMetaverse.Vector2)`.
/// C# member: `M:LibreMetaverse.Vector2.CompareTo(LibreMetaverse.Vector2)`.
/// C# member: `M:LibreMetaverse.Vector2.Distance(LibreMetaverse.Vector2,LibreMetaverse.Vector2)`.
/// C# member: `M:LibreMetaverse.Vector2.DistanceSquared(LibreMetaverse.Vector2,LibreMetaverse.Vector2)`.
/// C# member: `M:LibreMetaverse.Vector2.Divide(LibreMetaverse.Vector2,LibreMetaverse.Vector2)`.
/// C# member: `M:LibreMetaverse.Vector2.Divide(LibreMetaverse.Vector2,System.Single)`.
/// C# member: `M:LibreMetaverse.Vector2.Dot(LibreMetaverse.Vector2,LibreMetaverse.Vector2)`.
/// C# member: `M:LibreMetaverse.Vector2.Equals(LibreMetaverse.Vector2)`.
/// C# member: `M:LibreMetaverse.Vector2.Equals(System.Object)`.
/// C# member: `M:LibreMetaverse.Vector2.FromBytes(System.Byte[],System.Int32)`.
/// C# member: `M:LibreMetaverse.Vector2.GetBytes`.
/// C# member: `M:LibreMetaverse.Vector2.GetHashCode`.
/// C# member: `M:LibreMetaverse.Vector2.IsFinite`.
/// C# member: `M:LibreMetaverse.Vector2.Length`.
/// C# member: `M:LibreMetaverse.Vector2.LengthSquared`.
/// C# member: `M:LibreMetaverse.Vector2.Lerp(LibreMetaverse.Vector2,LibreMetaverse.Vector2,System.Single)`.
/// C# member: `M:LibreMetaverse.Vector2.Max(LibreMetaverse.Vector2,LibreMetaverse.Vector2)`.
/// C# member: `M:LibreMetaverse.Vector2.Min(LibreMetaverse.Vector2,LibreMetaverse.Vector2)`.
/// C# member: `M:LibreMetaverse.Vector2.Multiply(LibreMetaverse.Vector2,LibreMetaverse.Vector2)`.
/// C# member: `M:LibreMetaverse.Vector2.Multiply(LibreMetaverse.Vector2,System.Single)`.
/// C# member: `M:LibreMetaverse.Vector2.Negate(LibreMetaverse.Vector2)`.
/// C# member: `M:LibreMetaverse.Vector2.Normalize`.
/// C# member: `M:LibreMetaverse.Vector2.Normalize(LibreMetaverse.Vector2)`.
/// C# member: `M:LibreMetaverse.Vector2.Parse(System.String)`.
/// C# member: `M:LibreMetaverse.Vector2.SmoothStep(LibreMetaverse.Vector2,LibreMetaverse.Vector2,System.Single)`.
/// C# member: `M:LibreMetaverse.Vector2.Subtract(LibreMetaverse.Vector2,LibreMetaverse.Vector2)`.
/// C# member: `M:LibreMetaverse.Vector2.ToBytes(System.Byte[],System.Int32)`.
/// C# member: `M:LibreMetaverse.Vector2.ToRawString`.
/// C# member: `M:LibreMetaverse.Vector2.ToString`.
/// C# member: `M:LibreMetaverse.Vector2.Transform(LibreMetaverse.Vector2,LibreMetaverse.Matrix4)`.
/// C# member: `M:LibreMetaverse.Vector2.TransformNormal(LibreMetaverse.Vector2,LibreMetaverse.Matrix4)`.
/// C# member: `M:LibreMetaverse.Vector2.TryParse(System.String,LibreMetaverse.Vector2@)`.
/// C# member: `M:LibreMetaverse.Vector2.op_Addition(LibreMetaverse.Vector2,LibreMetaverse.Vector2)`.
/// C# member: `M:LibreMetaverse.Vector2.op_Division(LibreMetaverse.Vector2,LibreMetaverse.Vector2)`.
/// C# member: `M:LibreMetaverse.Vector2.op_Division(LibreMetaverse.Vector2,System.Single)`.
/// C# member: `M:LibreMetaverse.Vector2.op_Equality(LibreMetaverse.Vector2,LibreMetaverse.Vector2)`.
/// C# member: `M:LibreMetaverse.Vector2.op_Inequality(LibreMetaverse.Vector2,LibreMetaverse.Vector2)`.
/// C# member: `M:LibreMetaverse.Vector2.op_Multiply(LibreMetaverse.Vector2,LibreMetaverse.Vector2)`.
/// C# member: `M:LibreMetaverse.Vector2.op_Multiply(LibreMetaverse.Vector2,System.Single)`.
/// C# member: `M:LibreMetaverse.Vector2.op_Subtraction(LibreMetaverse.Vector2,LibreMetaverse.Vector2)`.
/// C# member: `M:LibreMetaverse.Vector2.op_UnaryNegation(LibreMetaverse.Vector2)`.
pub use crate::vectors::Vector2;

/// C# type: `T:LibreMetaverse.Vector3`.
/// C# member: `F:LibreMetaverse.Vector3.One`.
/// C# member: `F:LibreMetaverse.Vector3.UnitX`.
/// C# member: `F:LibreMetaverse.Vector3.UnitY`.
/// C# member: `F:LibreMetaverse.Vector3.UnitZ`.
/// C# member: `F:LibreMetaverse.Vector3.X`.
/// C# member: `F:LibreMetaverse.Vector3.Y`.
/// C# member: `F:LibreMetaverse.Vector3.Z`.
/// C# member: `F:LibreMetaverse.Vector3.Zero`.
/// C# member: `M:LibreMetaverse.Vector3.#ctor(LibreMetaverse.Vector2,System.Single)`.
/// C# member: `M:LibreMetaverse.Vector3.#ctor(LibreMetaverse.Vector3d)`.
/// C# member: `M:LibreMetaverse.Vector3.#ctor(System.Byte[],System.Int32)`.
/// C# member: `M:LibreMetaverse.Vector3.#ctor(System.Single)`.
/// C# member: `M:LibreMetaverse.Vector3.#ctor(System.Single,System.Single,System.Single)`.
/// C# member: `M:LibreMetaverse.Vector3.Add(LibreMetaverse.Vector3,LibreMetaverse.Vector3)`.
/// C# member: `M:LibreMetaverse.Vector3.ApproxEquals(LibreMetaverse.Vector3,System.Single)`.
/// C# member: `M:LibreMetaverse.Vector3.Clamp(LibreMetaverse.Vector3,LibreMetaverse.Vector3,LibreMetaverse.Vector3)`.
/// C# member: `M:LibreMetaverse.Vector3.CompareTo(LibreMetaverse.Vector3)`.
/// C# member: `M:LibreMetaverse.Vector3.Cross(LibreMetaverse.Vector3,LibreMetaverse.Vector3)`.
/// C# member: `M:LibreMetaverse.Vector3.Distance(LibreMetaverse.Vector3,LibreMetaverse.Vector3)`.
/// C# member: `M:LibreMetaverse.Vector3.DistanceSquared(LibreMetaverse.Vector3,LibreMetaverse.Vector3)`.
/// C# member: `M:LibreMetaverse.Vector3.Divide(LibreMetaverse.Vector3,LibreMetaverse.Vector3)`.
/// C# member: `M:LibreMetaverse.Vector3.Divide(LibreMetaverse.Vector3,System.Single)`.
/// C# member: `M:LibreMetaverse.Vector3.Dot(LibreMetaverse.Vector3,LibreMetaverse.Vector3)`.
/// C# member: `M:LibreMetaverse.Vector3.Equals(LibreMetaverse.Vector3)`.
/// C# member: `M:LibreMetaverse.Vector3.Equals(System.Object)`.
/// C# member: `M:LibreMetaverse.Vector3.FromBytes(System.Byte[],System.Int32)`.
/// C# member: `M:LibreMetaverse.Vector3.GetBytes`.
/// C# member: `M:LibreMetaverse.Vector3.GetHashCode`.
/// C# member: `M:LibreMetaverse.Vector3.IsFinite`.
/// C# member: `M:LibreMetaverse.Vector3.Length`.
/// C# member: `M:LibreMetaverse.Vector3.LengthSquared`.
/// C# member: `M:LibreMetaverse.Vector3.Lerp(LibreMetaverse.Vector3,LibreMetaverse.Vector3,System.Single)`.
/// C# member: `M:LibreMetaverse.Vector3.Mag(LibreMetaverse.Vector3)`.
/// C# member: `M:LibreMetaverse.Vector3.Max(LibreMetaverse.Vector3,LibreMetaverse.Vector3)`.
/// C# member: `M:LibreMetaverse.Vector3.Min(LibreMetaverse.Vector3,LibreMetaverse.Vector3)`.
/// C# member: `M:LibreMetaverse.Vector3.Multiply(LibreMetaverse.Vector3,LibreMetaverse.Vector3)`.
/// C# member: `M:LibreMetaverse.Vector3.Multiply(LibreMetaverse.Vector3,System.Single)`.
/// C# member: `M:LibreMetaverse.Vector3.Negate(LibreMetaverse.Vector3)`.
/// C# member: `M:LibreMetaverse.Vector3.Normalize(LibreMetaverse.Vector3)`.
/// C# member: `M:LibreMetaverse.Vector3.Parse(System.String)`.
/// C# member: `M:LibreMetaverse.Vector3.RotationBetween(LibreMetaverse.Vector3,LibreMetaverse.Vector3)`.
/// C# member: `M:LibreMetaverse.Vector3.SmoothStep(LibreMetaverse.Vector3,LibreMetaverse.Vector3,System.Single)`.
/// C# member: `M:LibreMetaverse.Vector3.Subtract(LibreMetaverse.Vector3,LibreMetaverse.Vector3)`.
/// C# member: `M:LibreMetaverse.Vector3.ToBytes(System.Byte[],System.Int32)`.
/// C# member: `M:LibreMetaverse.Vector3.ToRawString`.
/// C# member: `M:LibreMetaverse.Vector3.ToString`.
/// C# member: `M:LibreMetaverse.Vector3.Transform(LibreMetaverse.Vector3,LibreMetaverse.Matrix4)`.
/// C# member: `M:LibreMetaverse.Vector3.TransformNormal(LibreMetaverse.Vector3,LibreMetaverse.Matrix4)`.
/// C# member: `M:LibreMetaverse.Vector3.TryParse(System.String,LibreMetaverse.Vector3@)`.
/// C# member: `M:LibreMetaverse.Vector3.op_Addition(LibreMetaverse.Vector3,LibreMetaverse.Vector3)`.
/// C# member: `M:LibreMetaverse.Vector3.op_Division(LibreMetaverse.Vector3,LibreMetaverse.Vector3)`.
/// C# member: `M:LibreMetaverse.Vector3.op_Division(LibreMetaverse.Vector3,System.Single)`.
/// C# member: `M:LibreMetaverse.Vector3.op_Equality(LibreMetaverse.Vector3,LibreMetaverse.Vector3)`.
/// C# member: `M:LibreMetaverse.Vector3.op_Explicit(LibreMetaverse.Vector3d)~LibreMetaverse.Vector3`.
/// C# member: `M:LibreMetaverse.Vector3.op_Inequality(LibreMetaverse.Vector3,LibreMetaverse.Vector3)`.
/// C# member: `M:LibreMetaverse.Vector3.op_Modulus(LibreMetaverse.Vector3,LibreMetaverse.Vector3)`.
/// C# member: `M:LibreMetaverse.Vector3.op_Multiply(LibreMetaverse.Vector3,LibreMetaverse.Matrix4)`.
/// C# member: `M:LibreMetaverse.Vector3.op_Multiply(LibreMetaverse.Vector3,LibreMetaverse.Quaternion)`.
/// C# member: `M:LibreMetaverse.Vector3.op_Multiply(LibreMetaverse.Vector3,LibreMetaverse.Vector3)`.
/// C# member: `M:LibreMetaverse.Vector3.op_Multiply(LibreMetaverse.Vector3,System.Single)`.
/// C# member: `M:LibreMetaverse.Vector3.op_Subtraction(LibreMetaverse.Vector3,LibreMetaverse.Vector3)`.
/// C# member: `M:LibreMetaverse.Vector3.op_UnaryNegation(LibreMetaverse.Vector3)`.
pub use crate::vectors::Vector3;

/// C# type: `T:LibreMetaverse.Vector3d`.
/// C# member: `F:LibreMetaverse.Vector3d.One`.
/// C# member: `F:LibreMetaverse.Vector3d.UnitX`.
/// C# member: `F:LibreMetaverse.Vector3d.UnitY`.
/// C# member: `F:LibreMetaverse.Vector3d.UnitZ`.
/// C# member: `F:LibreMetaverse.Vector3d.X`.
/// C# member: `F:LibreMetaverse.Vector3d.Y`.
/// C# member: `F:LibreMetaverse.Vector3d.Z`.
/// C# member: `F:LibreMetaverse.Vector3d.Zero`.
/// C# member: `M:LibreMetaverse.Vector3d.#ctor(LibreMetaverse.Vector3)`.
/// C# member: `M:LibreMetaverse.Vector3d.#ctor(LibreMetaverse.Vector3d)`.
/// C# member: `M:LibreMetaverse.Vector3d.#ctor(System.Byte[],System.Int32)`.
/// C# member: `M:LibreMetaverse.Vector3d.#ctor(System.Double)`.
/// C# member: `M:LibreMetaverse.Vector3d.#ctor(System.Double,System.Double,System.Double)`.
/// C# member: `M:LibreMetaverse.Vector3d.Add(LibreMetaverse.Vector3d,LibreMetaverse.Vector3d)`.
/// C# member: `M:LibreMetaverse.Vector3d.ApproxEquals(LibreMetaverse.Vector3d,System.Double)`.
/// C# member: `M:LibreMetaverse.Vector3d.Clamp(LibreMetaverse.Vector3d,LibreMetaverse.Vector3d,LibreMetaverse.Vector3d)`.
/// C# member: `M:LibreMetaverse.Vector3d.CompareTo(LibreMetaverse.Vector3d)`.
/// C# member: `M:LibreMetaverse.Vector3d.Cross(LibreMetaverse.Vector3d,LibreMetaverse.Vector3d)`.
/// C# member: `M:LibreMetaverse.Vector3d.Distance(LibreMetaverse.Vector3d,LibreMetaverse.Vector3d)`.
/// C# member: `M:LibreMetaverse.Vector3d.DistanceSquared(LibreMetaverse.Vector3d,LibreMetaverse.Vector3d)`.
/// C# member: `M:LibreMetaverse.Vector3d.Divide(LibreMetaverse.Vector3d,LibreMetaverse.Vector3d)`.
/// C# member: `M:LibreMetaverse.Vector3d.Divide(LibreMetaverse.Vector3d,System.Double)`.
/// C# member: `M:LibreMetaverse.Vector3d.Dot(LibreMetaverse.Vector3d,LibreMetaverse.Vector3d)`.
/// C# member: `M:LibreMetaverse.Vector3d.Equals(LibreMetaverse.Vector3d)`.
/// C# member: `M:LibreMetaverse.Vector3d.Equals(System.Object)`.
/// C# member: `M:LibreMetaverse.Vector3d.FromBytes(System.Byte[],System.Int32)`.
/// C# member: `M:LibreMetaverse.Vector3d.GetBytes`.
/// C# member: `M:LibreMetaverse.Vector3d.GetHashCode`.
/// C# member: `M:LibreMetaverse.Vector3d.IsFinite`.
/// C# member: `M:LibreMetaverse.Vector3d.Length`.
/// C# member: `M:LibreMetaverse.Vector3d.LengthSquared`.
/// C# member: `M:LibreMetaverse.Vector3d.Lerp(LibreMetaverse.Vector3d,LibreMetaverse.Vector3d,System.Double)`.
/// C# member: `M:LibreMetaverse.Vector3d.Max(LibreMetaverse.Vector3d,LibreMetaverse.Vector3d)`.
/// C# member: `M:LibreMetaverse.Vector3d.Min(LibreMetaverse.Vector3d,LibreMetaverse.Vector3d)`.
/// C# member: `M:LibreMetaverse.Vector3d.Multiply(LibreMetaverse.Vector3d,LibreMetaverse.Vector3d)`.
/// C# member: `M:LibreMetaverse.Vector3d.Multiply(LibreMetaverse.Vector3d,System.Double)`.
/// C# member: `M:LibreMetaverse.Vector3d.Negate(LibreMetaverse.Vector3d)`.
/// C# member: `M:LibreMetaverse.Vector3d.Normalize`.
/// C# member: `M:LibreMetaverse.Vector3d.Normalize(LibreMetaverse.Vector3d)`.
/// C# member: `M:LibreMetaverse.Vector3d.Parse(System.String)`.
/// C# member: `M:LibreMetaverse.Vector3d.SmoothStep(LibreMetaverse.Vector3d,LibreMetaverse.Vector3d,System.Double)`.
/// C# member: `M:LibreMetaverse.Vector3d.Subtract(LibreMetaverse.Vector3d,LibreMetaverse.Vector3d)`.
/// C# member: `M:LibreMetaverse.Vector3d.ToBytes(System.Byte[],System.Int32)`.
/// C# member: `M:LibreMetaverse.Vector3d.ToRawString`.
/// C# member: `M:LibreMetaverse.Vector3d.ToString`.
/// C# member: `M:LibreMetaverse.Vector3d.TryParse(System.String,LibreMetaverse.Vector3d@)`.
/// C# member: `M:LibreMetaverse.Vector3d.op_Addition(LibreMetaverse.Vector3d,LibreMetaverse.Vector3d)`.
/// C# member: `M:LibreMetaverse.Vector3d.op_Division(LibreMetaverse.Vector3d,LibreMetaverse.Vector3d)`.
/// C# member: `M:LibreMetaverse.Vector3d.op_Division(LibreMetaverse.Vector3d,System.Double)`.
/// C# member: `M:LibreMetaverse.Vector3d.op_Equality(LibreMetaverse.Vector3d,LibreMetaverse.Vector3d)`.
/// C# member: `M:LibreMetaverse.Vector3d.op_Implicit(LibreMetaverse.Vector3)~LibreMetaverse.Vector3d`.
/// C# member: `M:LibreMetaverse.Vector3d.op_Inequality(LibreMetaverse.Vector3d,LibreMetaverse.Vector3d)`.
/// C# member: `M:LibreMetaverse.Vector3d.op_Modulus(LibreMetaverse.Vector3d,LibreMetaverse.Vector3d)`.
/// C# member: `M:LibreMetaverse.Vector3d.op_Multiply(LibreMetaverse.Vector3d,LibreMetaverse.Vector3d)`.
/// C# member: `M:LibreMetaverse.Vector3d.op_Multiply(LibreMetaverse.Vector3d,System.Double)`.
/// C# member: `M:LibreMetaverse.Vector3d.op_Subtraction(LibreMetaverse.Vector3d,LibreMetaverse.Vector3d)`.
/// C# member: `M:LibreMetaverse.Vector3d.op_UnaryNegation(LibreMetaverse.Vector3d)`.
pub use crate::vectors::Vector3d;

/// C# type: `T:LibreMetaverse.Vector4`.
/// C# member: `F:LibreMetaverse.Vector4.One`.
/// C# member: `F:LibreMetaverse.Vector4.UnitW`.
/// C# member: `F:LibreMetaverse.Vector4.UnitX`.
/// C# member: `F:LibreMetaverse.Vector4.UnitY`.
/// C# member: `F:LibreMetaverse.Vector4.UnitZ`.
/// C# member: `F:LibreMetaverse.Vector4.W`.
/// C# member: `F:LibreMetaverse.Vector4.X`.
/// C# member: `F:LibreMetaverse.Vector4.Y`.
/// C# member: `F:LibreMetaverse.Vector4.Z`.
/// C# member: `F:LibreMetaverse.Vector4.Zero`.
/// C# member: `M:LibreMetaverse.Vector4.#ctor(LibreMetaverse.Vector2,System.Single,System.Single)`.
/// C# member: `M:LibreMetaverse.Vector4.#ctor(LibreMetaverse.Vector3,System.Single)`.
/// C# member: `M:LibreMetaverse.Vector4.#ctor(LibreMetaverse.Vector4)`.
/// C# member: `M:LibreMetaverse.Vector4.#ctor(System.Byte[],System.Int32)`.
/// C# member: `M:LibreMetaverse.Vector4.#ctor(System.Single)`.
/// C# member: `M:LibreMetaverse.Vector4.#ctor(System.Single,System.Single,System.Single,System.Single)`.
/// C# member: `M:LibreMetaverse.Vector4.Add(LibreMetaverse.Vector4,LibreMetaverse.Vector4)`.
/// C# member: `M:LibreMetaverse.Vector4.ApproxEquals(LibreMetaverse.Vector4,System.Single)`.
/// C# member: `M:LibreMetaverse.Vector4.Clamp(LibreMetaverse.Vector4,LibreMetaverse.Vector4,LibreMetaverse.Vector4)`.
/// C# member: `M:LibreMetaverse.Vector4.CompareTo(LibreMetaverse.Vector4)`.
/// C# member: `M:LibreMetaverse.Vector4.Distance(LibreMetaverse.Vector4,LibreMetaverse.Vector4)`.
/// C# member: `M:LibreMetaverse.Vector4.DistanceSquared(LibreMetaverse.Vector4,LibreMetaverse.Vector4)`.
/// C# member: `M:LibreMetaverse.Vector4.Divide(LibreMetaverse.Vector4,LibreMetaverse.Vector4)`.
/// C# member: `M:LibreMetaverse.Vector4.Divide(LibreMetaverse.Vector4,System.Single)`.
/// C# member: `M:LibreMetaverse.Vector4.Dot(LibreMetaverse.Vector4,LibreMetaverse.Vector4)`.
/// C# member: `M:LibreMetaverse.Vector4.Equals(LibreMetaverse.Vector4)`.
/// C# member: `M:LibreMetaverse.Vector4.Equals(System.Object)`.
/// C# member: `M:LibreMetaverse.Vector4.FromBytes(System.Byte[],System.Int32)`.
/// C# member: `M:LibreMetaverse.Vector4.GetBytes`.
/// C# member: `M:LibreMetaverse.Vector4.GetHashCode`.
/// C# member: `M:LibreMetaverse.Vector4.IsFinite`.
/// C# member: `M:LibreMetaverse.Vector4.Length`.
/// C# member: `M:LibreMetaverse.Vector4.LengthSquared`.
/// C# member: `M:LibreMetaverse.Vector4.Lerp(LibreMetaverse.Vector4,LibreMetaverse.Vector4,System.Single)`.
/// C# member: `M:LibreMetaverse.Vector4.Max(LibreMetaverse.Vector4,LibreMetaverse.Vector4)`.
/// C# member: `M:LibreMetaverse.Vector4.Min(LibreMetaverse.Vector4,LibreMetaverse.Vector4)`.
/// C# member: `M:LibreMetaverse.Vector4.Multiply(LibreMetaverse.Vector4,LibreMetaverse.Vector4)`.
/// C# member: `M:LibreMetaverse.Vector4.Multiply(LibreMetaverse.Vector4,System.Single)`.
/// C# member: `M:LibreMetaverse.Vector4.Negate(LibreMetaverse.Vector4)`.
/// C# member: `M:LibreMetaverse.Vector4.Normalize`.
/// C# member: `M:LibreMetaverse.Vector4.Normalize(LibreMetaverse.Vector4)`.
/// C# member: `M:LibreMetaverse.Vector4.Parse(System.String)`.
/// C# member: `M:LibreMetaverse.Vector4.SmoothStep(LibreMetaverse.Vector4,LibreMetaverse.Vector4,System.Single)`.
/// C# member: `M:LibreMetaverse.Vector4.Subtract(LibreMetaverse.Vector4,LibreMetaverse.Vector4)`.
/// C# member: `M:LibreMetaverse.Vector4.ToBytes(System.Byte[],System.Int32)`.
/// C# member: `M:LibreMetaverse.Vector4.ToRawString`.
/// C# member: `M:LibreMetaverse.Vector4.ToString`.
/// C# member: `M:LibreMetaverse.Vector4.Transform(LibreMetaverse.Vector2,LibreMetaverse.Matrix4)`.
/// C# member: `M:LibreMetaverse.Vector4.Transform(LibreMetaverse.Vector3,LibreMetaverse.Matrix4)`.
/// C# member: `M:LibreMetaverse.Vector4.Transform(LibreMetaverse.Vector4,LibreMetaverse.Matrix4)`.
/// C# member: `M:LibreMetaverse.Vector4.TryParse(System.String,LibreMetaverse.Vector4@)`.
/// C# member: `M:LibreMetaverse.Vector4.op_Addition(LibreMetaverse.Vector4,LibreMetaverse.Vector4)`.
/// C# member: `M:LibreMetaverse.Vector4.op_Division(LibreMetaverse.Vector4,LibreMetaverse.Vector4)`.
/// C# member: `M:LibreMetaverse.Vector4.op_Division(LibreMetaverse.Vector4,System.Single)`.
/// C# member: `M:LibreMetaverse.Vector4.op_Equality(LibreMetaverse.Vector4,LibreMetaverse.Vector4)`.
/// C# member: `M:LibreMetaverse.Vector4.op_Inequality(LibreMetaverse.Vector4,LibreMetaverse.Vector4)`.
/// C# member: `M:LibreMetaverse.Vector4.op_Multiply(LibreMetaverse.Vector4,LibreMetaverse.Vector4)`.
/// C# member: `M:LibreMetaverse.Vector4.op_Multiply(LibreMetaverse.Vector4,System.Single)`.
/// C# member: `M:LibreMetaverse.Vector4.op_Subtraction(LibreMetaverse.Vector4,LibreMetaverse.Vector4)`.
/// C# member: `M:LibreMetaverse.Vector4.op_UnaryNegation(LibreMetaverse.Vector4)`.
pub use crate::vectors::Vector4;

/// C# type: `T:LibreMetaverse.WearableType`.
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(u8)]
pub enum WearableType {
    /// C# member: `F:LibreMetaverse.WearableType.Alpha`.
    Alpha = 13,
    /// C# member: `F:LibreMetaverse.WearableType.Eyes`.
    Eyes = 3,
    /// C# member: `F:LibreMetaverse.WearableType.Gloves`.
    Gloves = 9,
    /// C# member: `F:LibreMetaverse.WearableType.Hair`.
    Hair = 2,
    /// C# member: `F:LibreMetaverse.WearableType.Invalid`.
    Invalid = 255,
    /// C# member: `F:LibreMetaverse.WearableType.Jacket`.
    Jacket = 8,
    /// C# member: `F:LibreMetaverse.WearableType.Pants`.
    Pants = 5,
    /// C# member: `F:LibreMetaverse.WearableType.Physics`.
    Physics = 15,
    /// C# member: `F:LibreMetaverse.WearableType.Shape`.
    Shape = 0,
    /// C# member: `F:LibreMetaverse.WearableType.Shirt`.
    Shirt = 4,
    /// C# member: `F:LibreMetaverse.WearableType.Shoes`.
    Shoes = 6,
    /// C# member: `F:LibreMetaverse.WearableType.Skin`.
    Skin = 1,
    /// C# member: `F:LibreMetaverse.WearableType.Skirt`.
    Skirt = 12,
    /// C# member: `F:LibreMetaverse.WearableType.Socks`.
    Socks = 7,
    /// C# member: `F:LibreMetaverse.WearableType.Tattoo`.
    Tattoo = 14,
    /// C# member: `F:LibreMetaverse.WearableType.Underpants`.
    Underpants = 11,
    /// C# member: `F:LibreMetaverse.WearableType.Undershirt`.
    Undershirt = 10,
    /// C# member: `F:LibreMetaverse.WearableType.Universal`.
    Universal = 16,
}
