// @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`.
///
/// Native Rust mapping of C# `LibreMetaverse.AssetType` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(i8)]
pub enum AssetType {
    /// C# member: `F:LibreMetaverse.AssetType.Animation`.
    ///
    /// C# signature: `LibreMetaverse.AssetType LibreMetaverse.AssetType.Animation`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Animation = 20,
    /// C# member: `F:LibreMetaverse.AssetType.Bodypart`.
    ///
    /// C# signature: `LibreMetaverse.AssetType LibreMetaverse.AssetType.Bodypart`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Bodypart = 13,
    /// C# member: `F:LibreMetaverse.AssetType.CallingCard`.
    ///
    /// C# signature: `LibreMetaverse.AssetType LibreMetaverse.AssetType.CallingCard`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    CallingCard = 2,
    /// C# member: `F:LibreMetaverse.AssetType.Clothing`.
    ///
    /// C# signature: `LibreMetaverse.AssetType LibreMetaverse.AssetType.Clothing`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Clothing = 5,
    /// C# member: `F:LibreMetaverse.AssetType.Folder`.
    ///
    /// C# signature: `LibreMetaverse.AssetType LibreMetaverse.AssetType.Folder`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Folder = 8,
    /// C# member: `F:LibreMetaverse.AssetType.Gesture`.
    ///
    /// C# signature: `LibreMetaverse.AssetType LibreMetaverse.AssetType.Gesture`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Gesture = 21,
    /// C# member: `F:LibreMetaverse.AssetType.ImageJPEG`.
    ///
    /// C# signature: `LibreMetaverse.AssetType LibreMetaverse.AssetType.ImageJPEG`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    ImageJPEG = 19,
    /// C# member: `F:LibreMetaverse.AssetType.ImageTGA`.
    ///
    /// C# signature: `LibreMetaverse.AssetType LibreMetaverse.AssetType.ImageTGA`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    ImageTGA = 18,
    /// C# member: `F:LibreMetaverse.AssetType.LSLBytecode`.
    ///
    /// C# signature: `LibreMetaverse.AssetType LibreMetaverse.AssetType.LSLBytecode`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    LSLBytecode = 11,
    /// C# member: `F:LibreMetaverse.AssetType.LSLText`.
    ///
    /// C# signature: `LibreMetaverse.AssetType LibreMetaverse.AssetType.LSLText`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    LSLText = 10,
    /// C# member: `F:LibreMetaverse.AssetType.Landmark`.
    ///
    /// C# signature: `LibreMetaverse.AssetType LibreMetaverse.AssetType.Landmark`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Landmark = 3,
    /// C# member: `F:LibreMetaverse.AssetType.Link`.
    ///
    /// C# signature: `LibreMetaverse.AssetType LibreMetaverse.AssetType.Link`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Link = 24,
    /// C# member: `F:LibreMetaverse.AssetType.LinkFolder`.
    ///
    /// C# signature: `LibreMetaverse.AssetType LibreMetaverse.AssetType.LinkFolder`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    LinkFolder = 25,
    /// C# member: `F:LibreMetaverse.AssetType.Material`.
    ///
    /// C# signature: `LibreMetaverse.AssetType LibreMetaverse.AssetType.Material`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Material = 57,
    /// C# member: `F:LibreMetaverse.AssetType.Mesh`.
    ///
    /// C# signature: `LibreMetaverse.AssetType LibreMetaverse.AssetType.Mesh`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Mesh = 49,
    /// C# member: `F:LibreMetaverse.AssetType.Notecard`.
    ///
    /// C# signature: `LibreMetaverse.AssetType LibreMetaverse.AssetType.Notecard`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Notecard = 7,
    /// C# member: `F:LibreMetaverse.AssetType.Object`.
    ///
    /// C# signature: `LibreMetaverse.AssetType LibreMetaverse.AssetType.Object`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Object = 6,
    /// C# member: `F:LibreMetaverse.AssetType.Person`.
    ///
    /// C# signature: `LibreMetaverse.AssetType LibreMetaverse.AssetType.Person`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Person = 45,
    /// C# member: `F:LibreMetaverse.AssetType.Script`.
    ///
    /// C# signature: `LibreMetaverse.AssetType LibreMetaverse.AssetType.Script`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Script = 4,
    /// C# member: `F:LibreMetaverse.AssetType.Settings`.
    ///
    /// C# signature: `LibreMetaverse.AssetType LibreMetaverse.AssetType.Settings`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Settings = 56,
    /// C# member: `F:LibreMetaverse.AssetType.Simstate`.
    ///
    /// C# signature: `LibreMetaverse.AssetType LibreMetaverse.AssetType.Simstate`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Simstate = 22,
    /// C# member: `F:LibreMetaverse.AssetType.Sound`.
    ///
    /// C# signature: `LibreMetaverse.AssetType LibreMetaverse.AssetType.Sound`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Sound = 1,
    /// C# member: `F:LibreMetaverse.AssetType.SoundWAV`.
    ///
    /// C# signature: `LibreMetaverse.AssetType LibreMetaverse.AssetType.SoundWAV`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    SoundWAV = 17,
    /// C# member: `F:LibreMetaverse.AssetType.Texture`.
    ///
    /// C# signature: `LibreMetaverse.AssetType LibreMetaverse.AssetType.Texture`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Texture = 0,
    /// C# member: `F:LibreMetaverse.AssetType.TextureTGA`.
    ///
    /// C# signature: `LibreMetaverse.AssetType LibreMetaverse.AssetType.TextureTGA`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    TextureTGA = 12,
    /// C# member: `F:LibreMetaverse.AssetType.Unknown`.
    ///
    /// C# signature: `LibreMetaverse.AssetType LibreMetaverse.AssetType.Unknown`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Unknown = -1,
    /// C# member: `F:LibreMetaverse.AssetType.Widget`.
    ///
    /// C# signature: `LibreMetaverse.AssetType LibreMetaverse.AssetType.Widget`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Widget = 40,
}

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

/// C# type: `T:LibreMetaverse.CRC32`.
///
/// Native Rust mapping of C# `LibreMetaverse.CRC32` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `F:LibreMetaverse.CRC32.CRC`.
///
/// C# signature: `System.UInt32 LibreMetaverse.CRC32.CRC`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `M:LibreMetaverse.CRC32.#ctor`.
///
/// C# signature: `LibreMetaverse.CRC32()`.
/// Mapping contract: ownership `none`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.CRC32.Update(System.Byte)`.
///
/// C# signature: `System.Void LibreMetaverse.CRC32.Update(System.Byte value)`.
/// Mapping contract: ownership `mutable_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.CRC32.Update(System.Byte[],System.Int32,System.Int32)`.
///
/// C# signature: `System.Void LibreMetaverse.CRC32.Update(System.Byte[] value, System.Int32 pos, System.Int32 length)`.
/// Mapping contract: ownership `mutable_self,owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
pub use crate::crc32::CRC32;

/// C# type: `T:LibreMetaverse.CacheDictionary`2`.
///
/// Native Rust mapping of C# `LibreMetaverse.CacheDictionary<TKey, TValue>` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.CacheDictionary`2.#ctor(System.Int32,LibreMetaverse.ICacheDictionaryRemovalStrategy{`0})`.
///
/// C# signature: `LibreMetaverse.CacheDictionary<TKey, TValue>(System.Int32 maxSize, LibreMetaverse.ICacheDictionaryRemovalStrategy<TKey> removalStrategy)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.CacheDictionary`2.Add(System.Collections.Generic.KeyValuePair{`0,`1})`.
///
/// C# signature: `System.Void LibreMetaverse.CacheDictionary<TKey, TValue>.Add(System.Collections.Generic.KeyValuePair<TKey, TValue> item)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.CacheDictionary`2.Add(`0,`1)`.
///
/// C# signature: `System.Void LibreMetaverse.CacheDictionary<TKey, TValue>.Add(TKey key, TValue value)`.
/// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.CacheDictionary`2.Clear`.
///
/// C# signature: `System.Void LibreMetaverse.CacheDictionary<TKey, TValue>.Clear()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.CacheDictionary`2.Contains(System.Collections.Generic.KeyValuePair{`0,`1})`.
///
/// C# signature: `System.Boolean LibreMetaverse.CacheDictionary<TKey, TValue>.Contains(System.Collections.Generic.KeyValuePair<TKey, TValue> item)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.CacheDictionary`2.ContainsKey(`0)`.
///
/// C# signature: `System.Boolean LibreMetaverse.CacheDictionary<TKey, TValue>.ContainsKey(TKey key)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.CacheDictionary`2.CopyTo(System.Collections.Generic.KeyValuePair{`0,`1}[],System.Int32)`.
///
/// C# signature: `System.Void LibreMetaverse.CacheDictionary<TKey, TValue>.CopyTo(System.Collections.Generic.KeyValuePair<TKey, TValue>[] array, System.Int32 arrayIndex)`.
/// Mapping contract: ownership `shared_self,mutable_borrow,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.CacheDictionary`2.GetEnumerator`.
///
/// C# signature: `System.Collections.Generic.IEnumerator<System.Collections.Generic.KeyValuePair<TKey, TValue>> LibreMetaverse.CacheDictionary<TKey, TValue>.GetEnumerator()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.CacheDictionary`2.Remove(System.Collections.Generic.KeyValuePair{`0,`1})`.
///
/// C# signature: `System.Boolean LibreMetaverse.CacheDictionary<TKey, TValue>.Remove(System.Collections.Generic.KeyValuePair<TKey, TValue> item)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.CacheDictionary`2.Remove(`0)`.
///
/// C# signature: `System.Boolean LibreMetaverse.CacheDictionary<TKey, TValue>.Remove(TKey key)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.CacheDictionary`2.TryGetValue(`0,`1@)`.
///
/// C# signature: `System.Boolean LibreMetaverse.CacheDictionary<TKey, TValue>.TryGetValue(TKey key, out TValue& value)`.
/// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.CacheDictionary`2.Count`.
///
/// C# signature: `System.Int32 LibreMetaverse.CacheDictionary<TKey, TValue>.Count`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.CacheDictionary`2.IsReadOnly`.
///
/// C# signature: `System.Boolean LibreMetaverse.CacheDictionary<TKey, TValue>.IsReadOnly`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.CacheDictionary`2.Item(`0)`.
///
/// C# signature: `TValue LibreMetaverse.CacheDictionary<TKey, TValue>.Item`.
/// Mapping contract: ownership `shared_or_mutable_self,owned`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.CacheDictionary`2.Keys`.
///
/// C# signature: `System.Collections.Generic.ICollection<TKey> LibreMetaverse.CacheDictionary<TKey, TValue>.Keys`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.CacheDictionary`2.Values`.
///
/// C# signature: `System.Collections.Generic.ICollection<TValue> LibreMetaverse.CacheDictionary<TKey, TValue>.Values`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::collections::CacheDictionary;

/// C# type: `T:LibreMetaverse.CacheDictionary`2.CacheDictionaryEnumerator`.
///
/// Native Rust mapping of C# `LibreMetaverse.CacheDictionary<TKey, TValue>.CacheDictionaryEnumerator` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.CacheDictionary`2.CacheDictionaryEnumerator.Dispose`.
///
/// C# signature: `System.Void LibreMetaverse.CacheDictionary<TKey, TValue>.CacheDictionaryEnumerator.Dispose()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.CacheDictionary`2.CacheDictionaryEnumerator.MoveNext`.
///
/// C# signature: `System.Boolean LibreMetaverse.CacheDictionary<TKey, TValue>.CacheDictionaryEnumerator.MoveNext()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.CacheDictionary`2.CacheDictionaryEnumerator.Reset`.
///
/// C# signature: `System.Void LibreMetaverse.CacheDictionary<TKey, TValue>.CacheDictionaryEnumerator.Reset()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.CacheDictionary`2.CacheDictionaryEnumerator.Current`.
///
/// C# signature: `System.Collections.Generic.KeyValuePair<TKey, TValue> LibreMetaverse.CacheDictionary<TKey, TValue>.CacheDictionaryEnumerator.Current`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::collections::CacheDictionaryCacheDictionaryEnumerator;

/// C# type: `T:LibreMetaverse.ClickAction`.
///
/// Native Rust mapping of C# `LibreMetaverse.ClickAction` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(u8)]
pub enum ClickAction {
    /// C# member: `F:LibreMetaverse.ClickAction.Buy`.
    ///
    /// C# signature: `LibreMetaverse.ClickAction LibreMetaverse.ClickAction.Buy`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Buy = 2,
    /// C# member: `F:LibreMetaverse.ClickAction.OpenMedia`.
    ///
    /// C# signature: `LibreMetaverse.ClickAction LibreMetaverse.ClickAction.OpenMedia`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    OpenMedia = 6,
    /// C# member: `F:LibreMetaverse.ClickAction.OpenTask`.
    ///
    /// C# signature: `LibreMetaverse.ClickAction LibreMetaverse.ClickAction.OpenTask`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    OpenTask = 4,
    /// C# member: `F:LibreMetaverse.ClickAction.Pay`.
    ///
    /// C# signature: `LibreMetaverse.ClickAction LibreMetaverse.ClickAction.Pay`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Pay = 3,
    /// C# member: `F:LibreMetaverse.ClickAction.PlayMedia`.
    ///
    /// C# signature: `LibreMetaverse.ClickAction LibreMetaverse.ClickAction.PlayMedia`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    PlayMedia = 5,
    /// C# member: `F:LibreMetaverse.ClickAction.Sit`.
    ///
    /// C# signature: `LibreMetaverse.ClickAction LibreMetaverse.ClickAction.Sit`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Sit = 1,
    /// C# member: `F:LibreMetaverse.ClickAction.Touch`.
    ///
    /// C# signature: `LibreMetaverse.ClickAction LibreMetaverse.ClickAction.Touch`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Touch = 0,
}

/// C# type: `T:LibreMetaverse.Color4`.
///
/// Native Rust mapping of C# `LibreMetaverse.Color4` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `F:LibreMetaverse.Color4.A`.
///
/// C# signature: `System.Single LibreMetaverse.Color4.A`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Color4.B`.
///
/// C# signature: `System.Single LibreMetaverse.Color4.B`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Color4.Black`.
///
/// C# signature: `LibreMetaverse.Color4 LibreMetaverse.Color4.Black`.
/// Mapping contract: ownership `none`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
/// C# member: `F:LibreMetaverse.Color4.G`.
///
/// C# signature: `System.Single LibreMetaverse.Color4.G`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Color4.R`.
///
/// C# signature: `System.Single LibreMetaverse.Color4.R`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Color4.White`.
///
/// C# signature: `LibreMetaverse.Color4 LibreMetaverse.Color4.White`.
/// Mapping contract: ownership `none`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
/// C# member: `M:LibreMetaverse.Color4.#ctor(System.Byte,System.Byte,System.Byte,System.Byte)`.
///
/// C# signature: `LibreMetaverse.Color4(System.Byte r, System.Byte g, System.Byte b, System.Byte a)`.
/// Mapping contract: ownership `owned,owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Color4.#ctor(System.Byte[],System.Int32,System.Boolean)`.
///
/// C# signature: `LibreMetaverse.Color4(System.Byte[] byteArray, System.Int32 pos, System.Boolean inverted)`.
/// Mapping contract: ownership `owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Color4.#ctor(System.Byte[],System.Int32,System.Boolean,System.Boolean)`.
///
/// C# signature: `LibreMetaverse.Color4(System.Byte[] byteArray, System.Int32 pos, System.Boolean inverted, System.Boolean alphaInverted)`.
/// Mapping contract: ownership `owned,owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Color4.#ctor(System.Single,System.Single,System.Single,System.Single)`.
///
/// C# signature: `LibreMetaverse.Color4(System.Single r, System.Single g, System.Single b, System.Single a)`.
/// Mapping contract: ownership `owned,owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Color4.CompareTo(LibreMetaverse.Color4)`.
///
/// C# signature: `System.Int32 LibreMetaverse.Color4.CompareTo(LibreMetaverse.Color4 color)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Color4.Equals(LibreMetaverse.Color4)`.
///
/// C# signature: `System.Boolean LibreMetaverse.Color4.Equals(LibreMetaverse.Color4 other)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `infallible_placeholder`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Color4.Equals(System.Object)`.
///
/// C# signature: `System.Boolean LibreMetaverse.Color4.Equals(System.Object obj)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `infallible_placeholder`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Color4.FromBytes(System.Byte[],System.Int32,System.Boolean)`.
///
/// C# signature: `LibreMetaverse.Color4 LibreMetaverse.Color4.FromBytes(System.Byte[] byteArray, System.Int32 pos, System.Boolean inverted)`.
/// Mapping contract: ownership `owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Color4.FromBytes(System.Byte[],System.Int32,System.Boolean,System.Boolean)`.
///
/// C# signature: `LibreMetaverse.Color4 LibreMetaverse.Color4.FromBytes(System.Byte[] byteArray, System.Int32 pos, System.Boolean inverted, System.Boolean alphaInverted)`.
/// Mapping contract: ownership `owned,owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Color4.FromHSV(System.Double,System.Double,System.Double)`.
///
/// C# signature: `LibreMetaverse.Color4 LibreMetaverse.Color4.FromHSV(System.Double hue, System.Double saturation, System.Double value)`.
/// Mapping contract: ownership `owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Color4.GetBytes`.
///
/// C# signature: `System.Byte[] LibreMetaverse.Color4.GetBytes()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Color4.GetBytes(System.Boolean)`.
///
/// C# signature: `System.Byte[] LibreMetaverse.Color4.GetBytes(System.Boolean inverted)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Color4.GetFloatBytes`.
///
/// C# signature: `System.Byte[] LibreMetaverse.Color4.GetFloatBytes()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Color4.GetHashCode`.
///
/// C# signature: `System.Int32 LibreMetaverse.Color4.GetHashCode()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Color4.GetHue`.
///
/// C# signature: `System.Single LibreMetaverse.Color4.GetHue()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Color4.Lerp(LibreMetaverse.Color4,LibreMetaverse.Color4,System.Single)`.
///
/// C# signature: `LibreMetaverse.Color4 LibreMetaverse.Color4.Lerp(LibreMetaverse.Color4 value1, LibreMetaverse.Color4 value2, System.Single amount)`.
/// Mapping contract: ownership `owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Color4.ToBytes(System.Byte[],System.Int32)`.
///
/// C# signature: `System.Void LibreMetaverse.Color4.ToBytes(System.Byte[] dest, System.Int32 pos)`.
/// Mapping contract: ownership `shared_self,mutable_borrow,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Color4.ToBytes(System.Byte[],System.Int32,System.Boolean)`.
///
/// C# signature: `System.Void LibreMetaverse.Color4.ToBytes(System.Byte[] dest, System.Int32 pos, System.Boolean inverted)`.
/// Mapping contract: ownership `shared_self,mutable_borrow,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Color4.ToFloatBytes(System.Byte[],System.Int32)`.
///
/// C# signature: `System.Void LibreMetaverse.Color4.ToFloatBytes(System.Byte[] dest, System.Int32 pos)`.
/// Mapping contract: ownership `shared_self,mutable_borrow,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Color4.ToRGBString`.
///
/// C# signature: `System.String LibreMetaverse.Color4.ToRGBString()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Color4.ToString`.
///
/// C# signature: `System.String LibreMetaverse.Color4.ToString()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Color4.op_Addition(LibreMetaverse.Color4,LibreMetaverse.Color4)`.
///
/// C# signature: `LibreMetaverse.Color4 LibreMetaverse.Color4.op_Addition(LibreMetaverse.Color4 lhs, LibreMetaverse.Color4 rhs)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Color4.op_Equality(LibreMetaverse.Color4,LibreMetaverse.Color4)`.
///
/// C# signature: `System.Boolean LibreMetaverse.Color4.op_Equality(LibreMetaverse.Color4 lhs, LibreMetaverse.Color4 rhs)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Color4.op_Inequality(LibreMetaverse.Color4,LibreMetaverse.Color4)`.
///
/// C# signature: `System.Boolean LibreMetaverse.Color4.op_Inequality(LibreMetaverse.Color4 lhs, LibreMetaverse.Color4 rhs)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Color4.op_Multiply(LibreMetaverse.Color4,LibreMetaverse.Color4)`.
///
/// C# signature: `LibreMetaverse.Color4 LibreMetaverse.Color4.op_Multiply(LibreMetaverse.Color4 lhs, LibreMetaverse.Color4 rhs)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Color4.op_Subtraction(LibreMetaverse.Color4,LibreMetaverse.Color4)`.
///
/// C# signature: `LibreMetaverse.Color4 LibreMetaverse.Color4.op_Subtraction(LibreMetaverse.Color4 lhs, LibreMetaverse.Color4 rhs)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
pub use crate::color4::Color4;

/// C# type: `T:LibreMetaverse.DoubleDictionary`3`.
///
/// Native Rust mapping of C# `LibreMetaverse.DoubleDictionary<TKey1, TKey2, TValue>` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.DoubleDictionary`3.#ctor`.
///
/// C# signature: `LibreMetaverse.DoubleDictionary<TKey1, TKey2, TValue>()`.
/// Mapping contract: ownership `none`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.DoubleDictionary`3.#ctor(System.Int32)`.
///
/// C# signature: `LibreMetaverse.DoubleDictionary<TKey1, TKey2, TValue>(System.Int32 capacity)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.DoubleDictionary`3.Add(`0,`1,`2)`.
///
/// C# signature: `System.Void LibreMetaverse.DoubleDictionary<TKey1, TKey2, TValue>.Add(TKey1 key1, TKey2 key2, TValue value)`.
/// Mapping contract: ownership `shared_self,owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.DoubleDictionary`3.Clear`.
///
/// C# signature: `System.Void LibreMetaverse.DoubleDictionary<TKey1, TKey2, TValue>.Clear()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.DoubleDictionary`3.ContainsKey(`0)`.
///
/// C# signature: `System.Boolean LibreMetaverse.DoubleDictionary<TKey1, TKey2, TValue>.ContainsKey(TKey1 key)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.DoubleDictionary`3.ContainsKey(`1)`.
///
/// C# signature: `System.Boolean LibreMetaverse.DoubleDictionary<TKey1, TKey2, TValue>.ContainsKey(TKey2 key)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.DoubleDictionary`3.Dispose`.
///
/// C# signature: `System.Void LibreMetaverse.DoubleDictionary<TKey1, TKey2, TValue>.Dispose()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.DoubleDictionary`3.FindAll(System.Predicate{`2})`.
///
/// C# signature: `System.Collections.Generic.IList<TValue> LibreMetaverse.DoubleDictionary<TKey1, TKey2, TValue>.FindAll(System.Predicate<TValue> predicate)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.DoubleDictionary`3.FindValue(System.Predicate{`2})`.
///
/// C# signature: `TValue LibreMetaverse.DoubleDictionary<TKey1, TKey2, TValue>.FindValue(System.Predicate<TValue> predicate)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.DoubleDictionary`3.ForEach(System.Action{System.Collections.Generic.KeyValuePair{`0,`2}})`.
///
/// C# signature: `System.Void LibreMetaverse.DoubleDictionary<TKey1, TKey2, TValue>.ForEach(System.Action<System.Collections.Generic.KeyValuePair<TKey1, TValue>> action)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.DoubleDictionary`3.ForEach(System.Action{System.Collections.Generic.KeyValuePair{`1,`2}})`.
///
/// C# signature: `System.Void LibreMetaverse.DoubleDictionary<TKey1, TKey2, TValue>.ForEach(System.Action<System.Collections.Generic.KeyValuePair<TKey2, TValue>> action)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name_with_stable_id`; kind `method`.
/// C# member: `M:LibreMetaverse.DoubleDictionary`3.ForEach(System.Action{`2})`.
///
/// C# signature: `System.Void LibreMetaverse.DoubleDictionary<TKey1, TKey2, TValue>.ForEach(System.Action<TValue> action)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name_with_stable_id`; kind `method`.
/// C# member: `M:LibreMetaverse.DoubleDictionary`3.Remove(`0)`.
///
/// C# signature: `System.Boolean LibreMetaverse.DoubleDictionary<TKey1, TKey2, TValue>.Remove(TKey1 key1)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.DoubleDictionary`3.Remove(`0,`1)`.
///
/// C# signature: `System.Boolean LibreMetaverse.DoubleDictionary<TKey1, TKey2, TValue>.Remove(TKey1 key1, TKey2 key2)`.
/// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.DoubleDictionary`3.Remove(`1)`.
///
/// C# signature: `System.Boolean LibreMetaverse.DoubleDictionary<TKey1, TKey2, TValue>.Remove(TKey2 key2)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.DoubleDictionary`3.RemoveAll(System.Predicate{`2})`.
///
/// C# signature: `System.Int32 LibreMetaverse.DoubleDictionary<TKey1, TKey2, TValue>.RemoveAll(System.Predicate<TValue> predicate)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.DoubleDictionary`3.TryGetValue(`0,`2@)`.
///
/// C# signature: `System.Boolean LibreMetaverse.DoubleDictionary<TKey1, TKey2, TValue>.TryGetValue(TKey1 key, out TValue& value)`.
/// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
/// errors `infallible_placeholder`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.DoubleDictionary`3.TryGetValue(`1,`2@)`.
///
/// C# signature: `System.Boolean LibreMetaverse.DoubleDictionary<TKey1, TKey2, TValue>.TryGetValue(TKey2 key, out TValue& value)`.
/// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
/// errors `infallible_placeholder`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `P:LibreMetaverse.DoubleDictionary`3.Count`.
///
/// C# signature: `System.Int32 LibreMetaverse.DoubleDictionary<TKey1, TKey2, TValue>.Count`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::collections::DoubleDictionary;

/// C# type: `T:LibreMetaverse.EmptyRemovalStrategy`1`.
///
/// Native Rust mapping of C# `LibreMetaverse.EmptyRemovalStrategy<TKey>` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.EmptyRemovalStrategy`1.#ctor`.
///
/// C# signature: `LibreMetaverse.EmptyRemovalStrategy<TKey>()`.
/// Mapping contract: ownership `none`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.EmptyRemovalStrategy`1.Clear`.
///
/// C# signature: `System.Void LibreMetaverse.EmptyRemovalStrategy<TKey>.Clear()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.EmptyRemovalStrategy`1.GetKeyToRemove`.
///
/// C# signature: `TKey LibreMetaverse.EmptyRemovalStrategy<TKey>.GetKeyToRemove()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.EmptyRemovalStrategy`1.Initialize(System.Int32)`.
///
/// C# signature: `System.Void LibreMetaverse.EmptyRemovalStrategy<TKey>.Initialize(System.Int32 maxSize)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.EmptyRemovalStrategy`1.KeyAccessed(`0)`.
///
/// C# signature: `System.Void LibreMetaverse.EmptyRemovalStrategy<TKey>.KeyAccessed(TKey key)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.EmptyRemovalStrategy`1.KeyAdded(`0)`.
///
/// C# signature: `System.Void LibreMetaverse.EmptyRemovalStrategy<TKey>.KeyAdded(TKey key)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.EmptyRemovalStrategy`1.KeyRemoved(`0)`.
///
/// C# signature: `System.Void LibreMetaverse.EmptyRemovalStrategy<TKey>.KeyRemoved(TKey key)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
pub use crate::collections::EmptyRemovalStrategy;

/// C# type: `T:LibreMetaverse.EnumInfoAttribute`.
///
/// Native Rust mapping of C# `LibreMetaverse.EnumInfoAttribute` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `F:LibreMetaverse.EnumInfoAttribute.Text`.
///
/// C# signature: `System.String LibreMetaverse.EnumInfoAttribute.Text`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `M:LibreMetaverse.EnumInfoAttribute.#ctor`.
///
/// C# signature: `LibreMetaverse.EnumInfoAttribute()`.
/// Mapping contract: ownership `none`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.EnumInfoAttribute.#ctor(System.String)`.
///
/// C# signature: `LibreMetaverse.EnumInfoAttribute(System.String text)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
pub use crate::enum_compat::EnumInfoAttribute;

/// C# type: `T:LibreMetaverse.EnumInfoExtensions`.
///
/// Native Rust mapping of C# `LibreMetaverse.EnumInfoExtensions` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.EnumInfoExtensions.GetText(System.Enum)`.
///
/// C# signature: `System.String LibreMetaverse.EnumInfoExtensions.GetText(System.Enum value)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
pub use crate::enum_compat::EnumInfoExtensions;

/// C# type: `T:LibreMetaverse.ExpiringCache`2`.
///
/// Native Rust mapping of C# `LibreMetaverse.ExpiringCache<TKey, TValue>` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.ExpiringCache`2.#ctor`.
///
/// C# signature: `LibreMetaverse.ExpiringCache<TKey, TValue>()`.
/// Mapping contract: ownership `none`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.ExpiringCache`2.Add(`0,`1,System.Double)`.
///
/// C# signature: `System.Boolean LibreMetaverse.ExpiringCache<TKey, TValue>.Add(TKey key, TValue value, System.Double expirationSeconds)`.
/// Mapping contract: ownership `shared_self,owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.ExpiringCache`2.Add(`0,`1,System.TimeSpan)`.
///
/// C# signature: `System.Boolean LibreMetaverse.ExpiringCache<TKey, TValue>.Add(TKey key, TValue value, System.TimeSpan slidingExpiration)`.
/// Mapping contract: ownership `shared_self,owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.ExpiringCache`2.AddOrUpdate(`0,`1,System.Double)`.
///
/// C# signature: `System.Boolean LibreMetaverse.ExpiringCache<TKey, TValue>.AddOrUpdate(TKey key, TValue value, System.Double expirationSeconds)`.
/// Mapping contract: ownership `shared_self,owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.ExpiringCache`2.AddOrUpdate(`0,`1,System.TimeSpan)`.
///
/// C# signature: `System.Boolean LibreMetaverse.ExpiringCache<TKey, TValue>.AddOrUpdate(TKey key, TValue value, System.TimeSpan slidingExpiration)`.
/// Mapping contract: ownership `shared_self,owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.ExpiringCache`2.Clear`.
///
/// C# signature: `System.Void LibreMetaverse.ExpiringCache<TKey, TValue>.Clear()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.ExpiringCache`2.Contains(`0)`.
///
/// C# signature: `System.Boolean LibreMetaverse.ExpiringCache<TKey, TValue>.Contains(TKey key)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.ExpiringCache`2.CopyTo(System.Array,System.Int32)`.
///
/// C# signature: `System.Void LibreMetaverse.ExpiringCache<TKey, TValue>.CopyTo(System.Array array, System.Int32 startIndex)`.
/// Mapping contract: ownership `shared_self,mutable_borrow,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.ExpiringCache`2.Dispose`.
///
/// C# signature: `System.Void LibreMetaverse.ExpiringCache<TKey, TValue>.Dispose()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.ExpiringCache`2.Remove(`0)`.
///
/// C# signature: `System.Boolean LibreMetaverse.ExpiringCache<TKey, TValue>.Remove(TKey key)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.ExpiringCache`2.TryGetValue(`0,`1@)`.
///
/// C# signature: `System.Boolean LibreMetaverse.ExpiringCache<TKey, TValue>.TryGetValue(TKey key, out TValue& value)`.
/// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.ExpiringCache`2.Update(`0,`1)`.
///
/// C# signature: `System.Boolean LibreMetaverse.ExpiringCache<TKey, TValue>.Update(TKey key, TValue value)`.
/// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.ExpiringCache`2.Update(`0,`1,System.Double)`.
///
/// C# signature: `System.Boolean LibreMetaverse.ExpiringCache<TKey, TValue>.Update(TKey key, TValue value, System.Double expirationSeconds)`.
/// Mapping contract: ownership `shared_self,owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.ExpiringCache`2.Update(`0,`1,System.TimeSpan)`.
///
/// C# signature: `System.Boolean LibreMetaverse.ExpiringCache<TKey, TValue>.Update(TKey key, TValue value, System.TimeSpan slidingExpiration)`.
/// Mapping contract: ownership `shared_self,owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `P:LibreMetaverse.ExpiringCache`2.Count`.
///
/// C# signature: `System.Int32 LibreMetaverse.ExpiringCache<TKey, TValue>.Count`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.ExpiringCache`2.Item(`0)`.
///
/// C# signature: `System.Object LibreMetaverse.ExpiringCache<TKey, TValue>.Item`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `method`.
pub use crate::collections::ExpiringCache;

/// C# type: `T:LibreMetaverse.ExtraParamType`.
///
/// Native Rust mapping of C# `LibreMetaverse.ExtraParamType` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(transparent)]
pub struct ExtraParamType(pub u16);
impl ExtraParamType {
    /// C# member: `F:LibreMetaverse.ExtraParamType.ExtendedMesh`.
    ///
    /// C# signature: `LibreMetaverse.ExtraParamType LibreMetaverse.ExtraParamType.ExtendedMesh`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const EXTENDED_MESH: Self = Self(112);
    /// C# member: `F:LibreMetaverse.ExtraParamType.Flexible`.
    ///
    /// C# signature: `LibreMetaverse.ExtraParamType LibreMetaverse.ExtraParamType.Flexible`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const FLEXIBLE: Self = Self(16);
    /// C# member: `F:LibreMetaverse.ExtraParamType.Light`.
    ///
    /// C# signature: `LibreMetaverse.ExtraParamType LibreMetaverse.ExtraParamType.Light`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const LIGHT: Self = Self(32);
    /// C# member: `F:LibreMetaverse.ExtraParamType.LightImage`.
    ///
    /// C# signature: `LibreMetaverse.ExtraParamType LibreMetaverse.ExtraParamType.LightImage`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const LIGHT_IMAGE: Self = Self(64);
    /// C# member: `F:LibreMetaverse.ExtraParamType.Mesh`.
    ///
    /// C# signature: `LibreMetaverse.ExtraParamType LibreMetaverse.ExtraParamType.Mesh`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const MESH: Self = Self(96);
    /// C# member: `F:LibreMetaverse.ExtraParamType.ReflectionProbe`.
    ///
    /// C# signature: `LibreMetaverse.ExtraParamType LibreMetaverse.ExtraParamType.ReflectionProbe`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const REFLECTION_PROBE: Self = Self(144);
    /// C# member: `F:LibreMetaverse.ExtraParamType.RenderMaterial`.
    ///
    /// C# signature: `LibreMetaverse.ExtraParamType LibreMetaverse.ExtraParamType.RenderMaterial`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const RENDER_MATERIAL: Self = Self(128);
    /// C# member: `F:LibreMetaverse.ExtraParamType.Sculpt`.
    ///
    /// C# signature: `LibreMetaverse.ExtraParamType LibreMetaverse.ExtraParamType.Sculpt`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const SCULPT: Self = Self(48);
}

/// C# type: `T:LibreMetaverse.FaceType`.
///
/// Native Rust mapping of C# `LibreMetaverse.FaceType` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(u16)]
pub enum FaceType {
    /// C# member: `F:LibreMetaverse.FaceType.InnerSide`.
    ///
    /// C# signature: `LibreMetaverse.FaceType LibreMetaverse.FaceType.InnerSide`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    InnerSide = 4,
    /// C# member: `F:LibreMetaverse.FaceType.OuterSide0`.
    ///
    /// C# signature: `LibreMetaverse.FaceType LibreMetaverse.FaceType.OuterSide0`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    OuterSide0 = 32,
    /// C# member: `F:LibreMetaverse.FaceType.OuterSide1`.
    ///
    /// C# signature: `LibreMetaverse.FaceType LibreMetaverse.FaceType.OuterSide1`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    OuterSide1 = 64,
    /// C# member: `F:LibreMetaverse.FaceType.OuterSide2`.
    ///
    /// C# signature: `LibreMetaverse.FaceType LibreMetaverse.FaceType.OuterSide2`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    OuterSide2 = 128,
    /// C# member: `F:LibreMetaverse.FaceType.OuterSide3`.
    ///
    /// C# signature: `LibreMetaverse.FaceType LibreMetaverse.FaceType.OuterSide3`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    OuterSide3 = 256,
    /// C# member: `F:LibreMetaverse.FaceType.PathBegin`.
    ///
    /// C# signature: `LibreMetaverse.FaceType LibreMetaverse.FaceType.PathBegin`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    PathBegin = 1,
    /// C# member: `F:LibreMetaverse.FaceType.PathEnd`.
    ///
    /// C# signature: `LibreMetaverse.FaceType LibreMetaverse.FaceType.PathEnd`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    PathEnd = 2,
    /// C# member: `F:LibreMetaverse.FaceType.ProfileBegin`.
    ///
    /// C# signature: `LibreMetaverse.FaceType LibreMetaverse.FaceType.ProfileBegin`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    ProfileBegin = 8,
    /// C# member: `F:LibreMetaverse.FaceType.ProfileEnd`.
    ///
    /// C# signature: `LibreMetaverse.FaceType LibreMetaverse.FaceType.ProfileEnd`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    ProfileEnd = 16,
}

/// C# type: `T:LibreMetaverse.FolderType`.
///
/// Native Rust mapping of C# `LibreMetaverse.FolderType` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(i8)]
pub enum FolderType {
    /// C# member: `F:LibreMetaverse.FolderType.Animation`.
    ///
    /// C# signature: `LibreMetaverse.FolderType LibreMetaverse.FolderType.Animation`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Animation = 20,
    /// C# member: `F:LibreMetaverse.FolderType.BasicRoot`.
    ///
    /// C# signature: `LibreMetaverse.FolderType LibreMetaverse.FolderType.BasicRoot`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    BasicRoot = 52,
    /// C# member: `F:LibreMetaverse.FolderType.BodyPart`.
    ///
    /// C# signature: `LibreMetaverse.FolderType LibreMetaverse.FolderType.BodyPart`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    BodyPart = 13,
    /// C# member: `F:LibreMetaverse.FolderType.CallingCard`.
    ///
    /// C# signature: `LibreMetaverse.FolderType LibreMetaverse.FolderType.CallingCard`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    CallingCard = 2,
    /// C# member: `F:LibreMetaverse.FolderType.Clothing`.
    ///
    /// C# signature: `LibreMetaverse.FolderType LibreMetaverse.FolderType.Clothing`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Clothing = 5,
    /// C# member: `F:LibreMetaverse.FolderType.CurrentOutfit`.
    ///
    /// C# signature: `LibreMetaverse.FolderType LibreMetaverse.FolderType.CurrentOutfit`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    CurrentOutfit = 46,
    /// C# member: `F:LibreMetaverse.FolderType.EnsembleEnd`.
    ///
    /// C# signature: `LibreMetaverse.FolderType LibreMetaverse.FolderType.EnsembleEnd`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    EnsembleEnd = 45,
    /// C# member: `F:LibreMetaverse.FolderType.EnsembleStart`.
    ///
    /// C# signature: `LibreMetaverse.FolderType LibreMetaverse.FolderType.EnsembleStart`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    EnsembleStart = 26,
    /// C# member: `F:LibreMetaverse.FolderType.Favorites`.
    ///
    /// C# signature: `LibreMetaverse.FolderType LibreMetaverse.FolderType.Favorites`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Favorites = 23,
    /// C# member: `F:LibreMetaverse.FolderType.Gesture`.
    ///
    /// C# signature: `LibreMetaverse.FolderType LibreMetaverse.FolderType.Gesture`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Gesture = 21,
    /// C# member: `F:LibreMetaverse.FolderType.Inbox`.
    ///
    /// C# signature: `LibreMetaverse.FolderType LibreMetaverse.FolderType.Inbox`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Inbox = 50,
    /// C# member: `F:LibreMetaverse.FolderType.LSLText`.
    ///
    /// C# signature: `LibreMetaverse.FolderType LibreMetaverse.FolderType.LSLText`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    LSLText = 10,
    /// C# member: `F:LibreMetaverse.FolderType.Landmark`.
    ///
    /// C# signature: `LibreMetaverse.FolderType LibreMetaverse.FolderType.Landmark`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Landmark = 3,
    /// C# member: `F:LibreMetaverse.FolderType.LostAndFound`.
    ///
    /// C# signature: `LibreMetaverse.FolderType LibreMetaverse.FolderType.LostAndFound`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    LostAndFound = 16,
    /// C# member: `F:LibreMetaverse.FolderType.MarketplaceListings`.
    ///
    /// C# signature: `LibreMetaverse.FolderType LibreMetaverse.FolderType.MarketplaceListings`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    MarketplaceListings = 53,
    /// C# member: `F:LibreMetaverse.FolderType.MarketplaceStock`.
    ///
    /// C# signature: `LibreMetaverse.FolderType LibreMetaverse.FolderType.MarketplaceStock`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    MarketplaceStock = 54,
    /// C# member: `F:LibreMetaverse.FolderType.MarketplaceVersion`.
    ///
    /// C# signature: `LibreMetaverse.FolderType LibreMetaverse.FolderType.MarketplaceVersion`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    MarketplaceVersion = 55,
    /// C# member: `F:LibreMetaverse.FolderType.Material`.
    ///
    /// C# signature: `LibreMetaverse.FolderType LibreMetaverse.FolderType.Material`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Material = 57,
    /// C# member: `F:LibreMetaverse.FolderType.Mesh`.
    ///
    /// C# signature: `LibreMetaverse.FolderType LibreMetaverse.FolderType.Mesh`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Mesh = 49,
    /// C# member: `F:LibreMetaverse.FolderType.MyOutfits`.
    ///
    /// C# signature: `LibreMetaverse.FolderType LibreMetaverse.FolderType.MyOutfits`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    MyOutfits = 48,
    /// C# member: `F:LibreMetaverse.FolderType.None`.
    ///
    /// C# signature: `LibreMetaverse.FolderType LibreMetaverse.FolderType.None`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    None = -1,
    /// C# member: `F:LibreMetaverse.FolderType.Notecard`.
    ///
    /// C# signature: `LibreMetaverse.FolderType LibreMetaverse.FolderType.Notecard`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Notecard = 7,
    /// C# member: `F:LibreMetaverse.FolderType.Object`.
    ///
    /// C# signature: `LibreMetaverse.FolderType LibreMetaverse.FolderType.Object`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Object = 6,
    /// C# member: `F:LibreMetaverse.FolderType.OldRoot`.
    ///
    /// C# signature: `LibreMetaverse.FolderType LibreMetaverse.FolderType.OldRoot`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    OldRoot = 9,
    /// C# member: `F:LibreMetaverse.FolderType.Outbox`.
    ///
    /// C# signature: `LibreMetaverse.FolderType LibreMetaverse.FolderType.Outbox`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Outbox = 51,
    /// C# member: `F:LibreMetaverse.FolderType.Outfit`.
    ///
    /// C# signature: `LibreMetaverse.FolderType LibreMetaverse.FolderType.Outfit`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Outfit = 47,
    /// C# member: `F:LibreMetaverse.FolderType.Root`.
    ///
    /// C# signature: `LibreMetaverse.FolderType LibreMetaverse.FolderType.Root`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Root = 8,
    /// C# member: `F:LibreMetaverse.FolderType.Settings`.
    ///
    /// C# signature: `LibreMetaverse.FolderType LibreMetaverse.FolderType.Settings`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Settings = 56,
    /// C# member: `F:LibreMetaverse.FolderType.Snapshot`.
    ///
    /// C# signature: `LibreMetaverse.FolderType LibreMetaverse.FolderType.Snapshot`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Snapshot = 15,
    /// C# member: `F:LibreMetaverse.FolderType.Sound`.
    ///
    /// C# signature: `LibreMetaverse.FolderType LibreMetaverse.FolderType.Sound`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Sound = 1,
    /// C# member: `F:LibreMetaverse.FolderType.Suitcase`.
    ///
    /// C# signature: `LibreMetaverse.FolderType LibreMetaverse.FolderType.Suitcase`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Suitcase = 100,
    /// C# member: `F:LibreMetaverse.FolderType.Texture`.
    ///
    /// C# signature: `LibreMetaverse.FolderType LibreMetaverse.FolderType.Texture`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Texture = 0,
    /// C# member: `F:LibreMetaverse.FolderType.Trash`.
    ///
    /// C# signature: `LibreMetaverse.FolderType LibreMetaverse.FolderType.Trash`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Trash = 14,
}

/// C# type: `T:LibreMetaverse.HoleType`.
///
/// Native Rust mapping of C# `LibreMetaverse.HoleType` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[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`.
    ///
    /// C# signature: `LibreMetaverse.HoleType LibreMetaverse.HoleType.Circle`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const Circle: Self = Self(16);
    /// C# member: `F:LibreMetaverse.HoleType.Same`.
    ///
    /// C# signature: `LibreMetaverse.HoleType LibreMetaverse.HoleType.Same`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const Same: Self = Self(0);
    /// C# member: `F:LibreMetaverse.HoleType.Square`.
    ///
    /// C# signature: `LibreMetaverse.HoleType LibreMetaverse.HoleType.Square`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const Square: Self = Self(32);
    /// C# member: `F:LibreMetaverse.HoleType.Triangle`.
    ///
    /// C# signature: `LibreMetaverse.HoleType LibreMetaverse.HoleType.Triangle`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const Triangle: Self = Self(48);
}

/// C# type: `T:LibreMetaverse.ICacheDictionaryRemovalStrategy`1`.
///
/// Native Rust mapping of C# `LibreMetaverse.ICacheDictionaryRemovalStrategy<TKey>` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.ICacheDictionaryRemovalStrategy`1.Clear`.
///
/// C# signature: `System.Void LibreMetaverse.ICacheDictionaryRemovalStrategy<TKey>.Clear()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.ICacheDictionaryRemovalStrategy`1.GetKeyToRemove`.
///
/// C# signature: `TKey LibreMetaverse.ICacheDictionaryRemovalStrategy<TKey>.GetKeyToRemove()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.ICacheDictionaryRemovalStrategy`1.Initialize(System.Int32)`.
///
/// C# signature: `System.Void LibreMetaverse.ICacheDictionaryRemovalStrategy<TKey>.Initialize(System.Int32 maxSize)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.ICacheDictionaryRemovalStrategy`1.KeyAccessed(`0)`.
///
/// C# signature: `System.Void LibreMetaverse.ICacheDictionaryRemovalStrategy<TKey>.KeyAccessed(TKey key)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.ICacheDictionaryRemovalStrategy`1.KeyAdded(`0)`.
///
/// C# signature: `System.Void LibreMetaverse.ICacheDictionaryRemovalStrategy<TKey>.KeyAdded(TKey key)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.ICacheDictionaryRemovalStrategy`1.KeyRemoved(`0)`.
///
/// C# signature: `System.Void LibreMetaverse.ICacheDictionaryRemovalStrategy<TKey>.KeyRemoved(TKey key)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
pub use crate::collections::ICacheDictionaryRemovalStrategy;

/// C# type: `T:LibreMetaverse.InventoryType`.
///
/// Native Rust mapping of C# `LibreMetaverse.InventoryType` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(transparent)]
pub struct InventoryType(pub i8);
impl InventoryType {
    /// C# member: `F:LibreMetaverse.InventoryType.Animation`.
    ///
    /// C# signature: `LibreMetaverse.InventoryType LibreMetaverse.InventoryType.Animation`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const ANIMATION: Self = Self(19);
    /// C# member: `F:LibreMetaverse.InventoryType.Attachment`.
    ///
    /// C# signature: `LibreMetaverse.InventoryType LibreMetaverse.InventoryType.Attachment`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const ATTACHMENT: Self = Self(17);
    /// C# member: `F:LibreMetaverse.InventoryType.CallingCard`.
    ///
    /// C# signature: `LibreMetaverse.InventoryType LibreMetaverse.InventoryType.CallingCard`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const CALLING_CARD: Self = Self(2);
    /// C# member: `F:LibreMetaverse.InventoryType.Category`.
    ///
    /// C# signature: `LibreMetaverse.InventoryType LibreMetaverse.InventoryType.Category`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const CATEGORY: Self = Self(8);
    /// C# member: `F:LibreMetaverse.InventoryType.Folder`.
    ///
    /// C# signature: `LibreMetaverse.InventoryType LibreMetaverse.InventoryType.Folder`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const FOLDER: Self = Self(8);
    /// C# member: `F:LibreMetaverse.InventoryType.Gesture`.
    ///
    /// C# signature: `LibreMetaverse.InventoryType LibreMetaverse.InventoryType.Gesture`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const GESTURE: Self = Self(20);
    /// C# member: `F:LibreMetaverse.InventoryType.LSL`.
    ///
    /// C# signature: `LibreMetaverse.InventoryType LibreMetaverse.InventoryType.LSL`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const LSL: Self = Self(10);
    /// C# member: `F:LibreMetaverse.InventoryType.Landmark`.
    ///
    /// C# signature: `LibreMetaverse.InventoryType LibreMetaverse.InventoryType.Landmark`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const LANDMARK: Self = Self(3);
    /// C# member: `F:LibreMetaverse.InventoryType.Material`.
    ///
    /// C# signature: `LibreMetaverse.InventoryType LibreMetaverse.InventoryType.Material`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const MATERIAL: Self = Self(24);
    /// C# member: `F:LibreMetaverse.InventoryType.Mesh`.
    ///
    /// C# signature: `LibreMetaverse.InventoryType LibreMetaverse.InventoryType.Mesh`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const MESH: Self = Self(22);
    /// C# member: `F:LibreMetaverse.InventoryType.Notecard`.
    ///
    /// C# signature: `LibreMetaverse.InventoryType LibreMetaverse.InventoryType.Notecard`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const NOTECARD: Self = Self(7);
    /// C# member: `F:LibreMetaverse.InventoryType.Object`.
    ///
    /// C# signature: `LibreMetaverse.InventoryType LibreMetaverse.InventoryType.Object`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const OBJECT: Self = Self(6);
    /// C# member: `F:LibreMetaverse.InventoryType.RootCategory`.
    ///
    /// C# signature: `LibreMetaverse.InventoryType LibreMetaverse.InventoryType.RootCategory`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const ROOT_CATEGORY: Self = Self(9);
    /// C# member: `F:LibreMetaverse.InventoryType.Settings`.
    ///
    /// C# signature: `LibreMetaverse.InventoryType LibreMetaverse.InventoryType.Settings`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const SETTINGS: Self = Self(23);
    /// C# member: `F:LibreMetaverse.InventoryType.Snapshot`.
    ///
    /// C# signature: `LibreMetaverse.InventoryType LibreMetaverse.InventoryType.Snapshot`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const SNAPSHOT: Self = Self(15);
    /// C# member: `F:LibreMetaverse.InventoryType.Sound`.
    ///
    /// C# signature: `LibreMetaverse.InventoryType LibreMetaverse.InventoryType.Sound`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const SOUND: Self = Self(1);
    /// C# member: `F:LibreMetaverse.InventoryType.Texture`.
    ///
    /// C# signature: `LibreMetaverse.InventoryType LibreMetaverse.InventoryType.Texture`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const TEXTURE: Self = Self(0);
    /// C# member: `F:LibreMetaverse.InventoryType.Unknown`.
    ///
    /// C# signature: `LibreMetaverse.InventoryType LibreMetaverse.InventoryType.Unknown`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const UNKNOWN: Self = Self(-1);
    /// C# member: `F:LibreMetaverse.InventoryType.Wearable`.
    ///
    /// C# signature: `LibreMetaverse.InventoryType LibreMetaverse.InventoryType.Wearable`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const WEARABLE: Self = Self(18);
}

/// C# type: `T:LibreMetaverse.JointType`.
///
/// Native Rust mapping of C# `LibreMetaverse.JointType` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(u8)]
pub enum JointType {
    /// C# member: `F:LibreMetaverse.JointType.Hinge`.
    ///
    /// C# signature: `LibreMetaverse.JointType LibreMetaverse.JointType.Hinge`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Hinge = 1,
    /// C# member: `F:LibreMetaverse.JointType.Invalid`.
    ///
    /// C# signature: `LibreMetaverse.JointType LibreMetaverse.JointType.Invalid`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Invalid = 0,
    /// C# member: `F:LibreMetaverse.JointType.Point`.
    ///
    /// C# signature: `LibreMetaverse.JointType LibreMetaverse.JointType.Point`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Point = 2,
}

/// C# type: `T:LibreMetaverse.LruRemovalStrategy`1`.
///
/// Native Rust mapping of C# `LibreMetaverse.LruRemovalStrategy<TKey>` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.LruRemovalStrategy`1.#ctor`.
///
/// C# signature: `LibreMetaverse.LruRemovalStrategy<TKey>()`.
/// Mapping contract: ownership `none`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.LruRemovalStrategy`1.Clear`.
///
/// C# signature: `System.Void LibreMetaverse.LruRemovalStrategy<TKey>.Clear()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.LruRemovalStrategy`1.GetKeyToRemove`.
///
/// C# signature: `TKey LibreMetaverse.LruRemovalStrategy<TKey>.GetKeyToRemove()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.LruRemovalStrategy`1.Initialize(System.Int32)`.
///
/// C# signature: `System.Void LibreMetaverse.LruRemovalStrategy<TKey>.Initialize(System.Int32 maxSize)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.LruRemovalStrategy`1.KeyAccessed(`0)`.
///
/// C# signature: `System.Void LibreMetaverse.LruRemovalStrategy<TKey>.KeyAccessed(TKey key)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.LruRemovalStrategy`1.KeyAdded(`0)`.
///
/// C# signature: `System.Void LibreMetaverse.LruRemovalStrategy<TKey>.KeyAdded(TKey key)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.LruRemovalStrategy`1.KeyRemoved(`0)`.
///
/// C# signature: `System.Void LibreMetaverse.LruRemovalStrategy<TKey>.KeyRemoved(TKey key)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
pub use crate::collections::LruRemovalStrategy;

/// C# type: `T:LibreMetaverse.Material`.
///
/// Native Rust mapping of C# `LibreMetaverse.Material` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(u8)]
pub enum Material {
    /// C# member: `F:LibreMetaverse.Material.Flesh`.
    ///
    /// C# signature: `LibreMetaverse.Material LibreMetaverse.Material.Flesh`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Flesh = 4,
    /// C# member: `F:LibreMetaverse.Material.Glass`.
    ///
    /// C# signature: `LibreMetaverse.Material LibreMetaverse.Material.Glass`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Glass = 2,
    /// C# member: `F:LibreMetaverse.Material.Light`.
    ///
    /// C# signature: `LibreMetaverse.Material LibreMetaverse.Material.Light`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Light = 7,
    /// C# member: `F:LibreMetaverse.Material.Metal`.
    ///
    /// C# signature: `LibreMetaverse.Material LibreMetaverse.Material.Metal`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Metal = 1,
    /// C# member: `F:LibreMetaverse.Material.Plastic`.
    ///
    /// C# signature: `LibreMetaverse.Material LibreMetaverse.Material.Plastic`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Plastic = 5,
    /// C# member: `F:LibreMetaverse.Material.Rubber`.
    ///
    /// C# signature: `LibreMetaverse.Material LibreMetaverse.Material.Rubber`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Rubber = 6,
    /// C# member: `F:LibreMetaverse.Material.Stone`.
    ///
    /// C# signature: `LibreMetaverse.Material LibreMetaverse.Material.Stone`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Stone = 0,
    /// C# member: `F:LibreMetaverse.Material.Wood`.
    ///
    /// C# signature: `LibreMetaverse.Material LibreMetaverse.Material.Wood`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Wood = 3,
}

/// C# type: `T:LibreMetaverse.Matrix4`.
///
/// Native Rust mapping of C# `LibreMetaverse.Matrix4` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `F:LibreMetaverse.Matrix4.Identity`.
///
/// C# signature: `LibreMetaverse.Matrix4 LibreMetaverse.Matrix4.Identity`.
/// Mapping contract: ownership `none`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
/// C# member: `F:LibreMetaverse.Matrix4.M11`.
///
/// C# signature: `System.Single LibreMetaverse.Matrix4.M11`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Matrix4.M12`.
///
/// C# signature: `System.Single LibreMetaverse.Matrix4.M12`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Matrix4.M13`.
///
/// C# signature: `System.Single LibreMetaverse.Matrix4.M13`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Matrix4.M14`.
///
/// C# signature: `System.Single LibreMetaverse.Matrix4.M14`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Matrix4.M21`.
///
/// C# signature: `System.Single LibreMetaverse.Matrix4.M21`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Matrix4.M22`.
///
/// C# signature: `System.Single LibreMetaverse.Matrix4.M22`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Matrix4.M23`.
///
/// C# signature: `System.Single LibreMetaverse.Matrix4.M23`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Matrix4.M24`.
///
/// C# signature: `System.Single LibreMetaverse.Matrix4.M24`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Matrix4.M31`.
///
/// C# signature: `System.Single LibreMetaverse.Matrix4.M31`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Matrix4.M32`.
///
/// C# signature: `System.Single LibreMetaverse.Matrix4.M32`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Matrix4.M33`.
///
/// C# signature: `System.Single LibreMetaverse.Matrix4.M33`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Matrix4.M34`.
///
/// C# signature: `System.Single LibreMetaverse.Matrix4.M34`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Matrix4.M41`.
///
/// C# signature: `System.Single LibreMetaverse.Matrix4.M41`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Matrix4.M42`.
///
/// C# signature: `System.Single LibreMetaverse.Matrix4.M42`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Matrix4.M43`.
///
/// C# signature: `System.Single LibreMetaverse.Matrix4.M43`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Matrix4.M44`.
///
/// C# signature: `System.Single LibreMetaverse.Matrix4.M44`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Matrix4.Zero`.
///
/// C# signature: `LibreMetaverse.Matrix4 LibreMetaverse.Matrix4.Zero`.
/// Mapping contract: ownership `none`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
/// C# member: `M:LibreMetaverse.Matrix4.#ctor(LibreMetaverse.Matrix4)`.
///
/// C# signature: `LibreMetaverse.Matrix4(LibreMetaverse.Matrix4 m)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Matrix4.#ctor(System.Single,System.Single,System.Single)`.
///
/// C# signature: `LibreMetaverse.Matrix4(System.Single roll, System.Single pitch, System.Single yaw)`.
/// Mapping contract: ownership `owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// 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# signature: `LibreMetaverse.Matrix4(System.Single m11, System.Single m12, System.Single m13, System.Single m14, System.Single m21, System.Single m22, System.Single m23, System.Single m24, System.Single m31, System.Single m32, System.Single m33, System.Single m34, System.Single m41, System.Single m42, System.Single m43, System.Single m44)`.
/// Mapping contract: ownership `owned,owned,owned,owned,owned,owned,owned,owned,owned,owned,owned,owned,owned,owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Matrix4.Add(LibreMetaverse.Matrix4,LibreMetaverse.Matrix4)`.
///
/// C# signature: `LibreMetaverse.Matrix4 LibreMetaverse.Matrix4.Add(LibreMetaverse.Matrix4 matrix1, LibreMetaverse.Matrix4 matrix2)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Matrix4.Adjoint(LibreMetaverse.Matrix4)`.
///
/// C# signature: `LibreMetaverse.Matrix4 LibreMetaverse.Matrix4.Adjoint(LibreMetaverse.Matrix4 matrix)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Matrix4.Adjoint3x3(LibreMetaverse.Matrix4)`.
///
/// C# signature: `LibreMetaverse.Matrix4 LibreMetaverse.Matrix4.Adjoint3x3(LibreMetaverse.Matrix4 matrix)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Matrix4.CreateFromAxisAngle(LibreMetaverse.Vector3,System.Single)`.
///
/// C# signature: `LibreMetaverse.Matrix4 LibreMetaverse.Matrix4.CreateFromAxisAngle(LibreMetaverse.Vector3 axis, System.Single angle)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Matrix4.CreateFromEulers(System.Single,System.Single,System.Single)`.
///
/// C# signature: `LibreMetaverse.Matrix4 LibreMetaverse.Matrix4.CreateFromEulers(System.Single roll, System.Single pitch, System.Single yaw)`.
/// Mapping contract: ownership `owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Matrix4.CreateFromQuaternion(LibreMetaverse.Quaternion)`.
///
/// C# signature: `LibreMetaverse.Matrix4 LibreMetaverse.Matrix4.CreateFromQuaternion(LibreMetaverse.Quaternion quaternion)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Matrix4.CreateLookAt(LibreMetaverse.Vector3,LibreMetaverse.Vector3,LibreMetaverse.Vector3)`.
///
/// C# signature: `LibreMetaverse.Matrix4 LibreMetaverse.Matrix4.CreateLookAt(LibreMetaverse.Vector3 cameraPosition, LibreMetaverse.Vector3 cameraTarget, LibreMetaverse.Vector3 cameraUpVector)`.
/// Mapping contract: ownership `owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Matrix4.CreateRotationX(System.Single)`.
///
/// C# signature: `LibreMetaverse.Matrix4 LibreMetaverse.Matrix4.CreateRotationX(System.Single radians)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Matrix4.CreateRotationY(System.Single)`.
///
/// C# signature: `LibreMetaverse.Matrix4 LibreMetaverse.Matrix4.CreateRotationY(System.Single radians)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Matrix4.CreateRotationZ(System.Single)`.
///
/// C# signature: `LibreMetaverse.Matrix4 LibreMetaverse.Matrix4.CreateRotationZ(System.Single radians)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Matrix4.CreateScale(LibreMetaverse.Vector3)`.
///
/// C# signature: `LibreMetaverse.Matrix4 LibreMetaverse.Matrix4.CreateScale(LibreMetaverse.Vector3 scale)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Matrix4.CreateTranslation(LibreMetaverse.Vector3)`.
///
/// C# signature: `LibreMetaverse.Matrix4 LibreMetaverse.Matrix4.CreateTranslation(LibreMetaverse.Vector3 position)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Matrix4.CreateWorld(LibreMetaverse.Vector3,LibreMetaverse.Vector3,LibreMetaverse.Vector3)`.
///
/// C# signature: `LibreMetaverse.Matrix4 LibreMetaverse.Matrix4.CreateWorld(LibreMetaverse.Vector3 position, LibreMetaverse.Vector3 forward, LibreMetaverse.Vector3 up)`.
/// Mapping contract: ownership `owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Matrix4.Decompose(LibreMetaverse.Vector3@,LibreMetaverse.Quaternion@,LibreMetaverse.Vector3@)`.
///
/// C# signature: `System.Boolean LibreMetaverse.Matrix4.Decompose(out LibreMetaverse.Vector3& scale, out LibreMetaverse.Quaternion& rotation, out LibreMetaverse.Vector3& translation)`.
/// Mapping contract: ownership `mutable_self,mutable_output,mutable_output,mutable_output`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Matrix4.Determinant`.
///
/// C# signature: `System.Single LibreMetaverse.Matrix4.Determinant()`.
/// Mapping contract: ownership `mutable_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Matrix4.Determinant3x3`.
///
/// C# signature: `System.Single LibreMetaverse.Matrix4.Determinant3x3()`.
/// Mapping contract: ownership `mutable_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Matrix4.Divide(LibreMetaverse.Matrix4,LibreMetaverse.Matrix4)`.
///
/// C# signature: `LibreMetaverse.Matrix4 LibreMetaverse.Matrix4.Divide(LibreMetaverse.Matrix4 matrix1, LibreMetaverse.Matrix4 matrix2)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Matrix4.Divide(LibreMetaverse.Matrix4,System.Single)`.
///
/// C# signature: `LibreMetaverse.Matrix4 LibreMetaverse.Matrix4.Divide(LibreMetaverse.Matrix4 matrix1, System.Single divider)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Matrix4.Equals(LibreMetaverse.Matrix4)`.
///
/// C# signature: `System.Boolean LibreMetaverse.Matrix4.Equals(LibreMetaverse.Matrix4 other)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `infallible_placeholder`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Matrix4.Equals(System.Object)`.
///
/// C# signature: `System.Boolean LibreMetaverse.Matrix4.Equals(System.Object obj)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `infallible_placeholder`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Matrix4.GetEulerAngles(System.Single@,System.Single@,System.Single@)`.
///
/// C# signature: `System.Void LibreMetaverse.Matrix4.GetEulerAngles(out System.Single& roll, out System.Single& pitch, out System.Single& yaw)`.
/// Mapping contract: ownership `shared_self,mutable_output,mutable_output,mutable_output`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Matrix4.GetHashCode`.
///
/// C# signature: `System.Int32 LibreMetaverse.Matrix4.GetHashCode()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Matrix4.GetQuaternion`.
///
/// C# signature: `LibreMetaverse.Quaternion LibreMetaverse.Matrix4.GetQuaternion()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Matrix4.Inverse(LibreMetaverse.Matrix4)`.
///
/// C# signature: `LibreMetaverse.Matrix4 LibreMetaverse.Matrix4.Inverse(LibreMetaverse.Matrix4 matrix)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Matrix4.Inverse3x3(LibreMetaverse.Matrix4)`.
///
/// C# signature: `LibreMetaverse.Matrix4 LibreMetaverse.Matrix4.Inverse3x3(LibreMetaverse.Matrix4 matrix)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Matrix4.Lerp(LibreMetaverse.Matrix4,LibreMetaverse.Matrix4,System.Single)`.
///
/// C# signature: `LibreMetaverse.Matrix4 LibreMetaverse.Matrix4.Lerp(LibreMetaverse.Matrix4 matrix1, LibreMetaverse.Matrix4 matrix2, System.Single amount)`.
/// Mapping contract: ownership `owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Matrix4.Minor(LibreMetaverse.Matrix4,System.Int32,System.Int32)`.
///
/// C# signature: `LibreMetaverse.Matrix4 LibreMetaverse.Matrix4.Minor(LibreMetaverse.Matrix4 matrix, System.Int32 row, System.Int32 col)`.
/// Mapping contract: ownership `owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Matrix4.Multiply(LibreMetaverse.Matrix4,LibreMetaverse.Matrix4)`.
///
/// C# signature: `LibreMetaverse.Matrix4 LibreMetaverse.Matrix4.Multiply(LibreMetaverse.Matrix4 matrix1, LibreMetaverse.Matrix4 matrix2)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Matrix4.Multiply(LibreMetaverse.Matrix4,System.Single)`.
///
/// C# signature: `LibreMetaverse.Matrix4 LibreMetaverse.Matrix4.Multiply(LibreMetaverse.Matrix4 matrix1, System.Single scaleFactor)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Matrix4.Negate(LibreMetaverse.Matrix4)`.
///
/// C# signature: `LibreMetaverse.Matrix4 LibreMetaverse.Matrix4.Negate(LibreMetaverse.Matrix4 matrix)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Matrix4.Subtract(LibreMetaverse.Matrix4,LibreMetaverse.Matrix4)`.
///
/// C# signature: `LibreMetaverse.Matrix4 LibreMetaverse.Matrix4.Subtract(LibreMetaverse.Matrix4 matrix1, LibreMetaverse.Matrix4 matrix2)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Matrix4.ToString`.
///
/// C# signature: `System.String LibreMetaverse.Matrix4.ToString()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Matrix4.Trace`.
///
/// C# signature: `System.Single LibreMetaverse.Matrix4.Trace()`.
/// Mapping contract: ownership `mutable_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Matrix4.Transform(LibreMetaverse.Matrix4,LibreMetaverse.Quaternion)`.
///
/// C# signature: `LibreMetaverse.Matrix4 LibreMetaverse.Matrix4.Transform(LibreMetaverse.Matrix4 value, LibreMetaverse.Quaternion rotation)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Matrix4.Transpose(LibreMetaverse.Matrix4)`.
///
/// C# signature: `LibreMetaverse.Matrix4 LibreMetaverse.Matrix4.Transpose(LibreMetaverse.Matrix4 matrix)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Matrix4.op_Addition(LibreMetaverse.Matrix4,LibreMetaverse.Matrix4)`.
///
/// C# signature: `LibreMetaverse.Matrix4 LibreMetaverse.Matrix4.op_Addition(LibreMetaverse.Matrix4 left, LibreMetaverse.Matrix4 right)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `infallible_placeholder`; overload `descriptive_overload_name_with_stable_id`; kind `method`.
/// C# member: `M:LibreMetaverse.Matrix4.op_Division(LibreMetaverse.Matrix4,LibreMetaverse.Matrix4)`.
///
/// C# signature: `LibreMetaverse.Matrix4 LibreMetaverse.Matrix4.op_Division(LibreMetaverse.Matrix4 left, LibreMetaverse.Matrix4 right)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `infallible_placeholder`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Matrix4.op_Division(LibreMetaverse.Matrix4,System.Single)`.
///
/// C# signature: `LibreMetaverse.Matrix4 LibreMetaverse.Matrix4.op_Division(LibreMetaverse.Matrix4 matrix, System.Single divider)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `infallible_placeholder`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Matrix4.op_Equality(LibreMetaverse.Matrix4,LibreMetaverse.Matrix4)`.
///
/// C# signature: `System.Boolean LibreMetaverse.Matrix4.op_Equality(LibreMetaverse.Matrix4 left, LibreMetaverse.Matrix4 right)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Matrix4.op_Inequality(LibreMetaverse.Matrix4,LibreMetaverse.Matrix4)`.
///
/// C# signature: `System.Boolean LibreMetaverse.Matrix4.op_Inequality(LibreMetaverse.Matrix4 left, LibreMetaverse.Matrix4 right)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Matrix4.op_Multiply(LibreMetaverse.Matrix4,LibreMetaverse.Matrix4)`.
///
/// C# signature: `LibreMetaverse.Matrix4 LibreMetaverse.Matrix4.op_Multiply(LibreMetaverse.Matrix4 left, LibreMetaverse.Matrix4 right)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `infallible_placeholder`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Matrix4.op_Multiply(LibreMetaverse.Matrix4,System.Single)`.
///
/// C# signature: `LibreMetaverse.Matrix4 LibreMetaverse.Matrix4.op_Multiply(LibreMetaverse.Matrix4 left, System.Single scalar)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `infallible_placeholder`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Matrix4.op_Subtraction(LibreMetaverse.Matrix4,LibreMetaverse.Matrix4)`.
///
/// C# signature: `LibreMetaverse.Matrix4 LibreMetaverse.Matrix4.op_Subtraction(LibreMetaverse.Matrix4 left, LibreMetaverse.Matrix4 right)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Matrix4.op_UnaryNegation(LibreMetaverse.Matrix4)`.
///
/// C# signature: `LibreMetaverse.Matrix4 LibreMetaverse.Matrix4.op_UnaryNegation(LibreMetaverse.Matrix4 matrix)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.Matrix4.AtAxis`.
///
/// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Matrix4.AtAxis`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.Matrix4.Item(System.Int32)`.
///
/// C# signature: `LibreMetaverse.Vector4 LibreMetaverse.Matrix4.Item`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `infallible_placeholder`; overload `descriptive_overload_name`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.Matrix4.Item(System.Int32,System.Int32)`.
///
/// C# signature: `System.Single LibreMetaverse.Matrix4.Item`.
/// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
/// errors `infallible_placeholder`; overload `descriptive_overload_name`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.Matrix4.LeftAxis`.
///
/// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Matrix4.LeftAxis`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.Matrix4.UpAxis`.
///
/// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Matrix4.UpAxis`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::geometry::Matrix4;

/// C# type: `T:LibreMetaverse.MruRemovalStrategy`1`.
///
/// Native Rust mapping of C# `LibreMetaverse.MruRemovalStrategy<TKey>` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.MruRemovalStrategy`1.#ctor`.
///
/// C# signature: `LibreMetaverse.MruRemovalStrategy<TKey>()`.
/// Mapping contract: ownership `none`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.MruRemovalStrategy`1.Clear`.
///
/// C# signature: `System.Void LibreMetaverse.MruRemovalStrategy<TKey>.Clear()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.MruRemovalStrategy`1.GetKeyToRemove`.
///
/// C# signature: `TKey LibreMetaverse.MruRemovalStrategy<TKey>.GetKeyToRemove()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.MruRemovalStrategy`1.Initialize(System.Int32)`.
///
/// C# signature: `System.Void LibreMetaverse.MruRemovalStrategy<TKey>.Initialize(System.Int32 maxSize)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.MruRemovalStrategy`1.KeyAccessed(`0)`.
///
/// C# signature: `System.Void LibreMetaverse.MruRemovalStrategy<TKey>.KeyAccessed(TKey key)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.MruRemovalStrategy`1.KeyAdded(`0)`.
///
/// C# signature: `System.Void LibreMetaverse.MruRemovalStrategy<TKey>.KeyAdded(TKey key)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.MruRemovalStrategy`1.KeyRemoved(`0)`.
///
/// C# signature: `System.Void LibreMetaverse.MruRemovalStrategy<TKey>.KeyRemoved(TKey key)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
pub use crate::collections::MruRemovalStrategy;

/// C# type: `T:LibreMetaverse.MultiValueDictionary`2`.
///
/// Native Rust mapping of C# `LibreMetaverse.MultiValueDictionary<TKey, TValue>` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.MultiValueDictionary`2.#ctor`.
///
/// C# signature: `LibreMetaverse.MultiValueDictionary<TKey, TValue>()`.
/// Mapping contract: ownership `none`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.MultiValueDictionary`2.#ctor(System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{`0,System.Collections.Generic.IReadOnlyCollection{`1}}})`.
///
/// C# signature: `LibreMetaverse.MultiValueDictionary<TKey, TValue>(System.Collections.Generic.IEnumerable<System.Collections.Generic.KeyValuePair<TKey, System.Collections.Generic.IReadOnlyCollection<TValue>>> enumerable)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// 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# signature: `LibreMetaverse.MultiValueDictionary<TKey, TValue>(System.Collections.Generic.IEnumerable<System.Collections.Generic.KeyValuePair<TKey, System.Collections.Generic.IReadOnlyCollection<TValue>>> enumerable, System.Collections.Generic.IEqualityComparer<TKey> comparer)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.MultiValueDictionary`2.#ctor(System.Collections.Generic.IEqualityComparer{`0})`.
///
/// C# signature: `LibreMetaverse.MultiValueDictionary<TKey, TValue>(System.Collections.Generic.IEqualityComparer<TKey> comparer)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.MultiValueDictionary`2.#ctor(System.Int32)`.
///
/// C# signature: `LibreMetaverse.MultiValueDictionary<TKey, TValue>(System.Int32 capacity)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.MultiValueDictionary`2.#ctor(System.Int32,System.Collections.Generic.IEqualityComparer{`0})`.
///
/// C# signature: `LibreMetaverse.MultiValueDictionary<TKey, TValue>(System.Int32 capacity, System.Collections.Generic.IEqualityComparer<TKey> comparer)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.MultiValueDictionary`2.Add(`0,`1)`.
///
/// C# signature: `System.Void LibreMetaverse.MultiValueDictionary<TKey, TValue>.Add(TKey key, TValue value)`.
/// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.MultiValueDictionary`2.AddRange(`0,System.Collections.Generic.IEnumerable{`1})`.
///
/// C# signature: `System.Void LibreMetaverse.MultiValueDictionary<TKey, TValue>.AddRange(TKey key, System.Collections.Generic.IEnumerable<TValue> values)`.
/// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.MultiValueDictionary`2.Clear`.
///
/// C# signature: `System.Void LibreMetaverse.MultiValueDictionary<TKey, TValue>.Clear()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.MultiValueDictionary`2.Contains(`0,`1)`.
///
/// C# signature: `System.Boolean LibreMetaverse.MultiValueDictionary<TKey, TValue>.Contains(TKey key, TValue value)`.
/// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.MultiValueDictionary`2.ContainsKey(`0)`.
///
/// C# signature: `System.Boolean LibreMetaverse.MultiValueDictionary<TKey, TValue>.ContainsKey(TKey key)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.MultiValueDictionary`2.ContainsValue(`1)`.
///
/// C# signature: `System.Boolean LibreMetaverse.MultiValueDictionary<TKey, TValue>.ContainsValue(TValue value)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.MultiValueDictionary`2.Create``1`.
///
/// C# signature: `LibreMetaverse.MultiValueDictionary<TKey, TValue> LibreMetaverse.MultiValueDictionary<TKey, TValue>.Create()`.
/// Mapping contract: ownership `none`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.MultiValueDictionary`2.Create``1(System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{`0,System.Collections.Generic.IReadOnlyCollection{`1}}})`.
///
/// C# signature: `LibreMetaverse.MultiValueDictionary<TKey, TValue> LibreMetaverse.MultiValueDictionary<TKey, TValue>.Create(System.Collections.Generic.IEnumerable<System.Collections.Generic.KeyValuePair<TKey, System.Collections.Generic.IReadOnlyCollection<TValue>>> enumerable)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// 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# signature: `LibreMetaverse.MultiValueDictionary<TKey, TValue> LibreMetaverse.MultiValueDictionary<TKey, TValue>.Create(System.Collections.Generic.IEnumerable<System.Collections.Generic.KeyValuePair<TKey, System.Collections.Generic.IReadOnlyCollection<TValue>>> enumerable, System.Collections.Generic.IEqualityComparer<TKey> comparer)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// 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# signature: `LibreMetaverse.MultiValueDictionary<TKey, TValue> LibreMetaverse.MultiValueDictionary<TKey, TValue>.Create(System.Collections.Generic.IEnumerable<System.Collections.Generic.KeyValuePair<TKey, System.Collections.Generic.IReadOnlyCollection<TValue>>> enumerable, System.Collections.Generic.IEqualityComparer<TKey> comparer, System.Func<TValueCollection> collectionFactory)`.
/// Mapping contract: ownership `owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// 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# signature: `LibreMetaverse.MultiValueDictionary<TKey, TValue> LibreMetaverse.MultiValueDictionary<TKey, TValue>.Create(System.Collections.Generic.IEnumerable<System.Collections.Generic.KeyValuePair<TKey, System.Collections.Generic.IReadOnlyCollection<TValue>>> enumerable, System.Func<TValueCollection> collectionFactory)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.MultiValueDictionary`2.Create``1(System.Collections.Generic.IEqualityComparer{`0})`.
///
/// C# signature: `LibreMetaverse.MultiValueDictionary<TKey, TValue> LibreMetaverse.MultiValueDictionary<TKey, TValue>.Create(System.Collections.Generic.IEqualityComparer<TKey> comparer)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.MultiValueDictionary`2.Create``1(System.Collections.Generic.IEqualityComparer{`0},System.Func{``0})`.
///
/// C# signature: `LibreMetaverse.MultiValueDictionary<TKey, TValue> LibreMetaverse.MultiValueDictionary<TKey, TValue>.Create(System.Collections.Generic.IEqualityComparer<TKey> comparer, System.Func<TValueCollection> collectionFactory)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.MultiValueDictionary`2.Create``1(System.Func{``0})`.
///
/// C# signature: `LibreMetaverse.MultiValueDictionary<TKey, TValue> LibreMetaverse.MultiValueDictionary<TKey, TValue>.Create(System.Func<TValueCollection> collectionFactory)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.MultiValueDictionary`2.Create``1(System.Int32)`.
///
/// C# signature: `LibreMetaverse.MultiValueDictionary<TKey, TValue> LibreMetaverse.MultiValueDictionary<TKey, TValue>.Create(System.Int32 capacity)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.MultiValueDictionary`2.Create``1(System.Int32,System.Collections.Generic.IEqualityComparer{`0})`.
///
/// C# signature: `LibreMetaverse.MultiValueDictionary<TKey, TValue> LibreMetaverse.MultiValueDictionary<TKey, TValue>.Create(System.Int32 capacity, System.Collections.Generic.IEqualityComparer<TKey> comparer)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.MultiValueDictionary`2.Create``1(System.Int32,System.Collections.Generic.IEqualityComparer{`0},System.Func{``0})`.
///
/// C# signature: `LibreMetaverse.MultiValueDictionary<TKey, TValue> LibreMetaverse.MultiValueDictionary<TKey, TValue>.Create(System.Int32 capacity, System.Collections.Generic.IEqualityComparer<TKey> comparer, System.Func<TValueCollection> collectionFactory)`.
/// Mapping contract: ownership `owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.MultiValueDictionary`2.Create``1(System.Int32,System.Func{``0})`.
///
/// C# signature: `LibreMetaverse.MultiValueDictionary<TKey, TValue> LibreMetaverse.MultiValueDictionary<TKey, TValue>.Create(System.Int32 capacity, System.Func<TValueCollection> collectionFactory)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.MultiValueDictionary`2.GetEnumerator`.
///
/// C# signature: `System.Collections.Generic.IEnumerator<System.Collections.Generic.KeyValuePair<TKey, System.Collections.Generic.IReadOnlyCollection<TValue>>> LibreMetaverse.MultiValueDictionary<TKey, TValue>.GetEnumerator()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.MultiValueDictionary`2.Remove(`0)`.
///
/// C# signature: `System.Boolean LibreMetaverse.MultiValueDictionary<TKey, TValue>.Remove(TKey key)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.MultiValueDictionary`2.Remove(`0,`1)`.
///
/// C# signature: `System.Boolean LibreMetaverse.MultiValueDictionary<TKey, TValue>.Remove(TKey key, TValue value)`.
/// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.MultiValueDictionary`2.TryGetValue(`0,System.Collections.Generic.IReadOnlyCollection{`1}@)`.
///
/// C# signature: `System.Boolean LibreMetaverse.MultiValueDictionary<TKey, TValue>.TryGetValue(TKey key, out System.Collections.Generic.IReadOnlyCollection<TValue>& value)`.
/// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.MultiValueDictionary`2.Count`.
///
/// C# signature: `System.Int32 LibreMetaverse.MultiValueDictionary<TKey, TValue>.Count`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.MultiValueDictionary`2.Item(`0)`.
///
/// C# signature: `System.Collections.Generic.IReadOnlyCollection<TValue> LibreMetaverse.MultiValueDictionary<TKey, TValue>.Item`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.MultiValueDictionary`2.Keys`.
///
/// C# signature: `System.Collections.Generic.IEnumerable<TKey> LibreMetaverse.MultiValueDictionary<TKey, TValue>.Keys`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.MultiValueDictionary`2.Values`.
///
/// C# signature: `System.Collections.Generic.IEnumerable<System.Collections.Generic.IReadOnlyCollection<TValue>> LibreMetaverse.MultiValueDictionary<TKey, TValue>.Values`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::collections::MultiValueDictionary;

/// C# type: `T:LibreMetaverse.ObjectCategory`.
///
/// Native Rust mapping of C# `LibreMetaverse.ObjectCategory` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(i32)]
pub enum ObjectCategory {
    /// C# member: `F:LibreMetaverse.ObjectCategory.Group`.
    ///
    /// C# signature: `LibreMetaverse.ObjectCategory LibreMetaverse.ObjectCategory.Group`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Group = 2,
    /// C# member: `F:LibreMetaverse.ObjectCategory.Invalid`.
    ///
    /// C# signature: `LibreMetaverse.ObjectCategory LibreMetaverse.ObjectCategory.Invalid`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Invalid = -1,
    /// C# member: `F:LibreMetaverse.ObjectCategory.None`.
    ///
    /// C# signature: `LibreMetaverse.ObjectCategory LibreMetaverse.ObjectCategory.None`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    None = 0,
    /// C# member: `F:LibreMetaverse.ObjectCategory.Other`.
    ///
    /// C# signature: `LibreMetaverse.ObjectCategory LibreMetaverse.ObjectCategory.Other`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Other = 3,
    /// C# member: `F:LibreMetaverse.ObjectCategory.Owner`.
    ///
    /// C# signature: `LibreMetaverse.ObjectCategory LibreMetaverse.ObjectCategory.Owner`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Owner = 1,
    /// C# member: `F:LibreMetaverse.ObjectCategory.Selected`.
    ///
    /// C# signature: `LibreMetaverse.ObjectCategory LibreMetaverse.ObjectCategory.Selected`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Selected = 4,
    /// C# member: `F:LibreMetaverse.ObjectCategory.Temporary`.
    ///
    /// C# signature: `LibreMetaverse.ObjectCategory LibreMetaverse.ObjectCategory.Temporary`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Temporary = 5,
}

/// C# type: `T:LibreMetaverse.PCode`.
///
/// Native Rust mapping of C# `LibreMetaverse.PCode` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(u8)]
pub enum PCode {
    /// C# member: `F:LibreMetaverse.PCode.Avatar`.
    ///
    /// C# signature: `LibreMetaverse.PCode LibreMetaverse.PCode.Avatar`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Avatar = 47,
    /// C# member: `F:LibreMetaverse.PCode.Grass`.
    ///
    /// C# signature: `LibreMetaverse.PCode LibreMetaverse.PCode.Grass`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Grass = 95,
    /// C# member: `F:LibreMetaverse.PCode.NewTree`.
    ///
    /// C# signature: `LibreMetaverse.PCode LibreMetaverse.PCode.NewTree`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    NewTree = 111,
    /// C# member: `F:LibreMetaverse.PCode.None`.
    ///
    /// C# signature: `LibreMetaverse.PCode LibreMetaverse.PCode.None`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    None = 0,
    /// C# member: `F:LibreMetaverse.PCode.ParticleSystem`.
    ///
    /// C# signature: `LibreMetaverse.PCode LibreMetaverse.PCode.ParticleSystem`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    ParticleSystem = 143,
    /// C# member: `F:LibreMetaverse.PCode.Prim`.
    ///
    /// C# signature: `LibreMetaverse.PCode LibreMetaverse.PCode.Prim`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Prim = 9,
    /// C# member: `F:LibreMetaverse.PCode.Tree`.
    ///
    /// C# signature: `LibreMetaverse.PCode LibreMetaverse.PCode.Tree`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Tree = 255,
}

/// C# type: `T:LibreMetaverse.PathCurve`.
///
/// Native Rust mapping of C# `LibreMetaverse.PathCurve` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(u8)]
pub enum PathCurve {
    /// C# member: `F:LibreMetaverse.PathCurve.Circle`.
    ///
    /// C# signature: `LibreMetaverse.PathCurve LibreMetaverse.PathCurve.Circle`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Circle = 32,
    /// C# member: `F:LibreMetaverse.PathCurve.Circle2`.
    ///
    /// C# signature: `LibreMetaverse.PathCurve LibreMetaverse.PathCurve.Circle2`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Circle2 = 48,
    /// C# member: `F:LibreMetaverse.PathCurve.Flexible`.
    ///
    /// C# signature: `LibreMetaverse.PathCurve LibreMetaverse.PathCurve.Flexible`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Flexible = 128,
    /// C# member: `F:LibreMetaverse.PathCurve.Line`.
    ///
    /// C# signature: `LibreMetaverse.PathCurve LibreMetaverse.PathCurve.Line`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Line = 16,
    /// C# member: `F:LibreMetaverse.PathCurve.Test`.
    ///
    /// C# signature: `LibreMetaverse.PathCurve LibreMetaverse.PathCurve.Test`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Test = 64,
}

/// C# type: `T:LibreMetaverse.PhysicsShapeType`.
///
/// Native Rust mapping of C# `LibreMetaverse.PhysicsShapeType` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(u8)]
pub enum PhysicsShapeType {
    /// C# member: `F:LibreMetaverse.PhysicsShapeType.ConvexHull`.
    ///
    /// C# signature: `LibreMetaverse.PhysicsShapeType LibreMetaverse.PhysicsShapeType.ConvexHull`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    ConvexHull = 2,
    /// C# member: `F:LibreMetaverse.PhysicsShapeType.None`.
    ///
    /// C# signature: `LibreMetaverse.PhysicsShapeType LibreMetaverse.PhysicsShapeType.None`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    None = 1,
    /// C# member: `F:LibreMetaverse.PhysicsShapeType.Prim`.
    ///
    /// C# signature: `LibreMetaverse.PhysicsShapeType LibreMetaverse.PhysicsShapeType.Prim`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Prim = 0,
}

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

/// C# type: `T:LibreMetaverse.PrimType`.
///
/// Native Rust mapping of C# `LibreMetaverse.PrimType` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(i32)]
pub enum PrimType {
    /// C# member: `F:LibreMetaverse.PrimType.Box`.
    ///
    /// C# signature: `LibreMetaverse.PrimType LibreMetaverse.PrimType.Box`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Box = 1,
    /// C# member: `F:LibreMetaverse.PrimType.Cylinder`.
    ///
    /// C# signature: `LibreMetaverse.PrimType LibreMetaverse.PrimType.Cylinder`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Cylinder = 2,
    /// C# member: `F:LibreMetaverse.PrimType.Mesh`.
    ///
    /// C# signature: `LibreMetaverse.PrimType LibreMetaverse.PrimType.Mesh`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Mesh = 9,
    /// C# member: `F:LibreMetaverse.PrimType.Prism`.
    ///
    /// C# signature: `LibreMetaverse.PrimType LibreMetaverse.PrimType.Prism`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Prism = 3,
    /// C# member: `F:LibreMetaverse.PrimType.Ring`.
    ///
    /// C# signature: `LibreMetaverse.PrimType LibreMetaverse.PrimType.Ring`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Ring = 7,
    /// C# member: `F:LibreMetaverse.PrimType.Sculpt`.
    ///
    /// C# signature: `LibreMetaverse.PrimType LibreMetaverse.PrimType.Sculpt`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Sculpt = 8,
    /// C# member: `F:LibreMetaverse.PrimType.Sphere`.
    ///
    /// C# signature: `LibreMetaverse.PrimType LibreMetaverse.PrimType.Sphere`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Sphere = 4,
    /// C# member: `F:LibreMetaverse.PrimType.Torus`.
    ///
    /// C# signature: `LibreMetaverse.PrimType LibreMetaverse.PrimType.Torus`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Torus = 5,
    /// C# member: `F:LibreMetaverse.PrimType.Tube`.
    ///
    /// C# signature: `LibreMetaverse.PrimType LibreMetaverse.PrimType.Tube`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Tube = 6,
    /// C# member: `F:LibreMetaverse.PrimType.Unknown`.
    ///
    /// C# signature: `LibreMetaverse.PrimType LibreMetaverse.PrimType.Unknown`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Unknown = 0,
}

/// C# type: `T:LibreMetaverse.ProfileCurve`.
///
/// Native Rust mapping of C# `LibreMetaverse.ProfileCurve` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(u8)]
pub enum ProfileCurve {
    /// C# member: `F:LibreMetaverse.ProfileCurve.Circle`.
    ///
    /// C# signature: `LibreMetaverse.ProfileCurve LibreMetaverse.ProfileCurve.Circle`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Circle = 0,
    /// C# member: `F:LibreMetaverse.ProfileCurve.EqualTriangle`.
    ///
    /// C# signature: `LibreMetaverse.ProfileCurve LibreMetaverse.ProfileCurve.EqualTriangle`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    EqualTriangle = 3,
    /// C# member: `F:LibreMetaverse.ProfileCurve.HalfCircle`.
    ///
    /// C# signature: `LibreMetaverse.ProfileCurve LibreMetaverse.ProfileCurve.HalfCircle`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    HalfCircle = 5,
    /// C# member: `F:LibreMetaverse.ProfileCurve.IsoTriangle`.
    ///
    /// C# signature: `LibreMetaverse.ProfileCurve LibreMetaverse.ProfileCurve.IsoTriangle`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    IsoTriangle = 2,
    /// C# member: `F:LibreMetaverse.ProfileCurve.RightTriangle`.
    ///
    /// C# signature: `LibreMetaverse.ProfileCurve LibreMetaverse.ProfileCurve.RightTriangle`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    RightTriangle = 4,
    /// C# member: `F:LibreMetaverse.ProfileCurve.Square`.
    ///
    /// C# signature: `LibreMetaverse.ProfileCurve LibreMetaverse.ProfileCurve.Square`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Square = 1,
}

/// C# type: `T:LibreMetaverse.Quaternion`.
///
/// Native Rust mapping of C# `LibreMetaverse.Quaternion` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `F:LibreMetaverse.Quaternion.Identity`.
///
/// C# signature: `LibreMetaverse.Quaternion LibreMetaverse.Quaternion.Identity`.
/// Mapping contract: ownership `none`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
/// C# member: `F:LibreMetaverse.Quaternion.W`.
///
/// C# signature: `System.Single LibreMetaverse.Quaternion.W`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Quaternion.X`.
///
/// C# signature: `System.Single LibreMetaverse.Quaternion.X`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Quaternion.Y`.
///
/// C# signature: `System.Single LibreMetaverse.Quaternion.Y`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Quaternion.Z`.
///
/// C# signature: `System.Single LibreMetaverse.Quaternion.Z`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `M:LibreMetaverse.Quaternion.#ctor(LibreMetaverse.Vector3,System.Single)`.
///
/// C# signature: `LibreMetaverse.Quaternion(LibreMetaverse.Vector3 vectorPart, System.Single scalarPart)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Quaternion.#ctor(System.Byte[],System.Int32,System.Boolean)`.
///
/// C# signature: `LibreMetaverse.Quaternion(System.Byte[] byteArray, System.Int32 pos, System.Boolean normalized)`.
/// Mapping contract: ownership `owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Quaternion.#ctor(System.Single,System.Single,System.Single)`.
///
/// C# signature: `LibreMetaverse.Quaternion(System.Single x, System.Single y, System.Single z)`.
/// Mapping contract: ownership `owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Quaternion.#ctor(System.Single,System.Single,System.Single,System.Single)`.
///
/// C# signature: `LibreMetaverse.Quaternion(System.Single x, System.Single y, System.Single z, System.Single w)`.
/// Mapping contract: ownership `owned,owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Quaternion.Add(LibreMetaverse.Quaternion,LibreMetaverse.Quaternion)`.
///
/// C# signature: `LibreMetaverse.Quaternion LibreMetaverse.Quaternion.Add(LibreMetaverse.Quaternion q1, LibreMetaverse.Quaternion q2)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Quaternion.ApproxEquals(LibreMetaverse.Quaternion,System.Single)`.
///
/// C# signature: `System.Boolean LibreMetaverse.Quaternion.ApproxEquals(LibreMetaverse.Quaternion quat, System.Single tolerance)`.
/// Mapping contract: ownership `mutable_self,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Quaternion.Conjugate(LibreMetaverse.Quaternion)`.
///
/// C# signature: `LibreMetaverse.Quaternion LibreMetaverse.Quaternion.Conjugate(LibreMetaverse.Quaternion quaternion)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Quaternion.CreateFromAxisAngle(LibreMetaverse.Vector3,System.Single)`.
///
/// C# signature: `LibreMetaverse.Quaternion LibreMetaverse.Quaternion.CreateFromAxisAngle(LibreMetaverse.Vector3 axis, System.Single angle)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Quaternion.CreateFromAxisAngle(System.Single,System.Single,System.Single,System.Single)`.
///
/// C# signature: `LibreMetaverse.Quaternion LibreMetaverse.Quaternion.CreateFromAxisAngle(System.Single axisX, System.Single axisY, System.Single axisZ, System.Single angle)`.
/// Mapping contract: ownership `owned,owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Quaternion.CreateFromEulers(LibreMetaverse.Vector3)`.
///
/// C# signature: `LibreMetaverse.Quaternion LibreMetaverse.Quaternion.CreateFromEulers(LibreMetaverse.Vector3 eulers)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Quaternion.CreateFromEulers(System.Single,System.Single,System.Single)`.
///
/// C# signature: `LibreMetaverse.Quaternion LibreMetaverse.Quaternion.CreateFromEulers(System.Single roll, System.Single pitch, System.Single yaw)`.
/// Mapping contract: ownership `owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Quaternion.CreateFromRotationMatrix(LibreMetaverse.Matrix4)`.
///
/// C# signature: `LibreMetaverse.Quaternion LibreMetaverse.Quaternion.CreateFromRotationMatrix(LibreMetaverse.Matrix4 matrix)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Quaternion.Divide(LibreMetaverse.Quaternion,LibreMetaverse.Quaternion)`.
///
/// C# signature: `LibreMetaverse.Quaternion LibreMetaverse.Quaternion.Divide(LibreMetaverse.Quaternion q1, LibreMetaverse.Quaternion q2)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Quaternion.Dot(LibreMetaverse.Quaternion,LibreMetaverse.Quaternion)`.
///
/// C# signature: `System.Single LibreMetaverse.Quaternion.Dot(LibreMetaverse.Quaternion q1, LibreMetaverse.Quaternion q2)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Quaternion.Equals(LibreMetaverse.Quaternion)`.
///
/// C# signature: `System.Boolean LibreMetaverse.Quaternion.Equals(LibreMetaverse.Quaternion other)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `infallible_placeholder`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Quaternion.Equals(System.Object)`.
///
/// C# signature: `System.Boolean LibreMetaverse.Quaternion.Equals(System.Object obj)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `infallible_placeholder`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Quaternion.FromBytes(System.Byte[],System.Int32,System.Boolean)`.
///
/// C# signature: `LibreMetaverse.Quaternion LibreMetaverse.Quaternion.FromBytes(System.Byte[] byteArray, System.Int32 pos, System.Boolean normalized)`.
/// Mapping contract: ownership `owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Quaternion.GetAxisAngle(LibreMetaverse.Vector3@,System.Single@)`.
///
/// C# signature: `System.Void LibreMetaverse.Quaternion.GetAxisAngle(out LibreMetaverse.Vector3& axis, out System.Single& angle)`.
/// Mapping contract: ownership `shared_self,mutable_output,mutable_output`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Quaternion.GetBytes`.
///
/// C# signature: `System.Byte[] LibreMetaverse.Quaternion.GetBytes()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Quaternion.GetEulerAngles(System.Single@,System.Single@,System.Single@)`.
///
/// C# signature: `System.Void LibreMetaverse.Quaternion.GetEulerAngles(out System.Single& roll, out System.Single& pitch, out System.Single& yaw)`.
/// Mapping contract: ownership `shared_self,mutable_output,mutable_output,mutable_output`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Quaternion.GetHashCode`.
///
/// C# signature: `System.Int32 LibreMetaverse.Quaternion.GetHashCode()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Quaternion.Inverse(LibreMetaverse.Quaternion)`.
///
/// C# signature: `LibreMetaverse.Quaternion LibreMetaverse.Quaternion.Inverse(LibreMetaverse.Quaternion quaternion)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Quaternion.Length`.
///
/// C# signature: `System.Single LibreMetaverse.Quaternion.Length()`.
/// Mapping contract: ownership `mutable_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Quaternion.LengthSquared`.
///
/// C# signature: `System.Single LibreMetaverse.Quaternion.LengthSquared()`.
/// Mapping contract: ownership `mutable_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Quaternion.Multiply(LibreMetaverse.Quaternion,LibreMetaverse.Quaternion)`.
///
/// C# signature: `LibreMetaverse.Quaternion LibreMetaverse.Quaternion.Multiply(LibreMetaverse.Quaternion a, LibreMetaverse.Quaternion b)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Quaternion.Multiply(LibreMetaverse.Quaternion,System.Single)`.
///
/// C# signature: `LibreMetaverse.Quaternion LibreMetaverse.Quaternion.Multiply(LibreMetaverse.Quaternion quaternion, System.Single scaleFactor)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Quaternion.Negate(LibreMetaverse.Quaternion)`.
///
/// C# signature: `LibreMetaverse.Quaternion LibreMetaverse.Quaternion.Negate(LibreMetaverse.Quaternion quaternion)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Quaternion.Normalize(LibreMetaverse.Quaternion)`.
///
/// C# signature: `LibreMetaverse.Quaternion LibreMetaverse.Quaternion.Normalize(LibreMetaverse.Quaternion q)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Quaternion.Parse(System.String)`.
///
/// C# signature: `LibreMetaverse.Quaternion LibreMetaverse.Quaternion.Parse(System.String val)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Quaternion.Slerp(LibreMetaverse.Quaternion,LibreMetaverse.Quaternion,System.Single)`.
///
/// C# signature: `LibreMetaverse.Quaternion LibreMetaverse.Quaternion.Slerp(LibreMetaverse.Quaternion q1, LibreMetaverse.Quaternion q2, System.Single amount)`.
/// Mapping contract: ownership `owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Quaternion.Subtract(LibreMetaverse.Quaternion,LibreMetaverse.Quaternion)`.
///
/// C# signature: `LibreMetaverse.Quaternion LibreMetaverse.Quaternion.Subtract(LibreMetaverse.Quaternion q1, LibreMetaverse.Quaternion q2)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Quaternion.ToBytes(System.Byte[],System.Int32)`.
///
/// C# signature: `System.Void LibreMetaverse.Quaternion.ToBytes(System.Byte[] dest, System.Int32 pos)`.
/// Mapping contract: ownership `shared_self,mutable_borrow,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Quaternion.ToEulerVector`.
///
/// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Quaternion.ToEulerVector()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Quaternion.ToRawString`.
///
/// C# signature: `System.String LibreMetaverse.Quaternion.ToRawString()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Quaternion.ToString`.
///
/// C# signature: `System.String LibreMetaverse.Quaternion.ToString()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Quaternion.TryParse(System.String,LibreMetaverse.Quaternion@)`.
///
/// C# signature: `System.Boolean LibreMetaverse.Quaternion.TryParse(System.String val, out LibreMetaverse.Quaternion& result)`.
/// Mapping contract: ownership `owned,mutable_output`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Quaternion.op_Addition(LibreMetaverse.Quaternion,LibreMetaverse.Quaternion)`.
///
/// C# signature: `LibreMetaverse.Quaternion LibreMetaverse.Quaternion.op_Addition(LibreMetaverse.Quaternion q1, LibreMetaverse.Quaternion q2)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `infallible_placeholder`; overload `descriptive_overload_name_with_stable_id`; kind `method`.
/// C# member: `M:LibreMetaverse.Quaternion.op_Division(LibreMetaverse.Quaternion,LibreMetaverse.Quaternion)`.
///
/// C# signature: `LibreMetaverse.Quaternion LibreMetaverse.Quaternion.op_Division(LibreMetaverse.Quaternion q1, LibreMetaverse.Quaternion q2)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Quaternion.op_Equality(LibreMetaverse.Quaternion,LibreMetaverse.Quaternion)`.
///
/// C# signature: `System.Boolean LibreMetaverse.Quaternion.op_Equality(LibreMetaverse.Quaternion q1, LibreMetaverse.Quaternion q2)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Quaternion.op_Inequality(LibreMetaverse.Quaternion,LibreMetaverse.Quaternion)`.
///
/// C# signature: `System.Boolean LibreMetaverse.Quaternion.op_Inequality(LibreMetaverse.Quaternion q1, LibreMetaverse.Quaternion q2)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Quaternion.op_Multiply(LibreMetaverse.Quaternion,LibreMetaverse.Quaternion)`.
///
/// C# signature: `LibreMetaverse.Quaternion LibreMetaverse.Quaternion.op_Multiply(LibreMetaverse.Quaternion a, LibreMetaverse.Quaternion b)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `infallible_placeholder`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Quaternion.op_Multiply(LibreMetaverse.Quaternion,System.Single)`.
///
/// C# signature: `LibreMetaverse.Quaternion LibreMetaverse.Quaternion.op_Multiply(LibreMetaverse.Quaternion q, System.Single scaleFactor)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `infallible_placeholder`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Quaternion.op_Subtraction(LibreMetaverse.Quaternion,LibreMetaverse.Quaternion)`.
///
/// C# signature: `LibreMetaverse.Quaternion LibreMetaverse.Quaternion.op_Subtraction(LibreMetaverse.Quaternion q1, LibreMetaverse.Quaternion q2)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Quaternion.op_UnaryNegation(LibreMetaverse.Quaternion)`.
///
/// C# signature: `LibreMetaverse.Quaternion LibreMetaverse.Quaternion.op_UnaryNegation(LibreMetaverse.Quaternion q)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
pub use crate::geometry::Quaternion;

/// C# type: `T:LibreMetaverse.Ray`.
///
/// Native Rust mapping of C# `LibreMetaverse.Ray` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `F:LibreMetaverse.Ray.Direction`.
///
/// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Ray.Direction`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Ray.Origin`.
///
/// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Ray.Origin`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `M:LibreMetaverse.Ray.#ctor(LibreMetaverse.Vector3,LibreMetaverse.Vector3)`.
///
/// C# signature: `LibreMetaverse.Ray(LibreMetaverse.Vector3 origin, LibreMetaverse.Vector3 direction)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
pub use crate::vectors::Ray;

/// C# type: `T:LibreMetaverse.SaleType`.
///
/// Native Rust mapping of C# `LibreMetaverse.SaleType` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(u8)]
pub enum SaleType {
    /// C# member: `F:LibreMetaverse.SaleType.Contents`.
    ///
    /// C# signature: `LibreMetaverse.SaleType LibreMetaverse.SaleType.Contents`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Contents = 3,
    /// C# member: `F:LibreMetaverse.SaleType.Copy`.
    ///
    /// C# signature: `LibreMetaverse.SaleType LibreMetaverse.SaleType.Copy`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Copy = 2,
    /// C# member: `F:LibreMetaverse.SaleType.Not`.
    ///
    /// C# signature: `LibreMetaverse.SaleType LibreMetaverse.SaleType.Not`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Not = 0,
    /// C# member: `F:LibreMetaverse.SaleType.Original`.
    ///
    /// C# signature: `LibreMetaverse.SaleType LibreMetaverse.SaleType.Original`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Original = 1,
}

/// C# type: `T:LibreMetaverse.SculptType`.
///
/// Native Rust mapping of C# `LibreMetaverse.SculptType` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(u8)]
pub enum SculptType {
    /// C# member: `F:LibreMetaverse.SculptType.Cylinder`.
    ///
    /// C# signature: `LibreMetaverse.SculptType LibreMetaverse.SculptType.Cylinder`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Cylinder = 4,
    /// C# member: `F:LibreMetaverse.SculptType.Invert`.
    ///
    /// C# signature: `LibreMetaverse.SculptType LibreMetaverse.SculptType.Invert`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Invert = 64,
    /// C# member: `F:LibreMetaverse.SculptType.Mesh`.
    ///
    /// C# signature: `LibreMetaverse.SculptType LibreMetaverse.SculptType.Mesh`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Mesh = 5,
    /// C# member: `F:LibreMetaverse.SculptType.Mirror`.
    ///
    /// C# signature: `LibreMetaverse.SculptType LibreMetaverse.SculptType.Mirror`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Mirror = 128,
    /// C# member: `F:LibreMetaverse.SculptType.None`.
    ///
    /// C# signature: `LibreMetaverse.SculptType LibreMetaverse.SculptType.None`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    None = 0,
    /// C# member: `F:LibreMetaverse.SculptType.Plane`.
    ///
    /// C# signature: `LibreMetaverse.SculptType LibreMetaverse.SculptType.Plane`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Plane = 3,
    /// C# member: `F:LibreMetaverse.SculptType.Sphere`.
    ///
    /// C# signature: `LibreMetaverse.SculptType LibreMetaverse.SculptType.Sphere`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Sphere = 1,
    /// C# member: `F:LibreMetaverse.SculptType.Torus`.
    ///
    /// C# signature: `LibreMetaverse.SculptType LibreMetaverse.SculptType.Torus`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Torus = 2,
}

/// C# type: `T:LibreMetaverse.SoundFlags`.
///
/// Native Rust mapping of C# `LibreMetaverse.SoundFlags` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(transparent)]
pub struct SoundFlags(pub u8);
impl SoundFlags {
    /// C# member: `F:LibreMetaverse.SoundFlags.Loop`.
    ///
    /// C# signature: `LibreMetaverse.SoundFlags LibreMetaverse.SoundFlags.Loop`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const LOOP_: Self = Self(1);
    /// C# member: `F:LibreMetaverse.SoundFlags.None`.
    ///
    /// C# signature: `LibreMetaverse.SoundFlags LibreMetaverse.SoundFlags.None`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const NONE: Self = Self(0);
    /// C# member: `F:LibreMetaverse.SoundFlags.Queue`.
    ///
    /// C# signature: `LibreMetaverse.SoundFlags LibreMetaverse.SoundFlags.Queue`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const QUEUE: Self = Self(16);
    /// C# member: `F:LibreMetaverse.SoundFlags.Stop`.
    ///
    /// C# signature: `LibreMetaverse.SoundFlags LibreMetaverse.SoundFlags.Stop`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const STOP: Self = Self(32);
    /// C# member: `F:LibreMetaverse.SoundFlags.SyncMaster`.
    ///
    /// C# signature: `LibreMetaverse.SoundFlags LibreMetaverse.SoundFlags.SyncMaster`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const SYNC_MASTER: Self = Self(2);
    /// C# member: `F:LibreMetaverse.SoundFlags.SyncPending`.
    ///
    /// C# signature: `LibreMetaverse.SoundFlags LibreMetaverse.SoundFlags.SyncPending`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const SYNC_PENDING: Self = Self(8);
    /// C# member: `F:LibreMetaverse.SoundFlags.SyncSlave`.
    ///
    /// C# signature: `LibreMetaverse.SoundFlags LibreMetaverse.SoundFlags.SyncSlave`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    pub const SYNC_SLAVE: Self = Self(4);
}

/// C# type: `T:LibreMetaverse.TokenBucket`.
///
/// Native Rust mapping of C# `LibreMetaverse.TokenBucket` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.TokenBucket.#ctor(LibreMetaverse.TokenBucket,System.Int32,System.Int32)`.
///
/// C# signature: `LibreMetaverse.TokenBucket(LibreMetaverse.TokenBucket parent, System.Int32 maxBurst, System.Int32 dripRate)`.
/// Mapping contract: ownership `owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.TokenBucket.RemoveTokens(System.Int32)`.
///
/// C# signature: `System.Boolean LibreMetaverse.TokenBucket.RemoveTokens(System.Int32 amount)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.TokenBucket.RemoveTokens(System.Int32,System.Boolean@)`.
///
/// C# signature: `System.Boolean LibreMetaverse.TokenBucket.RemoveTokens(System.Int32 amount, out System.Boolean& dripSucceeded)`.
/// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `P:LibreMetaverse.TokenBucket.Content`.
///
/// C# signature: `System.Int32 LibreMetaverse.TokenBucket.Content`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.TokenBucket.DripRate`.
///
/// C# signature: `System.Int32 LibreMetaverse.TokenBucket.DripRate`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.TokenBucket.MaxBurst`.
///
/// C# signature: `System.Int32 LibreMetaverse.TokenBucket.MaxBurst`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.TokenBucket.Parent`.
///
/// C# signature: `LibreMetaverse.TokenBucket LibreMetaverse.TokenBucket.Parent`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::collections::TokenBucket;

/// C# type: `T:LibreMetaverse.UUID`.
///
/// Native Rust mapping of C# `LibreMetaverse.UUID` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `F:LibreMetaverse.UUID.Zero`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.UUID.Zero`.
/// Mapping contract: ownership `none`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
/// C# member: `M:LibreMetaverse.UUID.#ctor(System.Byte[],System.Int32)`.
///
/// C# signature: `LibreMetaverse.UUID(System.Byte[] source, System.Int32 pos)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.UUID.#ctor(System.Guid)`.
///
/// C# signature: `LibreMetaverse.UUID(System.Guid Guid)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.UUID.#ctor(System.String)`.
///
/// C# signature: `LibreMetaverse.UUID(System.String val)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.UUID.#ctor(System.UInt64)`.
///
/// C# signature: `LibreMetaverse.UUID(System.UInt64 val)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.UUID.CRC`.
///
/// C# signature: `System.UInt32 LibreMetaverse.UUID.CRC()`.
/// Mapping contract: ownership `mutable_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.UUID.Combine(LibreMetaverse.UUID,LibreMetaverse.UUID)`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.UUID.Combine(LibreMetaverse.UUID first, LibreMetaverse.UUID second)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.UUID.CompareTo(LibreMetaverse.UUID)`.
///
/// C# signature: `System.Int32 LibreMetaverse.UUID.CompareTo(LibreMetaverse.UUID id)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.UUID.Deconstruct(System.Guid@)`.
///
/// C# signature: `System.Void LibreMetaverse.UUID.Deconstruct(out System.Guid& Guid)`.
/// Mapping contract: ownership `mutable_self,mutable_output`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.UUID.Equals(LibreMetaverse.UUID)`.
///
/// C# signature: `System.Boolean LibreMetaverse.UUID.Equals(LibreMetaverse.UUID other)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `infallible_placeholder`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.UUID.Equals(System.Object)`.
///
/// C# signature: `System.Boolean LibreMetaverse.UUID.Equals(System.Object obj)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `infallible_placeholder`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.UUID.FromBytes(System.Byte[],System.Int32)`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.UUID.FromBytes(System.Byte[] source, System.Int32 pos)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.UUID.GetBytes`.
///
/// C# signature: `System.Byte[] LibreMetaverse.UUID.GetBytes()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.UUID.GetHashCode`.
///
/// C# signature: `System.Int32 LibreMetaverse.UUID.GetHashCode()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.UUID.GetULong`.
///
/// C# signature: `System.UInt64 LibreMetaverse.UUID.GetULong()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.UUID.Parse(System.String)`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.UUID.Parse(System.String val)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.UUID.Random`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.UUID.Random()`.
/// Mapping contract: ownership `none`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.UUID.SecureRandom`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.UUID.SecureRandom()`.
/// Mapping contract: ownership `none`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.UUID.ToBytes(System.Byte[],System.Int32)`.
///
/// C# signature: `System.Void LibreMetaverse.UUID.ToBytes(System.Byte[] dest, System.Int32 pos)`.
/// Mapping contract: ownership `shared_self,mutable_borrow,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.UUID.ToString`.
///
/// C# signature: `System.String LibreMetaverse.UUID.ToString()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.UUID.TryParse(System.String,LibreMetaverse.UUID@)`.
///
/// C# signature: `System.Boolean LibreMetaverse.UUID.TryParse(System.String val, out LibreMetaverse.UUID& result)`.
/// Mapping contract: ownership `owned,mutable_output`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.UUID.op_Equality(LibreMetaverse.UUID,LibreMetaverse.UUID)`.
///
/// C# signature: `System.Boolean LibreMetaverse.UUID.op_Equality(LibreMetaverse.UUID left, LibreMetaverse.UUID right)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.UUID.op_ExclusiveOr(LibreMetaverse.UUID,LibreMetaverse.UUID)`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.UUID.op_ExclusiveOr(LibreMetaverse.UUID lhs, LibreMetaverse.UUID rhs)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.UUID.op_Explicit(System.String)~LibreMetaverse.UUID`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.UUID.op_Explicit(System.String val)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.UUID.op_Inequality(LibreMetaverse.UUID,LibreMetaverse.UUID)`.
///
/// C# signature: `System.Boolean LibreMetaverse.UUID.op_Inequality(LibreMetaverse.UUID left, LibreMetaverse.UUID right)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.UUID.Guid`.
///
/// C# signature: `System.Guid LibreMetaverse.UUID.Guid`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::uuid::UUID;

/// C# type: `T:LibreMetaverse.Utils`.
///
/// Native Rust mapping of C# `LibreMetaverse.Utils` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `F:LibreMetaverse.Utils.DEG_TO_RAD`.
///
/// C# signature: `System.Single LibreMetaverse.Utils.DEG_TO_RAD`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Utils.E`.
///
/// C# signature: `System.Single LibreMetaverse.Utils.E`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Utils.EmptyBytes`.
///
/// C# signature: `System.Byte[] LibreMetaverse.Utils.EmptyBytes`.
/// Mapping contract: ownership `none`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
/// C# member: `F:LibreMetaverse.Utils.EnUsCulture`.
///
/// C# signature: `System.Globalization.CultureInfo LibreMetaverse.Utils.EnUsCulture`.
/// Mapping contract: ownership `none`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
/// C# member: `F:LibreMetaverse.Utils.Epoch`.
///
/// C# signature: `System.DateTime LibreMetaverse.Utils.Epoch`.
/// Mapping contract: ownership `none`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
/// C# member: `F:LibreMetaverse.Utils.InternStrings`.
///
/// C# signature: `System.Boolean LibreMetaverse.Utils.InternStrings`.
/// Mapping contract: ownership `none`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
/// C# member: `F:LibreMetaverse.Utils.LOG10E`.
///
/// C# signature: `System.Single LibreMetaverse.Utils.LOG10E`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Utils.LOG2E`.
///
/// C# signature: `System.Single LibreMetaverse.Utils.LOG2E`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Utils.PI`.
///
/// C# signature: `System.Single LibreMetaverse.Utils.PI`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Utils.PI_OVER_FOUR`.
///
/// C# signature: `System.Single LibreMetaverse.Utils.PI_OVER_FOUR`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Utils.PI_OVER_TWO`.
///
/// C# signature: `System.Single LibreMetaverse.Utils.PI_OVER_TWO`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Utils.RAD_TO_DEG`.
///
/// C# signature: `System.Single LibreMetaverse.Utils.RAD_TO_DEG`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Utils.TWO_PI`.
///
/// C# signature: `System.Single LibreMetaverse.Utils.TWO_PI`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `M:LibreMetaverse.Utils.AssetTypeToString(LibreMetaverse.AssetType)`.
///
/// C# signature: `System.String LibreMetaverse.Utils.AssetTypeToString(LibreMetaverse.AssetType type)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Utils.ByteToFloat(System.Byte,System.Single,System.Single)`.
///
/// C# signature: `System.Single LibreMetaverse.Utils.ByteToFloat(System.Byte val, System.Single lower, System.Single upper)`.
/// Mapping contract: ownership `owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Utils.ByteToFloat(System.Byte[],System.Int32,System.Single,System.Single)`.
///
/// C# signature: `System.Single LibreMetaverse.Utils.ByteToFloat(System.Byte[] bytes, System.Int32 pos, System.Single lower, System.Single upper)`.
/// Mapping contract: ownership `owned,owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Utils.BytesToDouble(System.Byte[],System.Int32)`.
///
/// C# signature: `System.Double LibreMetaverse.Utils.BytesToDouble(System.Byte[] bytes, System.Int32 pos)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Utils.BytesToFloat(System.Byte[],System.Int32)`.
///
/// C# signature: `System.Single LibreMetaverse.Utils.BytesToFloat(System.Byte[] bytes, System.Int32 pos)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Utils.BytesToHexString(System.Byte[],System.Int32,System.String)`.
///
/// C# signature: `System.String LibreMetaverse.Utils.BytesToHexString(System.Byte[] bytes, System.Int32 length, System.String fieldName)`.
/// Mapping contract: ownership `owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Utils.BytesToHexString(System.Byte[],System.String)`.
///
/// C# signature: `System.String LibreMetaverse.Utils.BytesToHexString(System.Byte[] bytes, System.String fieldName)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Utils.BytesToInt(System.Byte[])`.
///
/// C# signature: `System.Int32 LibreMetaverse.Utils.BytesToInt(System.Byte[] bytes)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Utils.BytesToInt(System.Byte[],System.Int32)`.
///
/// C# signature: `System.Int32 LibreMetaverse.Utils.BytesToInt(System.Byte[] bytes, System.Int32 pos)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Utils.BytesToInt16(System.Byte[])`.
///
/// C# signature: `System.Int16 LibreMetaverse.Utils.BytesToInt16(System.Byte[] bytes)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Utils.BytesToInt16(System.Byte[],System.Int32)`.
///
/// C# signature: `System.Int16 LibreMetaverse.Utils.BytesToInt16(System.Byte[] bytes, System.Int32 pos)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Utils.BytesToInt64(System.Byte[])`.
///
/// C# signature: `System.Int64 LibreMetaverse.Utils.BytesToInt64(System.Byte[] bytes)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Utils.BytesToInt64(System.Byte[],System.Int32)`.
///
/// C# signature: `System.Int64 LibreMetaverse.Utils.BytesToInt64(System.Byte[] bytes, System.Int32 pos)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Utils.BytesToString(System.Byte[])`.
///
/// C# signature: `System.String LibreMetaverse.Utils.BytesToString(System.Byte[] bytes)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Utils.BytesToString(System.Byte[],System.Int32,System.Int32)`.
///
/// C# signature: `System.String LibreMetaverse.Utils.BytesToString(System.Byte[] bytes, System.Int32 index, System.Int32 count)`.
/// Mapping contract: ownership `owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Utils.BytesToUInt(System.Byte[])`.
///
/// C# signature: `System.UInt32 LibreMetaverse.Utils.BytesToUInt(System.Byte[] bytes)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Utils.BytesToUInt(System.Byte[],System.Int32)`.
///
/// C# signature: `System.UInt32 LibreMetaverse.Utils.BytesToUInt(System.Byte[] bytes, System.Int32 pos)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Utils.BytesToUInt16(System.Byte[])`.
///
/// C# signature: `System.UInt16 LibreMetaverse.Utils.BytesToUInt16(System.Byte[] bytes)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Utils.BytesToUInt16(System.Byte[],System.Int32)`.
///
/// C# signature: `System.UInt16 LibreMetaverse.Utils.BytesToUInt16(System.Byte[] bytes, System.Int32 pos)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Utils.BytesToUInt64(System.Byte[])`.
///
/// C# signature: `System.UInt64 LibreMetaverse.Utils.BytesToUInt64(System.Byte[] bytes)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Utils.Clamp(System.Double,System.Double,System.Double)`.
///
/// C# signature: `System.Double LibreMetaverse.Utils.Clamp(System.Double value, System.Double min, System.Double max)`.
/// Mapping contract: ownership `owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Utils.Clamp(System.Int32,System.Int32,System.Int32)`.
///
/// C# signature: `System.Int32 LibreMetaverse.Utils.Clamp(System.Int32 value, System.Int32 min, System.Int32 max)`.
/// Mapping contract: ownership `owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Utils.Clamp(System.Single,System.Single,System.Single)`.
///
/// C# signature: `System.Single LibreMetaverse.Utils.Clamp(System.Single value, System.Single min, System.Single max)`.
/// Mapping contract: ownership `owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Utils.CopyBytes(System.Byte[])`.
///
/// C# signature: `System.Byte[] LibreMetaverse.Utils.CopyBytes(System.Byte[] bytes)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Utils.DateTimeToUnixTime(System.DateTime)`.
///
/// C# signature: `System.UInt32 LibreMetaverse.Utils.DateTimeToUnixTime(System.DateTime time)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Utils.Distance(System.Single,System.Single)`.
///
/// C# signature: `System.Single LibreMetaverse.Utils.Distance(System.Single value1, System.Single value2)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Utils.DoubleToBytes(System.Double)`.
///
/// C# signature: `System.Byte[] LibreMetaverse.Utils.DoubleToBytes(System.Double value)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Utils.DoubleToBytes(System.Double,System.Byte[],System.Int32)`.
///
/// C# signature: `System.Void LibreMetaverse.Utils.DoubleToBytes(System.Double value, System.Byte[] dest, System.Int32 pos)`.
/// Mapping contract: ownership `owned,mutable_borrow,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Utils.DoubleToBytesBig(System.Double)`.
///
/// C# signature: `System.Byte[] LibreMetaverse.Utils.DoubleToBytesBig(System.Double value)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Utils.EnumToText(System.Enum)`.
///
/// C# signature: `System.String LibreMetaverse.Utils.EnumToText(System.Enum value)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Utils.EnumTryParse``1(System.String,``0@)`.
///
/// C# signature: `System.Boolean LibreMetaverse.Utils.EnumTryParse(System.String strType, out T& result)`.
/// Mapping contract: ownership `owned,mutable_borrow`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Utils.FloatToByte(System.Single,System.Single,System.Single)`.
///
/// C# signature: `System.Byte LibreMetaverse.Utils.FloatToByte(System.Single val, System.Single lower, System.Single upper)`.
/// Mapping contract: ownership `owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Utils.FloatToBytes(System.Single)`.
///
/// C# signature: `System.Byte[] LibreMetaverse.Utils.FloatToBytes(System.Single value)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Utils.FloatToBytes(System.Single,System.Byte[],System.Int32)`.
///
/// C# signature: `System.Void LibreMetaverse.Utils.FloatToBytes(System.Single value, System.Byte[] dest, System.Int32 pos)`.
/// Mapping contract: ownership `owned,mutable_borrow,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Utils.FloatToUInt16(System.Single,System.Single,System.Single)`.
///
/// C# signature: `System.UInt16 LibreMetaverse.Utils.FloatToUInt16(System.Single value, System.Single lower, System.Single upper)`.
/// Mapping contract: ownership `owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Utils.FolderTypeToString(LibreMetaverse.FolderType)`.
///
/// C# signature: `System.String LibreMetaverse.Utils.FolderTypeToString(LibreMetaverse.FolderType type)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Utils.GetRunningPlatform`.
///
/// C# signature: `LibreMetaverse.Utils.Platform LibreMetaverse.Utils.GetRunningPlatform()`.
/// Mapping contract: ownership `none`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Utils.GetUnixTime`.
///
/// C# signature: `System.UInt32 LibreMetaverse.Utils.GetUnixTime()`.
/// Mapping contract: ownership `none`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Utils.Hermite(System.Double,System.Double,System.Double,System.Double,System.Double)`.
///
/// C# signature: `System.Double LibreMetaverse.Utils.Hermite(System.Double value1, System.Double tangent1, System.Double value2, System.Double tangent2, System.Double amount)`.
/// Mapping contract: ownership `owned,owned,owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Utils.Hermite(System.Single,System.Single,System.Single,System.Single,System.Single)`.
///
/// C# signature: `System.Single LibreMetaverse.Utils.Hermite(System.Single value1, System.Single tangent1, System.Single value2, System.Single tangent2, System.Single amount)`.
/// Mapping contract: ownership `owned,owned,owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Utils.HexStringToBytes(System.String,System.Boolean)`.
///
/// C# signature: `System.Byte[] LibreMetaverse.Utils.HexStringToBytes(System.String hexString, System.Boolean handleDirty)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Utils.HostnameToIPv4(System.String)`.
///
/// C# signature: `System.Net.IPAddress LibreMetaverse.Utils.HostnameToIPv4(System.String hostname)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Utils.IPToUInt(System.Net.IPAddress)`.
///
/// C# signature: `System.UInt32 LibreMetaverse.Utils.IPToUInt(System.Net.IPAddress address)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Utils.Int16ToBytes(System.Int16)`.
///
/// C# signature: `System.Byte[] LibreMetaverse.Utils.Int16ToBytes(System.Int16 value)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Utils.Int16ToBytes(System.Int16,System.Byte[],System.Int32)`.
///
/// C# signature: `System.Void LibreMetaverse.Utils.Int16ToBytes(System.Int16 value, System.Byte[] dest, System.Int32 pos)`.
/// Mapping contract: ownership `owned,mutable_borrow,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Utils.Int64ToBytes(System.Int64)`.
///
/// C# signature: `System.Byte[] LibreMetaverse.Utils.Int64ToBytes(System.Int64 value)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Utils.Int64ToBytes(System.Int64,System.Byte[],System.Int32)`.
///
/// C# signature: `System.Void LibreMetaverse.Utils.Int64ToBytes(System.Int64 value, System.Byte[] dest, System.Int32 pos)`.
/// Mapping contract: ownership `owned,mutable_borrow,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Utils.IntToBytes(System.Int32)`.
///
/// C# signature: `System.Byte[] LibreMetaverse.Utils.IntToBytes(System.Int32 value)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Utils.IntToBytes(System.Int32,System.Byte[],System.Int32)`.
///
/// C# signature: `System.Void LibreMetaverse.Utils.IntToBytes(System.Int32 value, System.Byte[] dest, System.Int32 pos)`.
/// Mapping contract: ownership `owned,mutable_borrow,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Utils.IntToBytesBig(System.Int32)`.
///
/// C# signature: `System.Byte[] LibreMetaverse.Utils.IntToBytesBig(System.Int32 value)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Utils.InventoryTypeToString(LibreMetaverse.InventoryType)`.
///
/// C# signature: `System.String LibreMetaverse.Utils.InventoryTypeToString(LibreMetaverse.InventoryType type)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Utils.IsFinite(System.Double)`.
///
/// C# signature: `System.Boolean LibreMetaverse.Utils.IsFinite(System.Double value)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Utils.IsFinite(System.Single)`.
///
/// C# signature: `System.Boolean LibreMetaverse.Utils.IsFinite(System.Single value)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Utils.Lerp(System.Double,System.Double,System.Double)`.
///
/// C# signature: `System.Double LibreMetaverse.Utils.Lerp(System.Double value1, System.Double value2, System.Double amount)`.
/// Mapping contract: ownership `owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Utils.Lerp(System.Single,System.Single,System.Single)`.
///
/// C# signature: `System.Single LibreMetaverse.Utils.Lerp(System.Single value1, System.Single value2, System.Single amount)`.
/// Mapping contract: ownership `owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Utils.LongToUInts(System.UInt64,System.UInt32@,System.UInt32@)`.
///
/// C# signature: `System.Void LibreMetaverse.Utils.LongToUInts(System.UInt64 a, out System.UInt32& b, out System.UInt32& c)`.
/// Mapping contract: ownership `owned,mutable_output,mutable_output`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Utils.MD5(System.Byte[])`.
///
/// C# signature: `System.Byte[] LibreMetaverse.Utils.MD5(System.Byte[] data)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Utils.MD5(System.String)`.
///
/// C# signature: `System.String LibreMetaverse.Utils.MD5(System.String str)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Utils.MD5String(System.String)`.
///
/// C# signature: `System.String LibreMetaverse.Utils.MD5String(System.String value)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Utils.PBKDF2(System.String)`.
///
/// C# signature: `System.String LibreMetaverse.Utils.PBKDF2(System.String str)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Utils.RandomDouble`.
///
/// C# signature: `System.Double LibreMetaverse.Utils.RandomDouble()`.
/// Mapping contract: ownership `none`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Utils.ReadDoubleLittleEndian(System.Byte[],System.Int32)`.
///
/// C# signature: `System.Double LibreMetaverse.Utils.ReadDoubleLittleEndian(System.Byte[] src, System.Int32 pos)`.
/// Mapping contract: ownership `shared_borrow,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Utils.ReadSingleLittleEndian(System.Byte[],System.Int32)`.
///
/// C# signature: `System.Single LibreMetaverse.Utils.ReadSingleLittleEndian(System.Byte[] src, System.Int32 pos)`.
/// Mapping contract: ownership `shared_borrow,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Utils.Round(System.Single)`.
///
/// C# signature: `System.Int32 LibreMetaverse.Utils.Round(System.Single val)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Utils.SHA1(System.Byte[])`.
///
/// C# signature: `System.Byte[] LibreMetaverse.Utils.SHA1(System.Byte[] data)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Utils.SHA1String(System.String)`.
///
/// C# signature: `System.String LibreMetaverse.Utils.SHA1String(System.String value)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Utils.SHA256(System.Byte[])`.
///
/// C# signature: `System.Byte[] LibreMetaverse.Utils.SHA256(System.Byte[] data)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Utils.SHA256String(System.String)`.
///
/// C# signature: `System.String LibreMetaverse.Utils.SHA256String(System.String value)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Utils.SaleTypeToString(LibreMetaverse.SaleType)`.
///
/// C# signature: `System.String LibreMetaverse.Utils.SaleTypeToString(LibreMetaverse.SaleType type)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Utils.SmoothStep(System.Double,System.Double,System.Double)`.
///
/// C# signature: `System.Double LibreMetaverse.Utils.SmoothStep(System.Double value1, System.Double value2, System.Double amount)`.
/// Mapping contract: ownership `owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Utils.SmoothStep(System.Single,System.Single,System.Single)`.
///
/// C# signature: `System.Single LibreMetaverse.Utils.SmoothStep(System.Single value1, System.Single value2, System.Single amount)`.
/// Mapping contract: ownership `owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Utils.StringToAssetType(System.String)`.
///
/// C# signature: `LibreMetaverse.AssetType LibreMetaverse.Utils.StringToAssetType(System.String type)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Utils.StringToAttachmentPoint(System.String)`.
///
/// C# signature: `LibreMetaverse.AttachmentPoint LibreMetaverse.Utils.StringToAttachmentPoint(System.String value)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Utils.StringToBytes(System.String)`.
///
/// C# signature: `System.Byte[] LibreMetaverse.Utils.StringToBytes(System.String str)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Utils.StringToFolderType(System.String)`.
///
/// C# signature: `LibreMetaverse.FolderType LibreMetaverse.Utils.StringToFolderType(System.String type)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Utils.StringToInventoryType(System.String)`.
///
/// C# signature: `LibreMetaverse.InventoryType LibreMetaverse.Utils.StringToInventoryType(System.String type)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Utils.StringToSaleType(System.String)`.
///
/// C# signature: `LibreMetaverse.SaleType LibreMetaverse.Utils.StringToSaleType(System.String value)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Utils.SwapWords(System.Byte)`.
///
/// C# signature: `System.Byte LibreMetaverse.Utils.SwapWords(System.Byte value)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Utils.Swap``1(``0@,``0@)`.
///
/// C# signature: `System.Void LibreMetaverse.Utils.Swap(ref T& lhs, ref T& rhs)`.
/// Mapping contract: ownership `mutable_borrow,mutable_borrow`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Utils.ToDegrees(System.Single)`.
///
/// C# signature: `System.Single LibreMetaverse.Utils.ToDegrees(System.Single radians)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Utils.ToRadians(System.Single)`.
///
/// C# signature: `System.Single LibreMetaverse.Utils.ToRadians(System.Single degrees)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Utils.TryParseDouble(System.String,System.Double@)`.
///
/// C# signature: `System.Boolean LibreMetaverse.Utils.TryParseDouble(System.String s, out System.Double& result)`.
/// Mapping contract: ownership `owned,mutable_output`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Utils.TryParseHex(System.String,System.UInt32@)`.
///
/// C# signature: `System.Boolean LibreMetaverse.Utils.TryParseHex(System.String s, out System.UInt32& result)`.
/// Mapping contract: ownership `owned,mutable_output`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Utils.TryParseSingle(System.String,System.Single@)`.
///
/// C# signature: `System.Boolean LibreMetaverse.Utils.TryParseSingle(System.String s, out System.Single& result)`.
/// Mapping contract: ownership `owned,mutable_output`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Utils.UInt16ToBytes(System.UInt16)`.
///
/// C# signature: `System.Byte[] LibreMetaverse.Utils.UInt16ToBytes(System.UInt16 value)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Utils.UInt16ToBytes(System.UInt16,System.Byte[],System.Int32)`.
///
/// C# signature: `System.Void LibreMetaverse.Utils.UInt16ToBytes(System.UInt16 value, System.Byte[] dest, System.Int32 pos)`.
/// Mapping contract: ownership `owned,mutable_borrow,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Utils.UInt16ToBytesBig(System.UInt16,System.Byte[],System.Int32)`.
///
/// C# signature: `System.Void LibreMetaverse.Utils.UInt16ToBytesBig(System.UInt16 value, System.Byte[] dest, System.Int32 pos)`.
/// Mapping contract: ownership `owned,mutable_borrow,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Utils.UInt16ToFloat(System.Byte[],System.Int32,System.Single,System.Single)`.
///
/// C# signature: `System.Single LibreMetaverse.Utils.UInt16ToFloat(System.Byte[] bytes, System.Int32 pos, System.Single lower, System.Single upper)`.
/// Mapping contract: ownership `owned,owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Utils.UInt16ToFloat(System.UInt16,System.Single,System.Single)`.
///
/// C# signature: `System.Single LibreMetaverse.Utils.UInt16ToFloat(System.UInt16 val, System.Single lower, System.Single upper)`.
/// Mapping contract: ownership `owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Utils.UInt64ToBytes(System.UInt64)`.
///
/// C# signature: `System.Byte[] LibreMetaverse.Utils.UInt64ToBytes(System.UInt64 value)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Utils.UInt64ToBytes(System.UInt64,System.Byte[],System.Int32)`.
///
/// C# signature: `System.Void LibreMetaverse.Utils.UInt64ToBytes(System.UInt64 value, System.Byte[] dest, System.Int32 pos)`.
/// Mapping contract: ownership `owned,mutable_borrow,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Utils.UInt64ToBytesBig(System.UInt64)`.
///
/// C# signature: `System.Byte[] LibreMetaverse.Utils.UInt64ToBytesBig(System.UInt64 value)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Utils.UInt64ToBytesBig(System.UInt64,System.Byte[],System.Int32)`.
///
/// C# signature: `System.Void LibreMetaverse.Utils.UInt64ToBytesBig(System.UInt64 value, System.Byte[] dest, System.Int32 pos)`.
/// Mapping contract: ownership `owned,mutable_borrow,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Utils.UIntToBytes(System.UInt32)`.
///
/// C# signature: `System.Byte[] LibreMetaverse.Utils.UIntToBytes(System.UInt32 value)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Utils.UIntToBytes(System.UInt32,System.Byte[],System.Int32)`.
///
/// C# signature: `System.Void LibreMetaverse.Utils.UIntToBytes(System.UInt32 value, System.Byte[] dest, System.Int32 pos)`.
/// Mapping contract: ownership `owned,mutable_borrow,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Utils.UIntToBytesBig(System.UInt32,System.Byte[],System.Int32)`.
///
/// C# signature: `System.Void LibreMetaverse.Utils.UIntToBytesBig(System.UInt32 value, System.Byte[] dest, System.Int32 pos)`.
/// Mapping contract: ownership `owned,mutable_borrow,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Utils.UIntToHexString(System.UInt32)`.
///
/// C# signature: `System.String LibreMetaverse.Utils.UIntToHexString(System.UInt32 i)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Utils.UIntsToLong(System.UInt32,System.UInt32)`.
///
/// C# signature: `System.UInt64 LibreMetaverse.Utils.UIntsToLong(System.UInt32 a, System.UInt32 b)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Utils.UnixTimeToDateTime(System.Int32)`.
///
/// C# signature: `System.DateTime LibreMetaverse.Utils.UnixTimeToDateTime(System.Int32 timestamp)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Utils.UnixTimeToDateTime(System.UInt32)`.
///
/// C# signature: `System.DateTime LibreMetaverse.Utils.UnixTimeToDateTime(System.UInt32 timestamp)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Utils.WriteDoubleLittleEndian(System.Byte[],System.Int32,System.Double)`.
///
/// C# signature: `System.Void LibreMetaverse.Utils.WriteDoubleLittleEndian(System.Byte[] dest, System.Int32 pos, System.Double value)`.
/// Mapping contract: ownership `mutable_borrow,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Utils.WriteSingleLittleEndian(System.Byte[],System.Int32,System.Single)`.
///
/// C# signature: `System.Void LibreMetaverse.Utils.WriteSingleLittleEndian(System.Byte[] dest, System.Int32 pos, System.Single value)`.
/// Mapping contract: ownership `mutable_borrow,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
pub use crate::utils::Utils;

/// C# type: `T:LibreMetaverse.Utils.Platform`.
///
/// Native Rust mapping of C# `LibreMetaverse.Utils.Platform` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(i32)]
pub enum UtilsPlatform {
    /// C# member: `F:LibreMetaverse.Utils.Platform.Linux`.
    ///
    /// C# signature: `LibreMetaverse.Utils.Platform LibreMetaverse.Utils.Platform.Linux`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Linux = 3,
    /// C# member: `F:LibreMetaverse.Utils.Platform.OSX`.
    ///
    /// C# signature: `LibreMetaverse.Utils.Platform LibreMetaverse.Utils.Platform.OSX`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    OSX = 4,
    /// C# member: `F:LibreMetaverse.Utils.Platform.Unknown`.
    ///
    /// C# signature: `LibreMetaverse.Utils.Platform LibreMetaverse.Utils.Platform.Unknown`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Unknown = 0,
    /// C# member: `F:LibreMetaverse.Utils.Platform.Windows`.
    ///
    /// C# signature: `LibreMetaverse.Utils.Platform LibreMetaverse.Utils.Platform.Windows`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Windows = 1,
    /// C# member: `F:LibreMetaverse.Utils.Platform.WindowsCE`.
    ///
    /// C# signature: `LibreMetaverse.Utils.Platform LibreMetaverse.Utils.Platform.WindowsCE`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    WindowsCE = 2,
}

/// C# type: `T:LibreMetaverse.Vector2`.
///
/// Native Rust mapping of C# `LibreMetaverse.Vector2` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `F:LibreMetaverse.Vector2.One`.
///
/// C# signature: `LibreMetaverse.Vector2 LibreMetaverse.Vector2.One`.
/// Mapping contract: ownership `none`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
/// C# member: `F:LibreMetaverse.Vector2.UnitX`.
///
/// C# signature: `LibreMetaverse.Vector2 LibreMetaverse.Vector2.UnitX`.
/// Mapping contract: ownership `none`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
/// C# member: `F:LibreMetaverse.Vector2.UnitY`.
///
/// C# signature: `LibreMetaverse.Vector2 LibreMetaverse.Vector2.UnitY`.
/// Mapping contract: ownership `none`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
/// C# member: `F:LibreMetaverse.Vector2.X`.
///
/// C# signature: `System.Single LibreMetaverse.Vector2.X`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Vector2.Y`.
///
/// C# signature: `System.Single LibreMetaverse.Vector2.Y`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Vector2.Zero`.
///
/// C# signature: `LibreMetaverse.Vector2 LibreMetaverse.Vector2.Zero`.
/// Mapping contract: ownership `none`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
/// C# member: `M:LibreMetaverse.Vector2.#ctor(LibreMetaverse.Vector2)`.
///
/// C# signature: `LibreMetaverse.Vector2(LibreMetaverse.Vector2 vector)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector2.#ctor(System.Single)`.
///
/// C# signature: `LibreMetaverse.Vector2(System.Single value)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector2.#ctor(System.Single,System.Single)`.
///
/// C# signature: `LibreMetaverse.Vector2(System.Single x, System.Single y)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector2.Add(LibreMetaverse.Vector2,LibreMetaverse.Vector2)`.
///
/// C# signature: `LibreMetaverse.Vector2 LibreMetaverse.Vector2.Add(LibreMetaverse.Vector2 value1, LibreMetaverse.Vector2 value2)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector2.ApproxEquals(LibreMetaverse.Vector2,System.Single)`.
///
/// C# signature: `System.Boolean LibreMetaverse.Vector2.ApproxEquals(LibreMetaverse.Vector2 vec, System.Single tolerance)`.
/// Mapping contract: ownership `mutable_self,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector2.Clamp(LibreMetaverse.Vector2,LibreMetaverse.Vector2,LibreMetaverse.Vector2)`.
///
/// C# signature: `LibreMetaverse.Vector2 LibreMetaverse.Vector2.Clamp(LibreMetaverse.Vector2 value1, LibreMetaverse.Vector2 min, LibreMetaverse.Vector2 max)`.
/// Mapping contract: ownership `owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector2.CompareTo(LibreMetaverse.Vector2)`.
///
/// C# signature: `System.Int32 LibreMetaverse.Vector2.CompareTo(LibreMetaverse.Vector2 vector)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector2.Distance(LibreMetaverse.Vector2,LibreMetaverse.Vector2)`.
///
/// C# signature: `System.Single LibreMetaverse.Vector2.Distance(LibreMetaverse.Vector2 value1, LibreMetaverse.Vector2 value2)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector2.DistanceSquared(LibreMetaverse.Vector2,LibreMetaverse.Vector2)`.
///
/// C# signature: `System.Single LibreMetaverse.Vector2.DistanceSquared(LibreMetaverse.Vector2 value1, LibreMetaverse.Vector2 value2)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector2.Divide(LibreMetaverse.Vector2,LibreMetaverse.Vector2)`.
///
/// C# signature: `LibreMetaverse.Vector2 LibreMetaverse.Vector2.Divide(LibreMetaverse.Vector2 value1, LibreMetaverse.Vector2 value2)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector2.Divide(LibreMetaverse.Vector2,System.Single)`.
///
/// C# signature: `LibreMetaverse.Vector2 LibreMetaverse.Vector2.Divide(LibreMetaverse.Vector2 value1, System.Single divider)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector2.Dot(LibreMetaverse.Vector2,LibreMetaverse.Vector2)`.
///
/// C# signature: `System.Single LibreMetaverse.Vector2.Dot(LibreMetaverse.Vector2 value1, LibreMetaverse.Vector2 value2)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector2.Equals(LibreMetaverse.Vector2)`.
///
/// C# signature: `System.Boolean LibreMetaverse.Vector2.Equals(LibreMetaverse.Vector2 other)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `infallible_placeholder`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector2.Equals(System.Object)`.
///
/// C# signature: `System.Boolean LibreMetaverse.Vector2.Equals(System.Object obj)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `infallible_placeholder`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector2.FromBytes(System.Byte[],System.Int32)`.
///
/// C# signature: `System.Void LibreMetaverse.Vector2.FromBytes(System.Byte[] byteArray, System.Int32 pos)`.
/// Mapping contract: ownership `mutable_self,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector2.GetBytes`.
///
/// C# signature: `System.Byte[] LibreMetaverse.Vector2.GetBytes()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector2.GetHashCode`.
///
/// C# signature: `System.Int32 LibreMetaverse.Vector2.GetHashCode()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector2.IsFinite`.
///
/// C# signature: `System.Boolean LibreMetaverse.Vector2.IsFinite()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector2.Length`.
///
/// C# signature: `System.Single LibreMetaverse.Vector2.Length()`.
/// Mapping contract: ownership `mutable_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector2.LengthSquared`.
///
/// C# signature: `System.Single LibreMetaverse.Vector2.LengthSquared()`.
/// Mapping contract: ownership `mutable_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector2.Lerp(LibreMetaverse.Vector2,LibreMetaverse.Vector2,System.Single)`.
///
/// C# signature: `LibreMetaverse.Vector2 LibreMetaverse.Vector2.Lerp(LibreMetaverse.Vector2 value1, LibreMetaverse.Vector2 value2, System.Single amount)`.
/// Mapping contract: ownership `owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector2.Max(LibreMetaverse.Vector2,LibreMetaverse.Vector2)`.
///
/// C# signature: `LibreMetaverse.Vector2 LibreMetaverse.Vector2.Max(LibreMetaverse.Vector2 value1, LibreMetaverse.Vector2 value2)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector2.Min(LibreMetaverse.Vector2,LibreMetaverse.Vector2)`.
///
/// C# signature: `LibreMetaverse.Vector2 LibreMetaverse.Vector2.Min(LibreMetaverse.Vector2 value1, LibreMetaverse.Vector2 value2)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector2.Multiply(LibreMetaverse.Vector2,LibreMetaverse.Vector2)`.
///
/// C# signature: `LibreMetaverse.Vector2 LibreMetaverse.Vector2.Multiply(LibreMetaverse.Vector2 value1, LibreMetaverse.Vector2 value2)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector2.Multiply(LibreMetaverse.Vector2,System.Single)`.
///
/// C# signature: `LibreMetaverse.Vector2 LibreMetaverse.Vector2.Multiply(LibreMetaverse.Vector2 value1, System.Single scaleFactor)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector2.Negate(LibreMetaverse.Vector2)`.
///
/// C# signature: `LibreMetaverse.Vector2 LibreMetaverse.Vector2.Negate(LibreMetaverse.Vector2 value)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector2.Normalize`.
///
/// C# signature: `System.Void LibreMetaverse.Vector2.Normalize()`.
/// Mapping contract: ownership `mutable_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector2.Normalize(LibreMetaverse.Vector2)`.
///
/// C# signature: `LibreMetaverse.Vector2 LibreMetaverse.Vector2.Normalize(LibreMetaverse.Vector2 value)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector2.Parse(System.String)`.
///
/// C# signature: `LibreMetaverse.Vector2 LibreMetaverse.Vector2.Parse(System.String val)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector2.SmoothStep(LibreMetaverse.Vector2,LibreMetaverse.Vector2,System.Single)`.
///
/// C# signature: `LibreMetaverse.Vector2 LibreMetaverse.Vector2.SmoothStep(LibreMetaverse.Vector2 value1, LibreMetaverse.Vector2 value2, System.Single amount)`.
/// Mapping contract: ownership `owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector2.Subtract(LibreMetaverse.Vector2,LibreMetaverse.Vector2)`.
///
/// C# signature: `LibreMetaverse.Vector2 LibreMetaverse.Vector2.Subtract(LibreMetaverse.Vector2 value1, LibreMetaverse.Vector2 value2)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector2.ToBytes(System.Byte[],System.Int32)`.
///
/// C# signature: `System.Void LibreMetaverse.Vector2.ToBytes(System.Byte[] dest, System.Int32 pos)`.
/// Mapping contract: ownership `shared_self,mutable_borrow,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector2.ToRawString`.
///
/// C# signature: `System.String LibreMetaverse.Vector2.ToRawString()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector2.ToString`.
///
/// C# signature: `System.String LibreMetaverse.Vector2.ToString()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector2.Transform(LibreMetaverse.Vector2,LibreMetaverse.Matrix4)`.
///
/// C# signature: `LibreMetaverse.Vector2 LibreMetaverse.Vector2.Transform(LibreMetaverse.Vector2 position, LibreMetaverse.Matrix4 matrix)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector2.TransformNormal(LibreMetaverse.Vector2,LibreMetaverse.Matrix4)`.
///
/// C# signature: `LibreMetaverse.Vector2 LibreMetaverse.Vector2.TransformNormal(LibreMetaverse.Vector2 position, LibreMetaverse.Matrix4 matrix)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector2.TryParse(System.String,LibreMetaverse.Vector2@)`.
///
/// C# signature: `System.Boolean LibreMetaverse.Vector2.TryParse(System.String val, out LibreMetaverse.Vector2& result)`.
/// Mapping contract: ownership `owned,mutable_output`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector2.op_Addition(LibreMetaverse.Vector2,LibreMetaverse.Vector2)`.
///
/// C# signature: `LibreMetaverse.Vector2 LibreMetaverse.Vector2.op_Addition(LibreMetaverse.Vector2 value1, LibreMetaverse.Vector2 value2)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `infallible_placeholder`; overload `descriptive_overload_name_with_stable_id`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector2.op_Division(LibreMetaverse.Vector2,LibreMetaverse.Vector2)`.
///
/// C# signature: `LibreMetaverse.Vector2 LibreMetaverse.Vector2.op_Division(LibreMetaverse.Vector2 value1, LibreMetaverse.Vector2 value2)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `infallible_placeholder`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector2.op_Division(LibreMetaverse.Vector2,System.Single)`.
///
/// C# signature: `LibreMetaverse.Vector2 LibreMetaverse.Vector2.op_Division(LibreMetaverse.Vector2 value1, System.Single divider)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `infallible_placeholder`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector2.op_Equality(LibreMetaverse.Vector2,LibreMetaverse.Vector2)`.
///
/// C# signature: `System.Boolean LibreMetaverse.Vector2.op_Equality(LibreMetaverse.Vector2 value1, LibreMetaverse.Vector2 value2)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector2.op_Inequality(LibreMetaverse.Vector2,LibreMetaverse.Vector2)`.
///
/// C# signature: `System.Boolean LibreMetaverse.Vector2.op_Inequality(LibreMetaverse.Vector2 value1, LibreMetaverse.Vector2 value2)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector2.op_Multiply(LibreMetaverse.Vector2,LibreMetaverse.Vector2)`.
///
/// C# signature: `LibreMetaverse.Vector2 LibreMetaverse.Vector2.op_Multiply(LibreMetaverse.Vector2 value1, LibreMetaverse.Vector2 value2)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `infallible_placeholder`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector2.op_Multiply(LibreMetaverse.Vector2,System.Single)`.
///
/// C# signature: `LibreMetaverse.Vector2 LibreMetaverse.Vector2.op_Multiply(LibreMetaverse.Vector2 value, System.Single scaleFactor)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `infallible_placeholder`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector2.op_Subtraction(LibreMetaverse.Vector2,LibreMetaverse.Vector2)`.
///
/// C# signature: `LibreMetaverse.Vector2 LibreMetaverse.Vector2.op_Subtraction(LibreMetaverse.Vector2 value1, LibreMetaverse.Vector2 value2)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector2.op_UnaryNegation(LibreMetaverse.Vector2)`.
///
/// C# signature: `LibreMetaverse.Vector2 LibreMetaverse.Vector2.op_UnaryNegation(LibreMetaverse.Vector2 value)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
pub use crate::vectors::Vector2;

/// C# type: `T:LibreMetaverse.Vector3`.
///
/// Native Rust mapping of C# `LibreMetaverse.Vector3` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `F:LibreMetaverse.Vector3.One`.
///
/// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Vector3.One`.
/// Mapping contract: ownership `none`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
/// C# member: `F:LibreMetaverse.Vector3.UnitX`.
///
/// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Vector3.UnitX`.
/// Mapping contract: ownership `none`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
/// C# member: `F:LibreMetaverse.Vector3.UnitY`.
///
/// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Vector3.UnitY`.
/// Mapping contract: ownership `none`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
/// C# member: `F:LibreMetaverse.Vector3.UnitZ`.
///
/// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Vector3.UnitZ`.
/// Mapping contract: ownership `none`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
/// C# member: `F:LibreMetaverse.Vector3.X`.
///
/// C# signature: `System.Single LibreMetaverse.Vector3.X`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Vector3.Y`.
///
/// C# signature: `System.Single LibreMetaverse.Vector3.Y`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Vector3.Z`.
///
/// C# signature: `System.Single LibreMetaverse.Vector3.Z`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Vector3.Zero`.
///
/// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Vector3.Zero`.
/// Mapping contract: ownership `none`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
/// C# member: `M:LibreMetaverse.Vector3.#ctor(LibreMetaverse.Vector2,System.Single)`.
///
/// C# signature: `LibreMetaverse.Vector3(LibreMetaverse.Vector2 value, System.Single z)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector3.#ctor(LibreMetaverse.Vector3d)`.
///
/// C# signature: `LibreMetaverse.Vector3(LibreMetaverse.Vector3d vector)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector3.#ctor(System.Byte[],System.Int32)`.
///
/// C# signature: `LibreMetaverse.Vector3(System.Byte[] byteArray, System.Int32 pos)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector3.#ctor(System.Single)`.
///
/// C# signature: `LibreMetaverse.Vector3(System.Single value)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector3.#ctor(System.Single,System.Single,System.Single)`.
///
/// C# signature: `LibreMetaverse.Vector3(System.Single x, System.Single y, System.Single z)`.
/// Mapping contract: ownership `owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector3.Add(LibreMetaverse.Vector3,LibreMetaverse.Vector3)`.
///
/// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Vector3.Add(LibreMetaverse.Vector3 value1, LibreMetaverse.Vector3 value2)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector3.ApproxEquals(LibreMetaverse.Vector3,System.Single)`.
///
/// C# signature: `System.Boolean LibreMetaverse.Vector3.ApproxEquals(LibreMetaverse.Vector3 vec, System.Single tolerance)`.
/// Mapping contract: ownership `mutable_self,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector3.Clamp(LibreMetaverse.Vector3,LibreMetaverse.Vector3,LibreMetaverse.Vector3)`.
///
/// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Vector3.Clamp(LibreMetaverse.Vector3 value1, LibreMetaverse.Vector3 min, LibreMetaverse.Vector3 max)`.
/// Mapping contract: ownership `owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector3.CompareTo(LibreMetaverse.Vector3)`.
///
/// C# signature: `System.Int32 LibreMetaverse.Vector3.CompareTo(LibreMetaverse.Vector3 vector)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector3.Cross(LibreMetaverse.Vector3,LibreMetaverse.Vector3)`.
///
/// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Vector3.Cross(LibreMetaverse.Vector3 value1, LibreMetaverse.Vector3 value2)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector3.Distance(LibreMetaverse.Vector3,LibreMetaverse.Vector3)`.
///
/// C# signature: `System.Single LibreMetaverse.Vector3.Distance(LibreMetaverse.Vector3 value1, LibreMetaverse.Vector3 value2)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector3.DistanceSquared(LibreMetaverse.Vector3,LibreMetaverse.Vector3)`.
///
/// C# signature: `System.Single LibreMetaverse.Vector3.DistanceSquared(LibreMetaverse.Vector3 value1, LibreMetaverse.Vector3 value2)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector3.Divide(LibreMetaverse.Vector3,LibreMetaverse.Vector3)`.
///
/// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Vector3.Divide(LibreMetaverse.Vector3 value1, LibreMetaverse.Vector3 value2)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector3.Divide(LibreMetaverse.Vector3,System.Single)`.
///
/// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Vector3.Divide(LibreMetaverse.Vector3 value1, System.Single value2)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector3.Dot(LibreMetaverse.Vector3,LibreMetaverse.Vector3)`.
///
/// C# signature: `System.Single LibreMetaverse.Vector3.Dot(LibreMetaverse.Vector3 value1, LibreMetaverse.Vector3 value2)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector3.Equals(LibreMetaverse.Vector3)`.
///
/// C# signature: `System.Boolean LibreMetaverse.Vector3.Equals(LibreMetaverse.Vector3 other)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `infallible_placeholder`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector3.Equals(System.Object)`.
///
/// C# signature: `System.Boolean LibreMetaverse.Vector3.Equals(System.Object obj)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `infallible_placeholder`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector3.FromBytes(System.Byte[],System.Int32)`.
///
/// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Vector3.FromBytes(System.Byte[] byteArray, System.Int32 pos)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector3.GetBytes`.
///
/// C# signature: `System.Byte[] LibreMetaverse.Vector3.GetBytes()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector3.GetHashCode`.
///
/// C# signature: `System.Int32 LibreMetaverse.Vector3.GetHashCode()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector3.IsFinite`.
///
/// C# signature: `System.Boolean LibreMetaverse.Vector3.IsFinite()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector3.Length`.
///
/// C# signature: `System.Single LibreMetaverse.Vector3.Length()`.
/// Mapping contract: ownership `mutable_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector3.LengthSquared`.
///
/// C# signature: `System.Single LibreMetaverse.Vector3.LengthSquared()`.
/// Mapping contract: ownership `mutable_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector3.Lerp(LibreMetaverse.Vector3,LibreMetaverse.Vector3,System.Single)`.
///
/// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Vector3.Lerp(LibreMetaverse.Vector3 value1, LibreMetaverse.Vector3 value2, System.Single amount)`.
/// Mapping contract: ownership `owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector3.Mag(LibreMetaverse.Vector3)`.
///
/// C# signature: `System.Single LibreMetaverse.Vector3.Mag(LibreMetaverse.Vector3 value)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector3.Max(LibreMetaverse.Vector3,LibreMetaverse.Vector3)`.
///
/// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Vector3.Max(LibreMetaverse.Vector3 value1, LibreMetaverse.Vector3 value2)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector3.Min(LibreMetaverse.Vector3,LibreMetaverse.Vector3)`.
///
/// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Vector3.Min(LibreMetaverse.Vector3 value1, LibreMetaverse.Vector3 value2)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector3.Multiply(LibreMetaverse.Vector3,LibreMetaverse.Vector3)`.
///
/// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Vector3.Multiply(LibreMetaverse.Vector3 value1, LibreMetaverse.Vector3 value2)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector3.Multiply(LibreMetaverse.Vector3,System.Single)`.
///
/// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Vector3.Multiply(LibreMetaverse.Vector3 value1, System.Single scaleFactor)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector3.Negate(LibreMetaverse.Vector3)`.
///
/// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Vector3.Negate(LibreMetaverse.Vector3 value)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector3.Normalize(LibreMetaverse.Vector3)`.
///
/// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Vector3.Normalize(LibreMetaverse.Vector3 value)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector3.Parse(System.String)`.
///
/// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Vector3.Parse(System.String val)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector3.RotationBetween(LibreMetaverse.Vector3,LibreMetaverse.Vector3)`.
///
/// C# signature: `LibreMetaverse.Quaternion LibreMetaverse.Vector3.RotationBetween(LibreMetaverse.Vector3 a, LibreMetaverse.Vector3 b)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector3.SmoothStep(LibreMetaverse.Vector3,LibreMetaverse.Vector3,System.Single)`.
///
/// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Vector3.SmoothStep(LibreMetaverse.Vector3 value1, LibreMetaverse.Vector3 value2, System.Single amount)`.
/// Mapping contract: ownership `owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector3.Subtract(LibreMetaverse.Vector3,LibreMetaverse.Vector3)`.
///
/// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Vector3.Subtract(LibreMetaverse.Vector3 value1, LibreMetaverse.Vector3 value2)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector3.ToBytes(System.Byte[],System.Int32)`.
///
/// C# signature: `System.Void LibreMetaverse.Vector3.ToBytes(System.Byte[] dest, System.Int32 pos)`.
/// Mapping contract: ownership `shared_self,mutable_borrow,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector3.ToRawString`.
///
/// C# signature: `System.String LibreMetaverse.Vector3.ToRawString()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector3.ToString`.
///
/// C# signature: `System.String LibreMetaverse.Vector3.ToString()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector3.Transform(LibreMetaverse.Vector3,LibreMetaverse.Matrix4)`.
///
/// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Vector3.Transform(LibreMetaverse.Vector3 position, LibreMetaverse.Matrix4 matrix)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector3.TransformNormal(LibreMetaverse.Vector3,LibreMetaverse.Matrix4)`.
///
/// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Vector3.TransformNormal(LibreMetaverse.Vector3 position, LibreMetaverse.Matrix4 matrix)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector3.TryParse(System.String,LibreMetaverse.Vector3@)`.
///
/// C# signature: `System.Boolean LibreMetaverse.Vector3.TryParse(System.String val, out LibreMetaverse.Vector3& result)`.
/// Mapping contract: ownership `owned,mutable_output`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector3.op_Addition(LibreMetaverse.Vector3,LibreMetaverse.Vector3)`.
///
/// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Vector3.op_Addition(LibreMetaverse.Vector3 value1, LibreMetaverse.Vector3 value2)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `infallible_placeholder`; overload `descriptive_overload_name_with_stable_id`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector3.op_Division(LibreMetaverse.Vector3,LibreMetaverse.Vector3)`.
///
/// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Vector3.op_Division(LibreMetaverse.Vector3 value1, LibreMetaverse.Vector3 value2)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `infallible_placeholder`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector3.op_Division(LibreMetaverse.Vector3,System.Single)`.
///
/// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Vector3.op_Division(LibreMetaverse.Vector3 value, System.Single divider)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `infallible_placeholder`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector3.op_Equality(LibreMetaverse.Vector3,LibreMetaverse.Vector3)`.
///
/// C# signature: `System.Boolean LibreMetaverse.Vector3.op_Equality(LibreMetaverse.Vector3 value1, LibreMetaverse.Vector3 value2)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector3.op_Explicit(LibreMetaverse.Vector3d)~LibreMetaverse.Vector3`.
///
/// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Vector3.op_Explicit(LibreMetaverse.Vector3d value)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector3.op_Inequality(LibreMetaverse.Vector3,LibreMetaverse.Vector3)`.
///
/// C# signature: `System.Boolean LibreMetaverse.Vector3.op_Inequality(LibreMetaverse.Vector3 value1, LibreMetaverse.Vector3 value2)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector3.op_Modulus(LibreMetaverse.Vector3,LibreMetaverse.Vector3)`.
///
/// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Vector3.op_Modulus(LibreMetaverse.Vector3 value1, LibreMetaverse.Vector3 value2)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector3.op_Multiply(LibreMetaverse.Vector3,LibreMetaverse.Matrix4)`.
///
/// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Vector3.op_Multiply(LibreMetaverse.Vector3 vector, LibreMetaverse.Matrix4 matrix)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `infallible_placeholder`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector3.op_Multiply(LibreMetaverse.Vector3,LibreMetaverse.Quaternion)`.
///
/// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Vector3.op_Multiply(LibreMetaverse.Vector3 vec, LibreMetaverse.Quaternion rot)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `infallible_placeholder`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector3.op_Multiply(LibreMetaverse.Vector3,LibreMetaverse.Vector3)`.
///
/// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Vector3.op_Multiply(LibreMetaverse.Vector3 value1, LibreMetaverse.Vector3 value2)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `infallible_placeholder`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector3.op_Multiply(LibreMetaverse.Vector3,System.Single)`.
///
/// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Vector3.op_Multiply(LibreMetaverse.Vector3 value, System.Single scaleFactor)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `infallible_placeholder`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector3.op_Subtraction(LibreMetaverse.Vector3,LibreMetaverse.Vector3)`.
///
/// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Vector3.op_Subtraction(LibreMetaverse.Vector3 value1, LibreMetaverse.Vector3 value2)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector3.op_UnaryNegation(LibreMetaverse.Vector3)`.
///
/// C# signature: `LibreMetaverse.Vector3 LibreMetaverse.Vector3.op_UnaryNegation(LibreMetaverse.Vector3 value)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
pub use crate::vectors::Vector3;

/// C# type: `T:LibreMetaverse.Vector3d`.
///
/// Native Rust mapping of C# `LibreMetaverse.Vector3d` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `F:LibreMetaverse.Vector3d.One`.
///
/// C# signature: `LibreMetaverse.Vector3d LibreMetaverse.Vector3d.One`.
/// Mapping contract: ownership `none`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
/// C# member: `F:LibreMetaverse.Vector3d.UnitX`.
///
/// C# signature: `LibreMetaverse.Vector3d LibreMetaverse.Vector3d.UnitX`.
/// Mapping contract: ownership `none`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
/// C# member: `F:LibreMetaverse.Vector3d.UnitY`.
///
/// C# signature: `LibreMetaverse.Vector3d LibreMetaverse.Vector3d.UnitY`.
/// Mapping contract: ownership `none`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
/// C# member: `F:LibreMetaverse.Vector3d.UnitZ`.
///
/// C# signature: `LibreMetaverse.Vector3d LibreMetaverse.Vector3d.UnitZ`.
/// Mapping contract: ownership `none`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
/// C# member: `F:LibreMetaverse.Vector3d.X`.
///
/// C# signature: `System.Double LibreMetaverse.Vector3d.X`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Vector3d.Y`.
///
/// C# signature: `System.Double LibreMetaverse.Vector3d.Y`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Vector3d.Z`.
///
/// C# signature: `System.Double LibreMetaverse.Vector3d.Z`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Vector3d.Zero`.
///
/// C# signature: `LibreMetaverse.Vector3d LibreMetaverse.Vector3d.Zero`.
/// Mapping contract: ownership `none`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
/// C# member: `M:LibreMetaverse.Vector3d.#ctor(LibreMetaverse.Vector3)`.
///
/// C# signature: `LibreMetaverse.Vector3d(LibreMetaverse.Vector3 vector)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector3d.#ctor(LibreMetaverse.Vector3d)`.
///
/// C# signature: `LibreMetaverse.Vector3d(LibreMetaverse.Vector3d vector)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector3d.#ctor(System.Byte[],System.Int32)`.
///
/// C# signature: `LibreMetaverse.Vector3d(System.Byte[] byteArray, System.Int32 pos)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector3d.#ctor(System.Double)`.
///
/// C# signature: `LibreMetaverse.Vector3d(System.Double value)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector3d.#ctor(System.Double,System.Double,System.Double)`.
///
/// C# signature: `LibreMetaverse.Vector3d(System.Double x, System.Double y, System.Double z)`.
/// Mapping contract: ownership `owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector3d.Add(LibreMetaverse.Vector3d,LibreMetaverse.Vector3d)`.
///
/// C# signature: `LibreMetaverse.Vector3d LibreMetaverse.Vector3d.Add(LibreMetaverse.Vector3d value1, LibreMetaverse.Vector3d value2)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector3d.ApproxEquals(LibreMetaverse.Vector3d,System.Double)`.
///
/// C# signature: `System.Boolean LibreMetaverse.Vector3d.ApproxEquals(LibreMetaverse.Vector3d vec, System.Double tolerance)`.
/// Mapping contract: ownership `mutable_self,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector3d.Clamp(LibreMetaverse.Vector3d,LibreMetaverse.Vector3d,LibreMetaverse.Vector3d)`.
///
/// C# signature: `LibreMetaverse.Vector3d LibreMetaverse.Vector3d.Clamp(LibreMetaverse.Vector3d value1, LibreMetaverse.Vector3d min, LibreMetaverse.Vector3d max)`.
/// Mapping contract: ownership `owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector3d.CompareTo(LibreMetaverse.Vector3d)`.
///
/// C# signature: `System.Int32 LibreMetaverse.Vector3d.CompareTo(LibreMetaverse.Vector3d vector)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector3d.Cross(LibreMetaverse.Vector3d,LibreMetaverse.Vector3d)`.
///
/// C# signature: `LibreMetaverse.Vector3d LibreMetaverse.Vector3d.Cross(LibreMetaverse.Vector3d value1, LibreMetaverse.Vector3d value2)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector3d.Distance(LibreMetaverse.Vector3d,LibreMetaverse.Vector3d)`.
///
/// C# signature: `System.Double LibreMetaverse.Vector3d.Distance(LibreMetaverse.Vector3d value1, LibreMetaverse.Vector3d value2)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector3d.DistanceSquared(LibreMetaverse.Vector3d,LibreMetaverse.Vector3d)`.
///
/// C# signature: `System.Double LibreMetaverse.Vector3d.DistanceSquared(LibreMetaverse.Vector3d value1, LibreMetaverse.Vector3d value2)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector3d.Divide(LibreMetaverse.Vector3d,LibreMetaverse.Vector3d)`.
///
/// C# signature: `LibreMetaverse.Vector3d LibreMetaverse.Vector3d.Divide(LibreMetaverse.Vector3d value1, LibreMetaverse.Vector3d value2)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector3d.Divide(LibreMetaverse.Vector3d,System.Double)`.
///
/// C# signature: `LibreMetaverse.Vector3d LibreMetaverse.Vector3d.Divide(LibreMetaverse.Vector3d value1, System.Double value2)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector3d.Dot(LibreMetaverse.Vector3d,LibreMetaverse.Vector3d)`.
///
/// C# signature: `System.Double LibreMetaverse.Vector3d.Dot(LibreMetaverse.Vector3d value1, LibreMetaverse.Vector3d value2)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector3d.Equals(LibreMetaverse.Vector3d)`.
///
/// C# signature: `System.Boolean LibreMetaverse.Vector3d.Equals(LibreMetaverse.Vector3d other)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `infallible_placeholder`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector3d.Equals(System.Object)`.
///
/// C# signature: `System.Boolean LibreMetaverse.Vector3d.Equals(System.Object obj)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `infallible_placeholder`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector3d.FromBytes(System.Byte[],System.Int32)`.
///
/// C# signature: `System.Void LibreMetaverse.Vector3d.FromBytes(System.Byte[] byteArray, System.Int32 pos)`.
/// Mapping contract: ownership `mutable_self,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector3d.GetBytes`.
///
/// C# signature: `System.Byte[] LibreMetaverse.Vector3d.GetBytes()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector3d.GetHashCode`.
///
/// C# signature: `System.Int32 LibreMetaverse.Vector3d.GetHashCode()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector3d.IsFinite`.
///
/// C# signature: `System.Boolean LibreMetaverse.Vector3d.IsFinite()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector3d.Length`.
///
/// C# signature: `System.Double LibreMetaverse.Vector3d.Length()`.
/// Mapping contract: ownership `mutable_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector3d.LengthSquared`.
///
/// C# signature: `System.Double LibreMetaverse.Vector3d.LengthSquared()`.
/// Mapping contract: ownership `mutable_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector3d.Lerp(LibreMetaverse.Vector3d,LibreMetaverse.Vector3d,System.Double)`.
///
/// C# signature: `LibreMetaverse.Vector3d LibreMetaverse.Vector3d.Lerp(LibreMetaverse.Vector3d value1, LibreMetaverse.Vector3d value2, System.Double amount)`.
/// Mapping contract: ownership `owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector3d.Max(LibreMetaverse.Vector3d,LibreMetaverse.Vector3d)`.
///
/// C# signature: `LibreMetaverse.Vector3d LibreMetaverse.Vector3d.Max(LibreMetaverse.Vector3d value1, LibreMetaverse.Vector3d value2)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector3d.Min(LibreMetaverse.Vector3d,LibreMetaverse.Vector3d)`.
///
/// C# signature: `LibreMetaverse.Vector3d LibreMetaverse.Vector3d.Min(LibreMetaverse.Vector3d value1, LibreMetaverse.Vector3d value2)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector3d.Multiply(LibreMetaverse.Vector3d,LibreMetaverse.Vector3d)`.
///
/// C# signature: `LibreMetaverse.Vector3d LibreMetaverse.Vector3d.Multiply(LibreMetaverse.Vector3d value1, LibreMetaverse.Vector3d value2)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector3d.Multiply(LibreMetaverse.Vector3d,System.Double)`.
///
/// C# signature: `LibreMetaverse.Vector3d LibreMetaverse.Vector3d.Multiply(LibreMetaverse.Vector3d value1, System.Double scaleFactor)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector3d.Negate(LibreMetaverse.Vector3d)`.
///
/// C# signature: `LibreMetaverse.Vector3d LibreMetaverse.Vector3d.Negate(LibreMetaverse.Vector3d value)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector3d.Normalize`.
///
/// C# signature: `System.Void LibreMetaverse.Vector3d.Normalize()`.
/// Mapping contract: ownership `mutable_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector3d.Normalize(LibreMetaverse.Vector3d)`.
///
/// C# signature: `LibreMetaverse.Vector3d LibreMetaverse.Vector3d.Normalize(LibreMetaverse.Vector3d value)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector3d.Parse(System.String)`.
///
/// C# signature: `LibreMetaverse.Vector3d LibreMetaverse.Vector3d.Parse(System.String val)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector3d.SmoothStep(LibreMetaverse.Vector3d,LibreMetaverse.Vector3d,System.Double)`.
///
/// C# signature: `LibreMetaverse.Vector3d LibreMetaverse.Vector3d.SmoothStep(LibreMetaverse.Vector3d value1, LibreMetaverse.Vector3d value2, System.Double amount)`.
/// Mapping contract: ownership `owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector3d.Subtract(LibreMetaverse.Vector3d,LibreMetaverse.Vector3d)`.
///
/// C# signature: `LibreMetaverse.Vector3d LibreMetaverse.Vector3d.Subtract(LibreMetaverse.Vector3d value1, LibreMetaverse.Vector3d value2)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector3d.ToBytes(System.Byte[],System.Int32)`.
///
/// C# signature: `System.Void LibreMetaverse.Vector3d.ToBytes(System.Byte[] dest, System.Int32 pos)`.
/// Mapping contract: ownership `shared_self,mutable_borrow,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector3d.ToRawString`.
///
/// C# signature: `System.String LibreMetaverse.Vector3d.ToRawString()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector3d.ToString`.
///
/// C# signature: `System.String LibreMetaverse.Vector3d.ToString()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector3d.TryParse(System.String,LibreMetaverse.Vector3d@)`.
///
/// C# signature: `System.Boolean LibreMetaverse.Vector3d.TryParse(System.String val, out LibreMetaverse.Vector3d& result)`.
/// Mapping contract: ownership `owned,mutable_output`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector3d.op_Addition(LibreMetaverse.Vector3d,LibreMetaverse.Vector3d)`.
///
/// C# signature: `LibreMetaverse.Vector3d LibreMetaverse.Vector3d.op_Addition(LibreMetaverse.Vector3d value1, LibreMetaverse.Vector3d value2)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `infallible_placeholder`; overload `descriptive_overload_name_with_stable_id`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector3d.op_Division(LibreMetaverse.Vector3d,LibreMetaverse.Vector3d)`.
///
/// C# signature: `LibreMetaverse.Vector3d LibreMetaverse.Vector3d.op_Division(LibreMetaverse.Vector3d value1, LibreMetaverse.Vector3d value2)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `infallible_placeholder`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector3d.op_Division(LibreMetaverse.Vector3d,System.Double)`.
///
/// C# signature: `LibreMetaverse.Vector3d LibreMetaverse.Vector3d.op_Division(LibreMetaverse.Vector3d value, System.Double divider)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `infallible_placeholder`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector3d.op_Equality(LibreMetaverse.Vector3d,LibreMetaverse.Vector3d)`.
///
/// C# signature: `System.Boolean LibreMetaverse.Vector3d.op_Equality(LibreMetaverse.Vector3d value1, LibreMetaverse.Vector3d value2)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector3d.op_Implicit(LibreMetaverse.Vector3)~LibreMetaverse.Vector3d`.
///
/// C# signature: `LibreMetaverse.Vector3d LibreMetaverse.Vector3d.op_Implicit(LibreMetaverse.Vector3 value)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector3d.op_Inequality(LibreMetaverse.Vector3d,LibreMetaverse.Vector3d)`.
///
/// C# signature: `System.Boolean LibreMetaverse.Vector3d.op_Inequality(LibreMetaverse.Vector3d value1, LibreMetaverse.Vector3d value2)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector3d.op_Modulus(LibreMetaverse.Vector3d,LibreMetaverse.Vector3d)`.
///
/// C# signature: `LibreMetaverse.Vector3d LibreMetaverse.Vector3d.op_Modulus(LibreMetaverse.Vector3d value1, LibreMetaverse.Vector3d value2)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector3d.op_Multiply(LibreMetaverse.Vector3d,LibreMetaverse.Vector3d)`.
///
/// C# signature: `LibreMetaverse.Vector3d LibreMetaverse.Vector3d.op_Multiply(LibreMetaverse.Vector3d value1, LibreMetaverse.Vector3d value2)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `infallible_placeholder`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector3d.op_Multiply(LibreMetaverse.Vector3d,System.Double)`.
///
/// C# signature: `LibreMetaverse.Vector3d LibreMetaverse.Vector3d.op_Multiply(LibreMetaverse.Vector3d value, System.Double scaleFactor)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `infallible_placeholder`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector3d.op_Subtraction(LibreMetaverse.Vector3d,LibreMetaverse.Vector3d)`.
///
/// C# signature: `LibreMetaverse.Vector3d LibreMetaverse.Vector3d.op_Subtraction(LibreMetaverse.Vector3d value1, LibreMetaverse.Vector3d value2)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector3d.op_UnaryNegation(LibreMetaverse.Vector3d)`.
///
/// C# signature: `LibreMetaverse.Vector3d LibreMetaverse.Vector3d.op_UnaryNegation(LibreMetaverse.Vector3d value)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
pub use crate::vectors::Vector3d;

/// C# type: `T:LibreMetaverse.Vector4`.
///
/// Native Rust mapping of C# `LibreMetaverse.Vector4` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `F:LibreMetaverse.Vector4.One`.
///
/// C# signature: `LibreMetaverse.Vector4 LibreMetaverse.Vector4.One`.
/// Mapping contract: ownership `none`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
/// C# member: `F:LibreMetaverse.Vector4.UnitW`.
///
/// C# signature: `LibreMetaverse.Vector4 LibreMetaverse.Vector4.UnitW`.
/// Mapping contract: ownership `none`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
/// C# member: `F:LibreMetaverse.Vector4.UnitX`.
///
/// C# signature: `LibreMetaverse.Vector4 LibreMetaverse.Vector4.UnitX`.
/// Mapping contract: ownership `none`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
/// C# member: `F:LibreMetaverse.Vector4.UnitY`.
///
/// C# signature: `LibreMetaverse.Vector4 LibreMetaverse.Vector4.UnitY`.
/// Mapping contract: ownership `none`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
/// C# member: `F:LibreMetaverse.Vector4.UnitZ`.
///
/// C# signature: `LibreMetaverse.Vector4 LibreMetaverse.Vector4.UnitZ`.
/// Mapping contract: ownership `none`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
/// C# member: `F:LibreMetaverse.Vector4.W`.
///
/// C# signature: `System.Single LibreMetaverse.Vector4.W`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Vector4.X`.
///
/// C# signature: `System.Single LibreMetaverse.Vector4.X`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Vector4.Y`.
///
/// C# signature: `System.Single LibreMetaverse.Vector4.Y`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Vector4.Z`.
///
/// C# signature: `System.Single LibreMetaverse.Vector4.Z`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Vector4.Zero`.
///
/// C# signature: `LibreMetaverse.Vector4 LibreMetaverse.Vector4.Zero`.
/// Mapping contract: ownership `none`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `static_field_accessor`.
/// C# member: `M:LibreMetaverse.Vector4.#ctor(LibreMetaverse.Vector2,System.Single,System.Single)`.
///
/// C# signature: `LibreMetaverse.Vector4(LibreMetaverse.Vector2 value, System.Single z, System.Single w)`.
/// Mapping contract: ownership `owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector4.#ctor(LibreMetaverse.Vector3,System.Single)`.
///
/// C# signature: `LibreMetaverse.Vector4(LibreMetaverse.Vector3 value, System.Single w)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector4.#ctor(LibreMetaverse.Vector4)`.
///
/// C# signature: `LibreMetaverse.Vector4(LibreMetaverse.Vector4 value)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector4.#ctor(System.Byte[],System.Int32)`.
///
/// C# signature: `LibreMetaverse.Vector4(System.Byte[] byteArray, System.Int32 pos)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector4.#ctor(System.Single)`.
///
/// C# signature: `LibreMetaverse.Vector4(System.Single value)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector4.#ctor(System.Single,System.Single,System.Single,System.Single)`.
///
/// C# signature: `LibreMetaverse.Vector4(System.Single x, System.Single y, System.Single z, System.Single w)`.
/// Mapping contract: ownership `owned,owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector4.Add(LibreMetaverse.Vector4,LibreMetaverse.Vector4)`.
///
/// C# signature: `LibreMetaverse.Vector4 LibreMetaverse.Vector4.Add(LibreMetaverse.Vector4 value1, LibreMetaverse.Vector4 value2)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector4.ApproxEquals(LibreMetaverse.Vector4,System.Single)`.
///
/// C# signature: `System.Boolean LibreMetaverse.Vector4.ApproxEquals(LibreMetaverse.Vector4 vec, System.Single tolerance)`.
/// Mapping contract: ownership `mutable_self,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector4.Clamp(LibreMetaverse.Vector4,LibreMetaverse.Vector4,LibreMetaverse.Vector4)`.
///
/// C# signature: `LibreMetaverse.Vector4 LibreMetaverse.Vector4.Clamp(LibreMetaverse.Vector4 value1, LibreMetaverse.Vector4 min, LibreMetaverse.Vector4 max)`.
/// Mapping contract: ownership `owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector4.CompareTo(LibreMetaverse.Vector4)`.
///
/// C# signature: `System.Int32 LibreMetaverse.Vector4.CompareTo(LibreMetaverse.Vector4 vector)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector4.Distance(LibreMetaverse.Vector4,LibreMetaverse.Vector4)`.
///
/// C# signature: `System.Single LibreMetaverse.Vector4.Distance(LibreMetaverse.Vector4 value1, LibreMetaverse.Vector4 value2)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector4.DistanceSquared(LibreMetaverse.Vector4,LibreMetaverse.Vector4)`.
///
/// C# signature: `System.Single LibreMetaverse.Vector4.DistanceSquared(LibreMetaverse.Vector4 value1, LibreMetaverse.Vector4 value2)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector4.Divide(LibreMetaverse.Vector4,LibreMetaverse.Vector4)`.
///
/// C# signature: `LibreMetaverse.Vector4 LibreMetaverse.Vector4.Divide(LibreMetaverse.Vector4 value1, LibreMetaverse.Vector4 value2)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector4.Divide(LibreMetaverse.Vector4,System.Single)`.
///
/// C# signature: `LibreMetaverse.Vector4 LibreMetaverse.Vector4.Divide(LibreMetaverse.Vector4 value1, System.Single divider)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector4.Dot(LibreMetaverse.Vector4,LibreMetaverse.Vector4)`.
///
/// C# signature: `System.Single LibreMetaverse.Vector4.Dot(LibreMetaverse.Vector4 vector1, LibreMetaverse.Vector4 vector2)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector4.Equals(LibreMetaverse.Vector4)`.
///
/// C# signature: `System.Boolean LibreMetaverse.Vector4.Equals(LibreMetaverse.Vector4 other)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `infallible_placeholder`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector4.Equals(System.Object)`.
///
/// C# signature: `System.Boolean LibreMetaverse.Vector4.Equals(System.Object obj)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `infallible_placeholder`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector4.FromBytes(System.Byte[],System.Int32)`.
///
/// C# signature: `System.Void LibreMetaverse.Vector4.FromBytes(System.Byte[] byteArray, System.Int32 pos)`.
/// Mapping contract: ownership `mutable_self,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector4.GetBytes`.
///
/// C# signature: `System.Byte[] LibreMetaverse.Vector4.GetBytes()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector4.GetHashCode`.
///
/// C# signature: `System.Int32 LibreMetaverse.Vector4.GetHashCode()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector4.IsFinite`.
///
/// C# signature: `System.Boolean LibreMetaverse.Vector4.IsFinite()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector4.Length`.
///
/// C# signature: `System.Single LibreMetaverse.Vector4.Length()`.
/// Mapping contract: ownership `mutable_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector4.LengthSquared`.
///
/// C# signature: `System.Single LibreMetaverse.Vector4.LengthSquared()`.
/// Mapping contract: ownership `mutable_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector4.Lerp(LibreMetaverse.Vector4,LibreMetaverse.Vector4,System.Single)`.
///
/// C# signature: `LibreMetaverse.Vector4 LibreMetaverse.Vector4.Lerp(LibreMetaverse.Vector4 value1, LibreMetaverse.Vector4 value2, System.Single amount)`.
/// Mapping contract: ownership `owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector4.Max(LibreMetaverse.Vector4,LibreMetaverse.Vector4)`.
///
/// C# signature: `LibreMetaverse.Vector4 LibreMetaverse.Vector4.Max(LibreMetaverse.Vector4 value1, LibreMetaverse.Vector4 value2)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector4.Min(LibreMetaverse.Vector4,LibreMetaverse.Vector4)`.
///
/// C# signature: `LibreMetaverse.Vector4 LibreMetaverse.Vector4.Min(LibreMetaverse.Vector4 value1, LibreMetaverse.Vector4 value2)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector4.Multiply(LibreMetaverse.Vector4,LibreMetaverse.Vector4)`.
///
/// C# signature: `LibreMetaverse.Vector4 LibreMetaverse.Vector4.Multiply(LibreMetaverse.Vector4 value1, LibreMetaverse.Vector4 value2)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector4.Multiply(LibreMetaverse.Vector4,System.Single)`.
///
/// C# signature: `LibreMetaverse.Vector4 LibreMetaverse.Vector4.Multiply(LibreMetaverse.Vector4 value1, System.Single scaleFactor)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector4.Negate(LibreMetaverse.Vector4)`.
///
/// C# signature: `LibreMetaverse.Vector4 LibreMetaverse.Vector4.Negate(LibreMetaverse.Vector4 value)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector4.Normalize`.
///
/// C# signature: `System.Void LibreMetaverse.Vector4.Normalize()`.
/// Mapping contract: ownership `mutable_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector4.Normalize(LibreMetaverse.Vector4)`.
///
/// C# signature: `LibreMetaverse.Vector4 LibreMetaverse.Vector4.Normalize(LibreMetaverse.Vector4 vector)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector4.Parse(System.String)`.
///
/// C# signature: `LibreMetaverse.Vector4 LibreMetaverse.Vector4.Parse(System.String val)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector4.SmoothStep(LibreMetaverse.Vector4,LibreMetaverse.Vector4,System.Single)`.
///
/// C# signature: `LibreMetaverse.Vector4 LibreMetaverse.Vector4.SmoothStep(LibreMetaverse.Vector4 value1, LibreMetaverse.Vector4 value2, System.Single amount)`.
/// Mapping contract: ownership `owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector4.Subtract(LibreMetaverse.Vector4,LibreMetaverse.Vector4)`.
///
/// C# signature: `LibreMetaverse.Vector4 LibreMetaverse.Vector4.Subtract(LibreMetaverse.Vector4 value1, LibreMetaverse.Vector4 value2)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector4.ToBytes(System.Byte[],System.Int32)`.
///
/// C# signature: `System.Void LibreMetaverse.Vector4.ToBytes(System.Byte[] dest, System.Int32 pos)`.
/// Mapping contract: ownership `shared_self,mutable_borrow,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector4.ToRawString`.
///
/// C# signature: `System.String LibreMetaverse.Vector4.ToRawString()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector4.ToString`.
///
/// C# signature: `System.String LibreMetaverse.Vector4.ToString()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector4.Transform(LibreMetaverse.Vector2,LibreMetaverse.Matrix4)`.
///
/// C# signature: `LibreMetaverse.Vector4 LibreMetaverse.Vector4.Transform(LibreMetaverse.Vector2 position, LibreMetaverse.Matrix4 matrix)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector4.Transform(LibreMetaverse.Vector3,LibreMetaverse.Matrix4)`.
///
/// C# signature: `LibreMetaverse.Vector4 LibreMetaverse.Vector4.Transform(LibreMetaverse.Vector3 position, LibreMetaverse.Matrix4 matrix)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector4.Transform(LibreMetaverse.Vector4,LibreMetaverse.Matrix4)`.
///
/// C# signature: `LibreMetaverse.Vector4 LibreMetaverse.Vector4.Transform(LibreMetaverse.Vector4 vector, LibreMetaverse.Matrix4 matrix)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector4.TryParse(System.String,LibreMetaverse.Vector4@)`.
///
/// C# signature: `System.Boolean LibreMetaverse.Vector4.TryParse(System.String val, out LibreMetaverse.Vector4& result)`.
/// Mapping contract: ownership `owned,mutable_output`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector4.op_Addition(LibreMetaverse.Vector4,LibreMetaverse.Vector4)`.
///
/// C# signature: `LibreMetaverse.Vector4 LibreMetaverse.Vector4.op_Addition(LibreMetaverse.Vector4 value1, LibreMetaverse.Vector4 value2)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `infallible_placeholder`; overload `descriptive_overload_name_with_stable_id`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector4.op_Division(LibreMetaverse.Vector4,LibreMetaverse.Vector4)`.
///
/// C# signature: `LibreMetaverse.Vector4 LibreMetaverse.Vector4.op_Division(LibreMetaverse.Vector4 value1, LibreMetaverse.Vector4 value2)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `infallible_placeholder`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector4.op_Division(LibreMetaverse.Vector4,System.Single)`.
///
/// C# signature: `LibreMetaverse.Vector4 LibreMetaverse.Vector4.op_Division(LibreMetaverse.Vector4 value1, System.Single divider)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `infallible_placeholder`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector4.op_Equality(LibreMetaverse.Vector4,LibreMetaverse.Vector4)`.
///
/// C# signature: `System.Boolean LibreMetaverse.Vector4.op_Equality(LibreMetaverse.Vector4 value1, LibreMetaverse.Vector4 value2)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector4.op_Inequality(LibreMetaverse.Vector4,LibreMetaverse.Vector4)`.
///
/// C# signature: `System.Boolean LibreMetaverse.Vector4.op_Inequality(LibreMetaverse.Vector4 value1, LibreMetaverse.Vector4 value2)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector4.op_Multiply(LibreMetaverse.Vector4,LibreMetaverse.Vector4)`.
///
/// C# signature: `LibreMetaverse.Vector4 LibreMetaverse.Vector4.op_Multiply(LibreMetaverse.Vector4 value1, LibreMetaverse.Vector4 value2)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `infallible_placeholder`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector4.op_Multiply(LibreMetaverse.Vector4,System.Single)`.
///
/// C# signature: `LibreMetaverse.Vector4 LibreMetaverse.Vector4.op_Multiply(LibreMetaverse.Vector4 value1, System.Single scaleFactor)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `infallible_placeholder`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector4.op_Subtraction(LibreMetaverse.Vector4,LibreMetaverse.Vector4)`.
///
/// C# signature: `LibreMetaverse.Vector4 LibreMetaverse.Vector4.op_Subtraction(LibreMetaverse.Vector4 value1, LibreMetaverse.Vector4 value2)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Vector4.op_UnaryNegation(LibreMetaverse.Vector4)`.
///
/// C# signature: `LibreMetaverse.Vector4 LibreMetaverse.Vector4.op_UnaryNegation(LibreMetaverse.Vector4 value)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
pub use crate::vectors::Vector4;

/// C# type: `T:LibreMetaverse.WearableType`.
///
/// Native Rust mapping of C# `LibreMetaverse.WearableType` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
#[repr(u8)]
pub enum WearableType {
    /// C# member: `F:LibreMetaverse.WearableType.Alpha`.
    ///
    /// C# signature: `LibreMetaverse.WearableType LibreMetaverse.WearableType.Alpha`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Alpha = 13,
    /// C# member: `F:LibreMetaverse.WearableType.Eyes`.
    ///
    /// C# signature: `LibreMetaverse.WearableType LibreMetaverse.WearableType.Eyes`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Eyes = 3,
    /// C# member: `F:LibreMetaverse.WearableType.Gloves`.
    ///
    /// C# signature: `LibreMetaverse.WearableType LibreMetaverse.WearableType.Gloves`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Gloves = 9,
    /// C# member: `F:LibreMetaverse.WearableType.Hair`.
    ///
    /// C# signature: `LibreMetaverse.WearableType LibreMetaverse.WearableType.Hair`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Hair = 2,
    /// C# member: `F:LibreMetaverse.WearableType.Invalid`.
    ///
    /// C# signature: `LibreMetaverse.WearableType LibreMetaverse.WearableType.Invalid`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Invalid = 255,
    /// C# member: `F:LibreMetaverse.WearableType.Jacket`.
    ///
    /// C# signature: `LibreMetaverse.WearableType LibreMetaverse.WearableType.Jacket`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Jacket = 8,
    /// C# member: `F:LibreMetaverse.WearableType.Pants`.
    ///
    /// C# signature: `LibreMetaverse.WearableType LibreMetaverse.WearableType.Pants`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Pants = 5,
    /// C# member: `F:LibreMetaverse.WearableType.Physics`.
    ///
    /// C# signature: `LibreMetaverse.WearableType LibreMetaverse.WearableType.Physics`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Physics = 15,
    /// C# member: `F:LibreMetaverse.WearableType.Shape`.
    ///
    /// C# signature: `LibreMetaverse.WearableType LibreMetaverse.WearableType.Shape`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Shape = 0,
    /// C# member: `F:LibreMetaverse.WearableType.Shirt`.
    ///
    /// C# signature: `LibreMetaverse.WearableType LibreMetaverse.WearableType.Shirt`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Shirt = 4,
    /// C# member: `F:LibreMetaverse.WearableType.Shoes`.
    ///
    /// C# signature: `LibreMetaverse.WearableType LibreMetaverse.WearableType.Shoes`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Shoes = 6,
    /// C# member: `F:LibreMetaverse.WearableType.Skin`.
    ///
    /// C# signature: `LibreMetaverse.WearableType LibreMetaverse.WearableType.Skin`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Skin = 1,
    /// C# member: `F:LibreMetaverse.WearableType.Skirt`.
    ///
    /// C# signature: `LibreMetaverse.WearableType LibreMetaverse.WearableType.Skirt`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Skirt = 12,
    /// C# member: `F:LibreMetaverse.WearableType.Socks`.
    ///
    /// C# signature: `LibreMetaverse.WearableType LibreMetaverse.WearableType.Socks`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Socks = 7,
    /// C# member: `F:LibreMetaverse.WearableType.Tattoo`.
    ///
    /// C# signature: `LibreMetaverse.WearableType LibreMetaverse.WearableType.Tattoo`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Tattoo = 14,
    /// C# member: `F:LibreMetaverse.WearableType.Underpants`.
    ///
    /// C# signature: `LibreMetaverse.WearableType LibreMetaverse.WearableType.Underpants`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Underpants = 11,
    /// C# member: `F:LibreMetaverse.WearableType.Undershirt`.
    ///
    /// C# signature: `LibreMetaverse.WearableType LibreMetaverse.WearableType.Undershirt`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Undershirt = 10,
    /// C# member: `F:LibreMetaverse.WearableType.Universal`.
    ///
    /// C# signature: `LibreMetaverse.WearableType LibreMetaverse.WearableType.Universal`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Universal = 16,
}
