// @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.RLV.AttachmentRequest`.
///
/// Native Rust mapping of C# `LibreMetaverse.RLV.AttachmentRequest` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.RLV.AttachmentRequest.#ctor(System.Guid,LibreMetaverse.RLV.RlvAttachmentPoint,System.Boolean)`.
///
/// C# signature: `LibreMetaverse.RLV.AttachmentRequest(System.Guid itemId, LibreMetaverse.RLV.RlvAttachmentPoint attachmentPoint, System.Boolean replaceExistingAttachments)`.
/// Mapping contract: ownership `owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.RLV.AttachmentRequest.Equals(System.Object)`.
///
/// C# signature: `System.Boolean LibreMetaverse.RLV.AttachmentRequest.Equals(System.Object obj)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.RLV.AttachmentRequest.GetHashCode`.
///
/// C# signature: `System.Int32 LibreMetaverse.RLV.AttachmentRequest.GetHashCode()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.RLV.AttachmentRequest.AttachmentPoint`.
///
/// C# signature: `LibreMetaverse.RLV.RlvAttachmentPoint LibreMetaverse.RLV.AttachmentRequest.AttachmentPoint`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.RLV.AttachmentRequest.ItemId`.
///
/// C# signature: `System.Guid LibreMetaverse.RLV.AttachmentRequest.ItemId`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.RLV.AttachmentRequest.ReplaceExistingAttachments`.
///
/// C# signature: `System.Boolean LibreMetaverse.RLV.AttachmentRequest.ReplaceExistingAttachments`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::service::AttachmentRequest;

/// C# type: `T:LibreMetaverse.RLV.CameraRestrictions`.
///
/// Native Rust mapping of C# `LibreMetaverse.RLV.CameraRestrictions` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
pub use crate::state::CameraRestrictions;
impl CameraRestrictions {
    /// C# member: `P:LibreMetaverse.RLV.CameraRestrictions.AvDist`.
    ///
    /// C# signature: `System.Nullable<System.Single> LibreMetaverse.RLV.CameraRestrictions.AvDist`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn av_dist(&self) -> Option<Option<f32>> {
        /* reviewed native compatibility body */
        self.native_av_dist()
    }
    /// C# member: `P:LibreMetaverse.RLV.CameraRestrictions.AvDistMax`.
    ///
    /// C# signature: `System.Nullable<System.Single> LibreMetaverse.RLV.CameraRestrictions.AvDistMax`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn av_dist_max(&self) -> Option<Option<f32>> {
        /* reviewed native compatibility body */
        self.native_av_dist_max()
    }
    /// C# member: `P:LibreMetaverse.RLV.CameraRestrictions.AvDistMin`.
    ///
    /// C# signature: `System.Nullable<System.Single> LibreMetaverse.RLV.CameraRestrictions.AvDistMin`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn av_dist_min(&self) -> Option<Option<f32>> {
        /* reviewed native compatibility body */
        self.native_av_dist_min()
    }
    /// C# member: `P:LibreMetaverse.RLV.CameraRestrictions.DrawAlphaMax`.
    ///
    /// C# signature: `System.Nullable<System.Single> LibreMetaverse.RLV.CameraRestrictions.DrawAlphaMax`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn draw_alpha_max(&self) -> Option<Option<f32>> {
        /* reviewed native compatibility body */
        self.native_draw_alpha_max()
    }
    /// C# member: `P:LibreMetaverse.RLV.CameraRestrictions.DrawAlphaMin`.
    ///
    /// C# signature: `System.Nullable<System.Single> LibreMetaverse.RLV.CameraRestrictions.DrawAlphaMin`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn draw_alpha_min(&self) -> Option<Option<f32>> {
        /* reviewed native compatibility body */
        self.native_draw_alpha_min()
    }
    /// C# member: `P:LibreMetaverse.RLV.CameraRestrictions.DrawColor`.
    ///
    /// C# signature: `System.Nullable<System.Numerics.Vector3> LibreMetaverse.RLV.CameraRestrictions.DrawColor`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn draw_color(&self) -> Option<Option<libremetaverse_types::compat::Vector3>> {
        /* reviewed native compatibility body */
        self.native_draw_color()
    }
    /// C# member: `P:LibreMetaverse.RLV.CameraRestrictions.DrawMax`.
    ///
    /// C# signature: `System.Nullable<System.Single> LibreMetaverse.RLV.CameraRestrictions.DrawMax`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn draw_max(&self) -> Option<Option<f32>> {
        /* reviewed native compatibility body */
        self.native_draw_max()
    }
    /// C# member: `P:LibreMetaverse.RLV.CameraRestrictions.DrawMin`.
    ///
    /// C# signature: `System.Nullable<System.Single> LibreMetaverse.RLV.CameraRestrictions.DrawMin`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn draw_min(&self) -> Option<Option<f32>> {
        /* reviewed native compatibility body */
        self.native_draw_min()
    }
    /// C# member: `P:LibreMetaverse.RLV.CameraRestrictions.FovMax`.
    ///
    /// C# signature: `System.Nullable<System.Single> LibreMetaverse.RLV.CameraRestrictions.FovMax`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn fov_max(&self) -> Option<Option<f32>> {
        /* reviewed native compatibility body */
        self.native_fov_max()
    }
    /// C# member: `P:LibreMetaverse.RLV.CameraRestrictions.FovMin`.
    ///
    /// C# signature: `System.Nullable<System.Single> LibreMetaverse.RLV.CameraRestrictions.FovMin`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn fov_min(&self) -> Option<Option<f32>> {
        /* reviewed native compatibility body */
        self.native_fov_min()
    }
    /// C# member: `P:LibreMetaverse.RLV.CameraRestrictions.IsLocked`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.RLV.CameraRestrictions.IsLocked`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn is_locked(&self) -> bool {
        /* reviewed native compatibility body */
        self.native_is_locked()
    }
    /// C# member: `P:LibreMetaverse.RLV.CameraRestrictions.Texture`.
    ///
    /// C# signature: `System.Nullable<System.Guid> LibreMetaverse.RLV.CameraRestrictions.Texture`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn texture(&self) -> Option<Option<libremetaverse_types::compat::Guid>> {
        /* reviewed native compatibility body */
        self.native_texture()
    }
    /// C# member: `P:LibreMetaverse.RLV.CameraRestrictions.ZoomMax`.
    ///
    /// C# signature: `System.Nullable<System.Single> LibreMetaverse.RLV.CameraRestrictions.ZoomMax`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn zoom_max(&self) -> Option<Option<f32>> {
        /* reviewed native compatibility body */
        self.native_zoom_max()
    }
    /// C# member: `P:LibreMetaverse.RLV.CameraRestrictions.ZoomMin`.
    ///
    /// C# signature: `System.Nullable<System.Single> LibreMetaverse.RLV.CameraRestrictions.ZoomMin`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn zoom_min(&self) -> Option<Option<f32>> {
        /* reviewed native compatibility body */
        self.native_zoom_min()
    }
}

/// C# type: `T:LibreMetaverse.RLV.CameraSettings`.
///
/// Native Rust mapping of C# `LibreMetaverse.RLV.CameraSettings` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
pub use crate::state::CameraSettings;
impl CameraSettings {
    /// C# member: `M:LibreMetaverse.RLV.CameraSettings.#ctor(System.Single,System.Single,System.Single,System.Single,System.Single,System.Single)`.
    ///
    /// C# signature: `LibreMetaverse.RLV.CameraSettings(System.Single avDistMin, System.Single avDistMax, System.Single fovMin, System.Single fovMax, System.Single zoomMin, System.Single currentFov)`.
    /// Mapping contract: ownership `owned,owned,owned,owned,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn new(
        av_dist_min: f32,
        av_dist_max: f32,
        fov_min: f32,
        fov_max: f32,
        zoom_min: f32,
        current_fov: f32,
    ) -> Result<Self, crate::Error> {
        /* reviewed native compatibility body */
        Self::native_new(
            av_dist_min,
            av_dist_max,
            fov_min,
            fov_max,
            zoom_min,
            current_fov,
        )
    }
    /// C# member: `P:LibreMetaverse.RLV.CameraSettings.AvDistMax`.
    ///
    /// C# signature: `System.Single LibreMetaverse.RLV.CameraSettings.AvDistMax`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn av_dist_max(&self) -> f32 {
        /* reviewed native compatibility body */
        self.native_av_dist_max()
    }
    /// C# member: `P:LibreMetaverse.RLV.CameraSettings.AvDistMin`.
    ///
    /// C# signature: `System.Single LibreMetaverse.RLV.CameraSettings.AvDistMin`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn av_dist_min(&self) -> f32 {
        /* reviewed native compatibility body */
        self.native_av_dist_min()
    }
    /// C# member: `P:LibreMetaverse.RLV.CameraSettings.CurrentFov`.
    ///
    /// C# signature: `System.Single LibreMetaverse.RLV.CameraSettings.CurrentFov`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn current_fov(&self) -> f32 {
        /* reviewed native compatibility body */
        self.native_current_fov()
    }
    /// C# member: `P:LibreMetaverse.RLV.CameraSettings.FovMax`.
    ///
    /// C# signature: `System.Single LibreMetaverse.RLV.CameraSettings.FovMax`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn fov_max(&self) -> f32 {
        /* reviewed native compatibility body */
        self.native_fov_max()
    }
    /// C# member: `P:LibreMetaverse.RLV.CameraSettings.FovMin`.
    ///
    /// C# signature: `System.Single LibreMetaverse.RLV.CameraSettings.FovMin`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn fov_min(&self) -> f32 {
        /* reviewed native compatibility body */
        self.native_fov_min()
    }
    /// C# member: `P:LibreMetaverse.RLV.CameraSettings.ZoomMin`.
    ///
    /// C# signature: `System.Single LibreMetaverse.RLV.CameraSettings.ZoomMin`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn zoom_min(&self) -> f32 {
        /* reviewed native compatibility body */
        self.native_zoom_min()
    }
}

/// C# type: `T:LibreMetaverse.RLV.IRlvActionCallbacks`.
///
/// Native Rust mapping of C# `LibreMetaverse.RLV.IRlvActionCallbacks` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
pub trait IRlvActionCallbacks: Send + Sync {
    /// C# member: `M:LibreMetaverse.RLV.IRlvActionCallbacks.AdjustHeightAsync(System.Single,System.Single,System.Single,System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task LibreMetaverse.RLV.IRlvActionCallbacks.AdjustHeightAsync(System.Single distance, System.Single factor, System.Single delta, System.Threading.CancellationToken cancellationToken)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned,owned`; async `boxed_future`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    fn adjust_height(
        &self,
        distance: f32,
        factor: f32,
        delta: f32,
        cancellation_token: libremetaverse_types::compat::CancellationToken,
    ) -> std::pin::Pin<Box<dyn std::future::Future<Output = Result<(), crate::Error>> + Send + '_>>;
    /// C# member: `M:LibreMetaverse.RLV.IRlvActionCallbacks.AttachAsync(System.Collections.Generic.IReadOnlyList{LibreMetaverse.RLV.AttachmentRequest},System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task LibreMetaverse.RLV.IRlvActionCallbacks.AttachAsync(System.Collections.Generic.IReadOnlyList<LibreMetaverse.RLV.AttachmentRequest> itemsToAttach, System.Threading.CancellationToken cancellationToken)`.
    /// Mapping contract: ownership `shared_self,owned,owned`; async `boxed_future`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    fn attach(
        &self,
        items_to_attach: Vec<libremetaverse_rlv::AttachmentRequest>,
        cancellation_token: libremetaverse_types::compat::CancellationToken,
    ) -> std::pin::Pin<Box<dyn std::future::Future<Output = Result<(), crate::Error>> + Send + '_>>;
    /// C# member: `M:LibreMetaverse.RLV.IRlvActionCallbacks.DetachAsync(System.Collections.Generic.IReadOnlyList{System.Guid},System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task LibreMetaverse.RLV.IRlvActionCallbacks.DetachAsync(System.Collections.Generic.IReadOnlyList<System.Guid> itemIds, System.Threading.CancellationToken cancellationToken)`.
    /// Mapping contract: ownership `shared_self,owned,owned`; async `boxed_future`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    fn detach(
        &self,
        item_ids: Vec<libremetaverse_types::compat::Guid>,
        cancellation_token: libremetaverse_types::compat::CancellationToken,
    ) -> std::pin::Pin<Box<dyn std::future::Future<Output = Result<(), crate::Error>> + Send + '_>>;
    /// C# member: `M:LibreMetaverse.RLV.IRlvActionCallbacks.RemOutfitAsync(System.Collections.Generic.IReadOnlyList{System.Guid},System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task LibreMetaverse.RLV.IRlvActionCallbacks.RemOutfitAsync(System.Collections.Generic.IReadOnlyList<System.Guid> itemIds, System.Threading.CancellationToken cancellationToken)`.
    /// Mapping contract: ownership `shared_self,owned,owned`; async `boxed_future`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    fn rem_outfit(
        &self,
        item_ids: Vec<libremetaverse_types::compat::Guid>,
        cancellation_token: libremetaverse_types::compat::CancellationToken,
    ) -> std::pin::Pin<Box<dyn std::future::Future<Output = Result<(), crate::Error>> + Send + '_>>;
    /// C# member: `M:LibreMetaverse.RLV.IRlvActionCallbacks.SendInstantMessageAsync(System.Guid,System.String,System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task LibreMetaverse.RLV.IRlvActionCallbacks.SendInstantMessageAsync(System.Guid targetUser, System.String message, System.Threading.CancellationToken cancellationToken)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned`; async `boxed_future`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    fn send_instant_message(
        &self,
        target_user: libremetaverse_types::compat::Guid,
        message: String,
        cancellation_token: libremetaverse_types::compat::CancellationToken,
    ) -> std::pin::Pin<Box<dyn std::future::Future<Output = Result<(), crate::Error>> + Send + '_>>;
    /// C# member: `M:LibreMetaverse.RLV.IRlvActionCallbacks.SendReplyAsync(System.Int32,System.String,System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task LibreMetaverse.RLV.IRlvActionCallbacks.SendReplyAsync(System.Int32 channel, System.String message, System.Threading.CancellationToken cancellationToken)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned`; async `boxed_future`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    fn send_reply(
        &self,
        channel: i32,
        message: String,
        cancellation_token: libremetaverse_types::compat::CancellationToken,
    ) -> std::pin::Pin<Box<dyn std::future::Future<Output = Result<(), crate::Error>> + Send + '_>>;
    /// C# member: `M:LibreMetaverse.RLV.IRlvActionCallbacks.SetCamFOVAsync(System.Single,System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task LibreMetaverse.RLV.IRlvActionCallbacks.SetCamFOVAsync(System.Single fovInRadians, System.Threading.CancellationToken cancellationToken)`.
    /// Mapping contract: ownership `shared_self,owned,owned`; async `boxed_future`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    fn set_cam_fov(
        &self,
        fov_in_radians: f32,
        cancellation_token: libremetaverse_types::compat::CancellationToken,
    ) -> std::pin::Pin<Box<dyn std::future::Future<Output = Result<(), crate::Error>> + Send + '_>>;
    /// C# member: `M:LibreMetaverse.RLV.IRlvActionCallbacks.SetDebugAsync(System.String,System.String,System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task LibreMetaverse.RLV.IRlvActionCallbacks.SetDebugAsync(System.String settingName, System.String settingValue, System.Threading.CancellationToken cancellationToken)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned`; async `boxed_future`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    fn set_debug(
        &self,
        setting_name: String,
        setting_value: String,
        cancellation_token: libremetaverse_types::compat::CancellationToken,
    ) -> std::pin::Pin<Box<dyn std::future::Future<Output = Result<(), crate::Error>> + Send + '_>>;
    /// C# member: `M:LibreMetaverse.RLV.IRlvActionCallbacks.SetEnvAsync(System.String,System.String,System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task LibreMetaverse.RLV.IRlvActionCallbacks.SetEnvAsync(System.String settingName, System.String settingValue, System.Threading.CancellationToken cancellationToken)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned`; async `boxed_future`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    fn set_env(
        &self,
        setting_name: String,
        setting_value: String,
        cancellation_token: libremetaverse_types::compat::CancellationToken,
    ) -> std::pin::Pin<Box<dyn std::future::Future<Output = Result<(), crate::Error>> + Send + '_>>;
    /// C# member: `M:LibreMetaverse.RLV.IRlvActionCallbacks.SetGroupAsync(System.Guid,System.String,System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task LibreMetaverse.RLV.IRlvActionCallbacks.SetGroupAsync(System.Guid groupId, System.String roleName, System.Threading.CancellationToken cancellationToken)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned`; async `boxed_future`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    fn set_group_with_guid_string_cancellation_token(
        &self,
        group_id: libremetaverse_types::compat::Guid,
        role_name: Option<String>,
        cancellation_token: libremetaverse_types::compat::CancellationToken,
    ) -> std::pin::Pin<Box<dyn std::future::Future<Output = Result<(), crate::Error>> + Send + '_>>;
    /// C# member: `M:LibreMetaverse.RLV.IRlvActionCallbacks.SetGroupAsync(System.String,System.String,System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task LibreMetaverse.RLV.IRlvActionCallbacks.SetGroupAsync(System.String groupName, System.String roleName, System.Threading.CancellationToken cancellationToken)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned`; async `boxed_future`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    fn set_group_with_string_string_cancellation_token(
        &self,
        group_name: String,
        role_name: Option<String>,
        cancellation_token: libremetaverse_types::compat::CancellationToken,
    ) -> std::pin::Pin<Box<dyn std::future::Future<Output = Result<(), crate::Error>> + Send + '_>>;
    /// C# member: `M:LibreMetaverse.RLV.IRlvActionCallbacks.SetRotAsync(System.Single,System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task LibreMetaverse.RLV.IRlvActionCallbacks.SetRotAsync(System.Single angleInRadians, System.Threading.CancellationToken cancellationToken)`.
    /// Mapping contract: ownership `shared_self,owned,owned`; async `boxed_future`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    fn set_rot(
        &self,
        angle_in_radians: f32,
        cancellation_token: libremetaverse_types::compat::CancellationToken,
    ) -> std::pin::Pin<Box<dyn std::future::Future<Output = Result<(), crate::Error>> + Send + '_>>;
    /// C# member: `M:LibreMetaverse.RLV.IRlvActionCallbacks.SitAsync(System.Guid,System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task LibreMetaverse.RLV.IRlvActionCallbacks.SitAsync(System.Guid target, System.Threading.CancellationToken cancellationToken)`.
    /// Mapping contract: ownership `shared_self,owned,owned`; async `boxed_future`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    fn sit(
        &self,
        target: libremetaverse_types::compat::Guid,
        cancellation_token: libremetaverse_types::compat::CancellationToken,
    ) -> std::pin::Pin<Box<dyn std::future::Future<Output = Result<(), crate::Error>> + Send + '_>>;
    /// C# member: `M:LibreMetaverse.RLV.IRlvActionCallbacks.SitGroundAsync(System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task LibreMetaverse.RLV.IRlvActionCallbacks.SitGroundAsync(System.Threading.CancellationToken cancellationToken)`.
    /// Mapping contract: ownership `shared_self,owned`; async `boxed_future`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    fn sit_ground(
        &self,
        cancellation_token: libremetaverse_types::compat::CancellationToken,
    ) -> std::pin::Pin<Box<dyn std::future::Future<Output = Result<(), crate::Error>> + Send + '_>>;
    /// C# member: `M:LibreMetaverse.RLV.IRlvActionCallbacks.TpToAsync(System.Single,System.Single,System.Single,System.String,System.Nullable{System.Single},System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task LibreMetaverse.RLV.IRlvActionCallbacks.TpToAsync(System.Single x, System.Single y, System.Single z, System.String regionName, System.Nullable<System.Single> lookat, System.Threading.CancellationToken cancellationToken)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned,owned,owned,owned`; async `boxed_future`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    fn tp_to(
        &self,
        x: f32,
        y: f32,
        z: f32,
        region_name: Option<String>,
        lookat: Option<Option<f32>>,
        cancellation_token: libremetaverse_types::compat::CancellationToken,
    ) -> std::pin::Pin<Box<dyn std::future::Future<Output = Result<(), crate::Error>> + Send + '_>>;
    /// C# member: `M:LibreMetaverse.RLV.IRlvActionCallbacks.UnsitAsync(System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task LibreMetaverse.RLV.IRlvActionCallbacks.UnsitAsync(System.Threading.CancellationToken cancellationToken)`.
    /// Mapping contract: ownership `shared_self,owned`; async `boxed_future`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    fn unsit(
        &self,
        cancellation_token: libremetaverse_types::compat::CancellationToken,
    ) -> std::pin::Pin<Box<dyn std::future::Future<Output = Result<(), crate::Error>> + Send + '_>>;
}

/// C# type: `T:LibreMetaverse.RLV.IRlvQueryCallbacks`.
///
/// Native Rust mapping of C# `LibreMetaverse.RLV.IRlvQueryCallbacks` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
pub trait IRlvQueryCallbacks: Send + Sync {
    /// C# member: `M:LibreMetaverse.RLV.IRlvQueryCallbacks.IsSittingAsync(System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task<System.Boolean> LibreMetaverse.RLV.IRlvQueryCallbacks.IsSittingAsync(System.Threading.CancellationToken cancellationToken)`.
    /// Mapping contract: ownership `shared_self,owned`; async `boxed_future`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    fn is_sitting(
        &self,
        cancellation_token: libremetaverse_types::compat::CancellationToken,
    ) -> std::pin::Pin<Box<dyn std::future::Future<Output = Result<bool, crate::Error>> + Send + '_>>;
    /// C# member: `M:LibreMetaverse.RLV.IRlvQueryCallbacks.ObjectExistsAsync(System.Guid,System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task<System.Boolean> LibreMetaverse.RLV.IRlvQueryCallbacks.ObjectExistsAsync(System.Guid objectId, System.Threading.CancellationToken cancellationToken)`.
    /// Mapping contract: ownership `shared_self,owned,owned`; async `boxed_future`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    fn object_exists(
        &self,
        object_id: libremetaverse_types::compat::Guid,
        cancellation_token: libremetaverse_types::compat::CancellationToken,
    ) -> std::pin::Pin<Box<dyn std::future::Future<Output = Result<bool, crate::Error>> + Send + '_>>;
    /// C# member: `M:LibreMetaverse.RLV.IRlvQueryCallbacks.TryGetActiveGroupNameAsync(System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task<System.ValueTuple<System.Boolean, System.String>> LibreMetaverse.RLV.IRlvQueryCallbacks.TryGetActiveGroupNameAsync(System.Threading.CancellationToken cancellationToken)`.
    /// Mapping contract: ownership `shared_self,owned`; async `boxed_future`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    fn try_get_active_group_name(
        &self,
        cancellation_token: libremetaverse_types::compat::CancellationToken,
    ) -> std::pin::Pin<
        Box<dyn std::future::Future<Output = Result<(bool, String), crate::Error>> + Send + '_>,
    >;
    /// C# member: `M:LibreMetaverse.RLV.IRlvQueryCallbacks.TryGetCameraSettingsAsync(System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task<System.ValueTuple<System.Boolean, LibreMetaverse.RLV.CameraSettings>> LibreMetaverse.RLV.IRlvQueryCallbacks.TryGetCameraSettingsAsync(System.Threading.CancellationToken cancellationToken)`.
    /// Mapping contract: ownership `shared_self,owned`; async `boxed_future`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    fn try_get_camera_settings(
        &self,
        cancellation_token: libremetaverse_types::compat::CancellationToken,
    ) -> std::pin::Pin<
        Box<
            dyn std::future::Future<
                    Output = Result<
                        (bool, Option<libremetaverse_rlv::CameraSettings>),
                        crate::Error,
                    >,
                > + Send
                + '_,
        >,
    >;
    /// C# member: `M:LibreMetaverse.RLV.IRlvQueryCallbacks.TryGetDebugSettingValueAsync(System.String,System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task<System.ValueTuple<System.Boolean, System.String>> LibreMetaverse.RLV.IRlvQueryCallbacks.TryGetDebugSettingValueAsync(System.String settingName, System.Threading.CancellationToken cancellationToken)`.
    /// Mapping contract: ownership `shared_self,owned,owned`; async `boxed_future`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    fn try_get_debug_setting_value(
        &self,
        setting_name: String,
        cancellation_token: libremetaverse_types::compat::CancellationToken,
    ) -> std::pin::Pin<
        Box<dyn std::future::Future<Output = Result<(bool, String), crate::Error>> + Send + '_>,
    >;
    /// C# member: `M:LibreMetaverse.RLV.IRlvQueryCallbacks.TryGetEnvironmentSettingValueAsync(System.String,System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task<System.ValueTuple<System.Boolean, System.String>> LibreMetaverse.RLV.IRlvQueryCallbacks.TryGetEnvironmentSettingValueAsync(System.String settingName, System.Threading.CancellationToken cancellationToken)`.
    /// Mapping contract: ownership `shared_self,owned,owned`; async `boxed_future`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    fn try_get_environment_setting_value(
        &self,
        setting_name: String,
        cancellation_token: libremetaverse_types::compat::CancellationToken,
    ) -> std::pin::Pin<
        Box<dyn std::future::Future<Output = Result<(bool, String), crate::Error>> + Send + '_>,
    >;
    /// C# member: `M:LibreMetaverse.RLV.IRlvQueryCallbacks.TryGetInventoryMapAsync(System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task<System.ValueTuple<System.Boolean, LibreMetaverse.RLV.InventoryMap>> LibreMetaverse.RLV.IRlvQueryCallbacks.TryGetInventoryMapAsync(System.Threading.CancellationToken cancellationToken)`.
    /// Mapping contract: ownership `shared_self,owned`; async `boxed_future`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    fn try_get_inventory_map(
        &self,
        cancellation_token: libremetaverse_types::compat::CancellationToken,
    ) -> std::pin::Pin<
        Box<
            dyn std::future::Future<
                    Output = Result<(bool, Option<libremetaverse_rlv::InventoryMap>), crate::Error>,
                > + Send
                + '_,
        >,
    >;
    /// C# member: `M:LibreMetaverse.RLV.IRlvQueryCallbacks.TryGetSitIdAsync(System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task<System.ValueTuple<System.Boolean, System.Guid>> LibreMetaverse.RLV.IRlvQueryCallbacks.TryGetSitIdAsync(System.Threading.CancellationToken cancellationToken)`.
    /// Mapping contract: ownership `shared_self,owned`; async `boxed_future`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    fn try_get_sit_id(
        &self,
        cancellation_token: libremetaverse_types::compat::CancellationToken,
    ) -> std::pin::Pin<
        Box<
            dyn std::future::Future<
                    Output = Result<(bool, libremetaverse_types::compat::Guid), crate::Error>,
                > + Send
                + '_,
        >,
    >;
}

/// C# type: `T:LibreMetaverse.RLV.InventoryMap`.
///
/// Native Rust mapping of C# `LibreMetaverse.RLV.InventoryMap` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
pub use crate::state::InventoryMap;
impl InventoryMap {
    /// C# member: `M:LibreMetaverse.RLV.InventoryMap.#ctor(LibreMetaverse.RLV.RlvSharedFolder,System.Collections.Generic.IReadOnlyCollection{LibreMetaverse.RLV.RlvInventoryItem})`.
    ///
    /// C# signature: `LibreMetaverse.RLV.InventoryMap(LibreMetaverse.RLV.RlvSharedFolder root, System.Collections.Generic.IReadOnlyCollection<LibreMetaverse.RLV.RlvInventoryItem> externalItems)`.
    /// Mapping contract: ownership `owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn new(
        root: libremetaverse_rlv::RlvSharedFolder,
        external_items: Vec<libremetaverse_rlv::RlvInventoryItem>,
    ) -> Result<Self, crate::Error> {
        /* reviewed native compatibility body */
        Self::native_new(root, external_items)
    }
    /// C# member: `M:LibreMetaverse.RLV.InventoryMap.FindFoldersContaining(System.Boolean,System.Nullable{System.Guid},System.Nullable{LibreMetaverse.RLV.RlvAttachmentPoint},System.Nullable{LibreMetaverse.RLV.RlvWearableType})`.
    ///
    /// C# signature: `System.Collections.Generic.IEnumerable<LibreMetaverse.RLV.RlvSharedFolder> LibreMetaverse.RLV.InventoryMap.FindFoldersContaining(System.Boolean limitToOneResult, System.Nullable<System.Guid> attachedPrimId, System.Nullable<LibreMetaverse.RLV.RlvAttachmentPoint> attachmentPoint, System.Nullable<LibreMetaverse.RLV.RlvWearableType> wearableType)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn find_folders_containing(
        &self,
        limit_to_one_result: bool,
        attached_prim_id: Option<Option<libremetaverse_types::compat::Guid>>,
        attachment_point: Option<Option<libremetaverse_rlv::RlvAttachmentPoint>>,
        wearable_type: Option<Option<libremetaverse_rlv::RlvWearableType>>,
    ) -> Result<Box<dyn Iterator<Item = libremetaverse_rlv::RlvSharedFolder>>, crate::Error> {
        /* reviewed native compatibility body */
        self.native_find_folders_containing(
            limit_to_one_result,
            attached_prim_id,
            attachment_point,
            wearable_type,
        )
    }
    /// C# member: `M:LibreMetaverse.RLV.InventoryMap.GetItemsByAttachmentPoint(LibreMetaverse.RLV.RlvAttachmentPoint)`.
    ///
    /// C# signature: `System.Collections.Generic.IReadOnlyList<LibreMetaverse.RLV.RlvInventoryItem> LibreMetaverse.RLV.InventoryMap.GetItemsByAttachmentPoint(LibreMetaverse.RLV.RlvAttachmentPoint attachmentPoint)`.
    /// Mapping contract: ownership `shared_self,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn get_items_by_attachment_point(
        &self,
        attachment_point: libremetaverse_rlv::RlvAttachmentPoint,
    ) -> Result<Vec<libremetaverse_rlv::RlvInventoryItem>, crate::Error> {
        /* reviewed native compatibility body */
        self.native_get_items_by_attachment_point(attachment_point)
    }
    /// C# member: `M:LibreMetaverse.RLV.InventoryMap.GetItemsById(System.Guid)`.
    ///
    /// C# signature: `System.Collections.Generic.IReadOnlyList<LibreMetaverse.RLV.RlvInventoryItem> LibreMetaverse.RLV.InventoryMap.GetItemsById(System.Guid itemId)`.
    /// Mapping contract: ownership `shared_self,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn get_items_by_id(
        &self,
        item_id: libremetaverse_types::compat::Guid,
    ) -> Result<Vec<libremetaverse_rlv::RlvInventoryItem>, crate::Error> {
        /* reviewed native compatibility body */
        self.native_get_items_by_id(item_id)
    }
    /// C# member: `M:LibreMetaverse.RLV.InventoryMap.GetItemsByPrimId(System.Guid)`.
    ///
    /// C# signature: `System.Collections.Generic.IReadOnlyList<LibreMetaverse.RLV.RlvInventoryItem> LibreMetaverse.RLV.InventoryMap.GetItemsByPrimId(System.Guid primId)`.
    /// Mapping contract: ownership `shared_self,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn get_items_by_prim_id(
        &self,
        prim_id: libremetaverse_types::compat::Guid,
    ) -> Result<Vec<libremetaverse_rlv::RlvInventoryItem>, crate::Error> {
        /* reviewed native compatibility body */
        self.native_get_items_by_prim_id(prim_id)
    }
    /// C# member: `M:LibreMetaverse.RLV.InventoryMap.GetItemsByWearableType(LibreMetaverse.RLV.RlvWearableType)`.
    ///
    /// C# signature: `System.Collections.Generic.IReadOnlyList<LibreMetaverse.RLV.RlvInventoryItem> LibreMetaverse.RLV.InventoryMap.GetItemsByWearableType(LibreMetaverse.RLV.RlvWearableType wearableType)`.
    /// Mapping contract: ownership `shared_self,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn get_items_by_wearable_type(
        &self,
        wearable_type: libremetaverse_rlv::RlvWearableType,
    ) -> Result<Vec<libremetaverse_rlv::RlvInventoryItem>, crate::Error> {
        /* reviewed native compatibility body */
        self.native_get_items_by_wearable_type(wearable_type)
    }
    /// C# member: `M:LibreMetaverse.RLV.InventoryMap.TryBuildPathToFolder(System.Guid,System.String@)`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.RLV.InventoryMap.TryBuildPathToFolder(System.Guid folderId, out System.String& finalPath)`.
    /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
    pub fn try_build_path_to_folder(
        &self,
        folder_id: libremetaverse_types::compat::Guid,
        final_path: &mut Option<String>,
    ) -> bool {
        /* reviewed native compatibility body */
        self.native_try_build_path_to_folder(folder_id, final_path)
    }
    /// C# member: `M:LibreMetaverse.RLV.InventoryMap.TryGetFolderFromPath(System.String,System.Boolean,LibreMetaverse.RLV.RlvSharedFolder@)`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.RLV.InventoryMap.TryGetFolderFromPath(System.String path, System.Boolean skipPrivateFolders, out LibreMetaverse.RLV.RlvSharedFolder& folder)`.
    /// Mapping contract: ownership `shared_self,owned,owned,mutable_output`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
    pub fn try_get_folder_from_path(
        &self,
        path: String,
        skip_private_folders: bool,
        folder: &mut Option<libremetaverse_rlv::RlvSharedFolder>,
    ) -> bool {
        /* reviewed native compatibility body */
        self.native_try_get_folder_from_path(path, skip_private_folders, folder)
    }
    /// C# member: `P:LibreMetaverse.RLV.InventoryMap.ExternalItems`.
    ///
    /// C# signature: `System.Collections.Immutable.ImmutableDictionary<System.Guid, LibreMetaverse.RLV.RlvInventoryItem> LibreMetaverse.RLV.InventoryMap.ExternalItems`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn external_items(
        &self,
    ) -> libremetaverse_types::compat::ImmutableDictionary<
        libremetaverse_types::compat::Guid,
        libremetaverse_rlv::RlvInventoryItem,
    > {
        /* reviewed native compatibility body */
        self.native_external_items()
    }
    /// C# member: `P:LibreMetaverse.RLV.InventoryMap.Folders`.
    ///
    /// C# signature: `System.Collections.Immutable.ImmutableDictionary<System.Guid, LibreMetaverse.RLV.RlvSharedFolder> LibreMetaverse.RLV.InventoryMap.Folders`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn folders(
        &self,
    ) -> libremetaverse_types::compat::ImmutableDictionary<
        libremetaverse_types::compat::Guid,
        libremetaverse_rlv::RlvSharedFolder,
    > {
        /* reviewed native compatibility body */
        self.native_folders()
    }
    /// C# member: `P:LibreMetaverse.RLV.InventoryMap.Items`.
    ///
    /// C# signature: `System.Collections.Immutable.ImmutableDictionary<System.Guid, System.Collections.Immutable.ImmutableList<LibreMetaverse.RLV.RlvInventoryItem>> LibreMetaverse.RLV.InventoryMap.Items`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn items(
        &self,
    ) -> libremetaverse_types::compat::ImmutableDictionary<
        libremetaverse_types::compat::Guid,
        libremetaverse_types::compat::ImmutableList<libremetaverse_rlv::RlvInventoryItem>,
    > {
        /* reviewed native compatibility body */
        self.native_items()
    }
    /// C# member: `P:LibreMetaverse.RLV.InventoryMap.Root`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvSharedFolder LibreMetaverse.RLV.InventoryMap.Root`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn root(&self) -> libremetaverse_rlv::RlvSharedFolder {
        /* reviewed native compatibility body */
        self.native_root()
    }
}

/// C# type: `T:LibreMetaverse.RLV.LockedFolderPublic`.
///
/// Native Rust mapping of C# `LibreMetaverse.RLV.LockedFolderPublic` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
pub use crate::state::LockedFolderPublic;
impl LockedFolderPublic {
    /// C# member: `M:LibreMetaverse.RLV.LockedFolderPublic.ToString`.
    ///
    /// C# signature: `System.String LibreMetaverse.RLV.LockedFolderPublic.ToString()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
    pub fn to_string(&self) -> String {
        /* reviewed native compatibility body */
        self.native_to_string()
    }
    /// C# member: `P:LibreMetaverse.RLV.LockedFolderPublic.AttachExceptions`.
    ///
    /// C# signature: `System.Collections.Generic.IReadOnlyList<LibreMetaverse.RLV.RlvRestriction> LibreMetaverse.RLV.LockedFolderPublic.AttachExceptions`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn attach_exceptions(&self) -> Vec<libremetaverse_rlv::RlvRestriction> {
        /* reviewed native compatibility body */
        self.native_attach_exceptions()
    }
    /// C# member: `P:LibreMetaverse.RLV.LockedFolderPublic.AttachRestrictions`.
    ///
    /// C# signature: `System.Collections.Generic.IReadOnlyList<LibreMetaverse.RLV.RlvRestriction> LibreMetaverse.RLV.LockedFolderPublic.AttachRestrictions`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn attach_restrictions(&self) -> Vec<libremetaverse_rlv::RlvRestriction> {
        /* reviewed native compatibility body */
        self.native_attach_restrictions()
    }
    /// C# member: `P:LibreMetaverse.RLV.LockedFolderPublic.CanAttach`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.RLV.LockedFolderPublic.CanAttach`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn can_attach(&self) -> bool {
        /* reviewed native compatibility body */
        self.native_can_attach()
    }
    /// C# member: `P:LibreMetaverse.RLV.LockedFolderPublic.CanDetach`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.RLV.LockedFolderPublic.CanDetach`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn can_detach(&self) -> bool {
        /* reviewed native compatibility body */
        self.native_can_detach()
    }
    /// C# member: `P:LibreMetaverse.RLV.LockedFolderPublic.DetachExceptions`.
    ///
    /// C# signature: `System.Collections.Generic.IReadOnlyList<LibreMetaverse.RLV.RlvRestriction> LibreMetaverse.RLV.LockedFolderPublic.DetachExceptions`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn detach_exceptions(&self) -> Vec<libremetaverse_rlv::RlvRestriction> {
        /* reviewed native compatibility body */
        self.native_detach_exceptions()
    }
    /// C# member: `P:LibreMetaverse.RLV.LockedFolderPublic.DetachRestrictions`.
    ///
    /// C# signature: `System.Collections.Generic.IReadOnlyList<LibreMetaverse.RLV.RlvRestriction> LibreMetaverse.RLV.LockedFolderPublic.DetachRestrictions`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn detach_restrictions(&self) -> Vec<libremetaverse_rlv::RlvRestriction> {
        /* reviewed native compatibility body */
        self.native_detach_restrictions()
    }
    /// C# member: `P:LibreMetaverse.RLV.LockedFolderPublic.Id`.
    ///
    /// C# signature: `System.Guid LibreMetaverse.RLV.LockedFolderPublic.Id`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn id(&self) -> libremetaverse_types::compat::Guid {
        /* reviewed native compatibility body */
        self.native_id()
    }
    /// C# member: `P:LibreMetaverse.RLV.LockedFolderPublic.IsLocked`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.RLV.LockedFolderPublic.IsLocked`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn is_locked(&self) -> bool {
        /* reviewed native compatibility body */
        self.native_is_locked()
    }
    /// C# member: `P:LibreMetaverse.RLV.LockedFolderPublic.Name`.
    ///
    /// C# signature: `System.String LibreMetaverse.RLV.LockedFolderPublic.Name`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn name(&self) -> String {
        /* reviewed native compatibility body */
        self.native_name()
    }
}

/// C# type: `T:LibreMetaverse.RLV.RlvActionCallbacksDefault`.
///
/// Native Rust mapping of C# `LibreMetaverse.RLV.RlvActionCallbacksDefault` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.RLV.RlvActionCallbacksDefault.#ctor`.
///
/// C# signature: `LibreMetaverse.RLV.RlvActionCallbacksDefault()`.
/// Mapping contract: ownership `none`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.RLV.RlvActionCallbacksDefault.AdjustHeightAsync(System.Single,System.Single,System.Single,System.Threading.CancellationToken)`.
///
/// C# signature: `System.Threading.Tasks.Task LibreMetaverse.RLV.RlvActionCallbacksDefault.AdjustHeightAsync(System.Single distance, System.Single factor, System.Single delta, System.Threading.CancellationToken cancellationToken)`.
/// Mapping contract: ownership `shared_self,owned,owned,owned,owned`; async `async`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.RLV.RlvActionCallbacksDefault.AttachAsync(System.Collections.Generic.IReadOnlyList{LibreMetaverse.RLV.AttachmentRequest},System.Threading.CancellationToken)`.
///
/// C# signature: `System.Threading.Tasks.Task LibreMetaverse.RLV.RlvActionCallbacksDefault.AttachAsync(System.Collections.Generic.IReadOnlyList<LibreMetaverse.RLV.AttachmentRequest> itemsToAttach, System.Threading.CancellationToken cancellationToken)`.
/// Mapping contract: ownership `shared_self,owned,owned`; async `async`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.RLV.RlvActionCallbacksDefault.DetachAsync(System.Collections.Generic.IReadOnlyList{System.Guid},System.Threading.CancellationToken)`.
///
/// C# signature: `System.Threading.Tasks.Task LibreMetaverse.RLV.RlvActionCallbacksDefault.DetachAsync(System.Collections.Generic.IReadOnlyList<System.Guid> itemIds, System.Threading.CancellationToken cancellationToken)`.
/// Mapping contract: ownership `shared_self,owned,owned`; async `async`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.RLV.RlvActionCallbacksDefault.RemOutfitAsync(System.Collections.Generic.IReadOnlyList{System.Guid},System.Threading.CancellationToken)`.
///
/// C# signature: `System.Threading.Tasks.Task LibreMetaverse.RLV.RlvActionCallbacksDefault.RemOutfitAsync(System.Collections.Generic.IReadOnlyList<System.Guid> itemIds, System.Threading.CancellationToken cancellationToken)`.
/// Mapping contract: ownership `shared_self,owned,owned`; async `async`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.RLV.RlvActionCallbacksDefault.SendInstantMessageAsync(System.Guid,System.String,System.Threading.CancellationToken)`.
///
/// C# signature: `System.Threading.Tasks.Task LibreMetaverse.RLV.RlvActionCallbacksDefault.SendInstantMessageAsync(System.Guid targetUser, System.String message, System.Threading.CancellationToken cancellationToken)`.
/// Mapping contract: ownership `shared_self,owned,owned,owned`; async `async`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.RLV.RlvActionCallbacksDefault.SendReplyAsync(System.Int32,System.String,System.Threading.CancellationToken)`.
///
/// C# signature: `System.Threading.Tasks.Task LibreMetaverse.RLV.RlvActionCallbacksDefault.SendReplyAsync(System.Int32 channel, System.String message, System.Threading.CancellationToken cancellationToken)`.
/// Mapping contract: ownership `shared_self,owned,owned,owned`; async `async`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.RLV.RlvActionCallbacksDefault.SetCamFOVAsync(System.Single,System.Threading.CancellationToken)`.
///
/// C# signature: `System.Threading.Tasks.Task LibreMetaverse.RLV.RlvActionCallbacksDefault.SetCamFOVAsync(System.Single fovInRadians, System.Threading.CancellationToken cancellationToken)`.
/// Mapping contract: ownership `shared_self,owned,owned`; async `async`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.RLV.RlvActionCallbacksDefault.SetDebugAsync(System.String,System.String,System.Threading.CancellationToken)`.
///
/// C# signature: `System.Threading.Tasks.Task LibreMetaverse.RLV.RlvActionCallbacksDefault.SetDebugAsync(System.String settingName, System.String settingValue, System.Threading.CancellationToken cancellationToken)`.
/// Mapping contract: ownership `shared_self,owned,owned,owned`; async `async`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.RLV.RlvActionCallbacksDefault.SetEnvAsync(System.String,System.String,System.Threading.CancellationToken)`.
///
/// C# signature: `System.Threading.Tasks.Task LibreMetaverse.RLV.RlvActionCallbacksDefault.SetEnvAsync(System.String settingName, System.String settingValue, System.Threading.CancellationToken cancellationToken)`.
/// Mapping contract: ownership `shared_self,owned,owned,owned`; async `async`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.RLV.RlvActionCallbacksDefault.SetGroupAsync(System.Guid,System.String,System.Threading.CancellationToken)`.
///
/// C# signature: `System.Threading.Tasks.Task LibreMetaverse.RLV.RlvActionCallbacksDefault.SetGroupAsync(System.Guid groupId, System.String roleName, System.Threading.CancellationToken cancellationToken)`.
/// Mapping contract: ownership `shared_self,owned,owned,owned`; async `async`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.RLV.RlvActionCallbacksDefault.SetGroupAsync(System.String,System.String,System.Threading.CancellationToken)`.
///
/// C# signature: `System.Threading.Tasks.Task LibreMetaverse.RLV.RlvActionCallbacksDefault.SetGroupAsync(System.String groupName, System.String roleName, System.Threading.CancellationToken cancellationToken)`.
/// Mapping contract: ownership `shared_self,owned,owned,owned`; async `async`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.RLV.RlvActionCallbacksDefault.SetRotAsync(System.Single,System.Threading.CancellationToken)`.
///
/// C# signature: `System.Threading.Tasks.Task LibreMetaverse.RLV.RlvActionCallbacksDefault.SetRotAsync(System.Single angleInRadians, System.Threading.CancellationToken cancellationToken)`.
/// Mapping contract: ownership `shared_self,owned,owned`; async `async`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.RLV.RlvActionCallbacksDefault.SitAsync(System.Guid,System.Threading.CancellationToken)`.
///
/// C# signature: `System.Threading.Tasks.Task LibreMetaverse.RLV.RlvActionCallbacksDefault.SitAsync(System.Guid target, System.Threading.CancellationToken cancellationToken)`.
/// Mapping contract: ownership `shared_self,owned,owned`; async `async`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.RLV.RlvActionCallbacksDefault.SitGroundAsync(System.Threading.CancellationToken)`.
///
/// C# signature: `System.Threading.Tasks.Task LibreMetaverse.RLV.RlvActionCallbacksDefault.SitGroundAsync(System.Threading.CancellationToken cancellationToken)`.
/// Mapping contract: ownership `shared_self,owned`; async `async`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.RLV.RlvActionCallbacksDefault.TpToAsync(System.Single,System.Single,System.Single,System.String,System.Nullable{System.Single},System.Threading.CancellationToken)`.
///
/// C# signature: `System.Threading.Tasks.Task LibreMetaverse.RLV.RlvActionCallbacksDefault.TpToAsync(System.Single x, System.Single y, System.Single z, System.String regionName, System.Nullable<System.Single> lookat, System.Threading.CancellationToken cancellationToken)`.
/// Mapping contract: ownership `shared_self,owned,owned,owned,owned,owned,owned`; async `async`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.RLV.RlvActionCallbacksDefault.UnsitAsync(System.Threading.CancellationToken)`.
///
/// C# signature: `System.Threading.Tasks.Task LibreMetaverse.RLV.RlvActionCallbacksDefault.UnsitAsync(System.Threading.CancellationToken cancellationToken)`.
/// Mapping contract: ownership `shared_self,owned`; async `async`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
pub use crate::service::RlvActionCallbacksDefault;

/// C# type: `T:LibreMetaverse.RLV.RlvAttachmentPoint`.
///
/// Native Rust mapping of C# `LibreMetaverse.RLV.RlvAttachmentPoint` 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 RlvAttachmentPoint {
    /// C# member: `F:LibreMetaverse.RLV.RlvAttachmentPoint.AltLeftEar`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvAttachmentPoint LibreMetaverse.RLV.RlvAttachmentPoint.AltLeftEar`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    AltLeftEar = 48,
    /// C# member: `F:LibreMetaverse.RLV.RlvAttachmentPoint.AltLeftEye`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvAttachmentPoint LibreMetaverse.RLV.RlvAttachmentPoint.AltLeftEye`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    AltLeftEye = 50,
    /// C# member: `F:LibreMetaverse.RLV.RlvAttachmentPoint.AltRightEar`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvAttachmentPoint LibreMetaverse.RLV.RlvAttachmentPoint.AltRightEar`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    AltRightEar = 49,
    /// C# member: `F:LibreMetaverse.RLV.RlvAttachmentPoint.AltRightEye`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvAttachmentPoint LibreMetaverse.RLV.RlvAttachmentPoint.AltRightEye`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    AltRightEye = 51,
    /// C# member: `F:LibreMetaverse.RLV.RlvAttachmentPoint.AvatarCenter`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvAttachmentPoint LibreMetaverse.RLV.RlvAttachmentPoint.AvatarCenter`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    AvatarCenter = 40,
    /// C# member: `F:LibreMetaverse.RLV.RlvAttachmentPoint.Chest`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvAttachmentPoint LibreMetaverse.RLV.RlvAttachmentPoint.Chest`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Chest = 1,
    /// C# member: `F:LibreMetaverse.RLV.RlvAttachmentPoint.Chin`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvAttachmentPoint LibreMetaverse.RLV.RlvAttachmentPoint.Chin`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Chin = 12,
    /// C# member: `F:LibreMetaverse.RLV.RlvAttachmentPoint.Default`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvAttachmentPoint LibreMetaverse.RLV.RlvAttachmentPoint.Default`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Default = 0,
    /// C# member: `F:LibreMetaverse.RLV.RlvAttachmentPoint.Groin`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvAttachmentPoint LibreMetaverse.RLV.RlvAttachmentPoint.Groin`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Groin = 53,
    /// C# member: `F:LibreMetaverse.RLV.RlvAttachmentPoint.HUDBottom`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvAttachmentPoint LibreMetaverse.RLV.RlvAttachmentPoint.HUDBottom`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    HUDBottom = 37,
    /// C# member: `F:LibreMetaverse.RLV.RlvAttachmentPoint.HUDBottomLeft`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvAttachmentPoint LibreMetaverse.RLV.RlvAttachmentPoint.HUDBottomLeft`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    HUDBottomLeft = 36,
    /// C# member: `F:LibreMetaverse.RLV.RlvAttachmentPoint.HUDBottomRight`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvAttachmentPoint LibreMetaverse.RLV.RlvAttachmentPoint.HUDBottomRight`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    HUDBottomRight = 38,
    /// C# member: `F:LibreMetaverse.RLV.RlvAttachmentPoint.HUDCenter`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvAttachmentPoint LibreMetaverse.RLV.RlvAttachmentPoint.HUDCenter`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    HUDCenter = 35,
    /// C# member: `F:LibreMetaverse.RLV.RlvAttachmentPoint.HUDCenter2`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvAttachmentPoint LibreMetaverse.RLV.RlvAttachmentPoint.HUDCenter2`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    HUDCenter2 = 31,
    /// C# member: `F:LibreMetaverse.RLV.RlvAttachmentPoint.HUDTop`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvAttachmentPoint LibreMetaverse.RLV.RlvAttachmentPoint.HUDTop`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    HUDTop = 33,
    /// C# member: `F:LibreMetaverse.RLV.RlvAttachmentPoint.HUDTopLeft`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvAttachmentPoint LibreMetaverse.RLV.RlvAttachmentPoint.HUDTopLeft`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    HUDTopLeft = 34,
    /// C# member: `F:LibreMetaverse.RLV.RlvAttachmentPoint.HUDTopRight`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvAttachmentPoint LibreMetaverse.RLV.RlvAttachmentPoint.HUDTopRight`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    HUDTopRight = 32,
    /// C# member: `F:LibreMetaverse.RLV.RlvAttachmentPoint.Jaw`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvAttachmentPoint LibreMetaverse.RLV.RlvAttachmentPoint.Jaw`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Jaw = 47,
    /// C# member: `F:LibreMetaverse.RLV.RlvAttachmentPoint.LeftEar`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvAttachmentPoint LibreMetaverse.RLV.RlvAttachmentPoint.LeftEar`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    LeftEar = 13,
    /// C# member: `F:LibreMetaverse.RLV.RlvAttachmentPoint.LeftEyeball`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvAttachmentPoint LibreMetaverse.RLV.RlvAttachmentPoint.LeftEyeball`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    LeftEyeball = 15,
    /// C# member: `F:LibreMetaverse.RLV.RlvAttachmentPoint.LeftFoot`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvAttachmentPoint LibreMetaverse.RLV.RlvAttachmentPoint.LeftFoot`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    LeftFoot = 7,
    /// C# member: `F:LibreMetaverse.RLV.RlvAttachmentPoint.LeftForearm`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvAttachmentPoint LibreMetaverse.RLV.RlvAttachmentPoint.LeftForearm`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    LeftForearm = 21,
    /// C# member: `F:LibreMetaverse.RLV.RlvAttachmentPoint.LeftHand`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvAttachmentPoint LibreMetaverse.RLV.RlvAttachmentPoint.LeftHand`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    LeftHand = 5,
    /// C# member: `F:LibreMetaverse.RLV.RlvAttachmentPoint.LeftHandRing`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvAttachmentPoint LibreMetaverse.RLV.RlvAttachmentPoint.LeftHandRing`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    LeftHandRing = 41,
    /// C# member: `F:LibreMetaverse.RLV.RlvAttachmentPoint.LeftHindFoot`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvAttachmentPoint LibreMetaverse.RLV.RlvAttachmentPoint.LeftHindFoot`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    LeftHindFoot = 54,
    /// C# member: `F:LibreMetaverse.RLV.RlvAttachmentPoint.LeftHip`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvAttachmentPoint LibreMetaverse.RLV.RlvAttachmentPoint.LeftHip`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    LeftHip = 25,
    /// C# member: `F:LibreMetaverse.RLV.RlvAttachmentPoint.LeftLowerLeg`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvAttachmentPoint LibreMetaverse.RLV.RlvAttachmentPoint.LeftLowerLeg`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    LeftLowerLeg = 27,
    /// C# member: `F:LibreMetaverse.RLV.RlvAttachmentPoint.LeftPec`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvAttachmentPoint LibreMetaverse.RLV.RlvAttachmentPoint.LeftPec`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    LeftPec = 29,
    /// C# member: `F:LibreMetaverse.RLV.RlvAttachmentPoint.LeftShoulder`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvAttachmentPoint LibreMetaverse.RLV.RlvAttachmentPoint.LeftShoulder`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    LeftShoulder = 3,
    /// C# member: `F:LibreMetaverse.RLV.RlvAttachmentPoint.LeftUpperArm`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvAttachmentPoint LibreMetaverse.RLV.RlvAttachmentPoint.LeftUpperArm`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    LeftUpperArm = 20,
    /// C# member: `F:LibreMetaverse.RLV.RlvAttachmentPoint.LeftUpperLeg`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvAttachmentPoint LibreMetaverse.RLV.RlvAttachmentPoint.LeftUpperLeg`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    LeftUpperLeg = 26,
    /// C# member: `F:LibreMetaverse.RLV.RlvAttachmentPoint.LeftWing`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvAttachmentPoint LibreMetaverse.RLV.RlvAttachmentPoint.LeftWing`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    LeftWing = 45,
    /// C# member: `F:LibreMetaverse.RLV.RlvAttachmentPoint.Mouth`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvAttachmentPoint LibreMetaverse.RLV.RlvAttachmentPoint.Mouth`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Mouth = 11,
    /// C# member: `F:LibreMetaverse.RLV.RlvAttachmentPoint.Neck`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvAttachmentPoint LibreMetaverse.RLV.RlvAttachmentPoint.Neck`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Neck = 39,
    /// C# member: `F:LibreMetaverse.RLV.RlvAttachmentPoint.Nose`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvAttachmentPoint LibreMetaverse.RLV.RlvAttachmentPoint.Nose`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Nose = 17,
    /// C# member: `F:LibreMetaverse.RLV.RlvAttachmentPoint.Pelvis`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvAttachmentPoint LibreMetaverse.RLV.RlvAttachmentPoint.Pelvis`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Pelvis = 10,
    /// C# member: `F:LibreMetaverse.RLV.RlvAttachmentPoint.RightEar`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvAttachmentPoint LibreMetaverse.RLV.RlvAttachmentPoint.RightEar`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    RightEar = 14,
    /// C# member: `F:LibreMetaverse.RLV.RlvAttachmentPoint.RightEyeball`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvAttachmentPoint LibreMetaverse.RLV.RlvAttachmentPoint.RightEyeball`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    RightEyeball = 16,
    /// C# member: `F:LibreMetaverse.RLV.RlvAttachmentPoint.RightFoot`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvAttachmentPoint LibreMetaverse.RLV.RlvAttachmentPoint.RightFoot`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    RightFoot = 8,
    /// C# member: `F:LibreMetaverse.RLV.RlvAttachmentPoint.RightForearm`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvAttachmentPoint LibreMetaverse.RLV.RlvAttachmentPoint.RightForearm`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    RightForearm = 19,
    /// C# member: `F:LibreMetaverse.RLV.RlvAttachmentPoint.RightHand`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvAttachmentPoint LibreMetaverse.RLV.RlvAttachmentPoint.RightHand`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    RightHand = 6,
    /// C# member: `F:LibreMetaverse.RLV.RlvAttachmentPoint.RightHandRing`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvAttachmentPoint LibreMetaverse.RLV.RlvAttachmentPoint.RightHandRing`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    RightHandRing = 42,
    /// C# member: `F:LibreMetaverse.RLV.RlvAttachmentPoint.RightHindFoot`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvAttachmentPoint LibreMetaverse.RLV.RlvAttachmentPoint.RightHindFoot`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    RightHindFoot = 55,
    /// C# member: `F:LibreMetaverse.RLV.RlvAttachmentPoint.RightHip`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvAttachmentPoint LibreMetaverse.RLV.RlvAttachmentPoint.RightHip`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    RightHip = 22,
    /// C# member: `F:LibreMetaverse.RLV.RlvAttachmentPoint.RightLowerLeg`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvAttachmentPoint LibreMetaverse.RLV.RlvAttachmentPoint.RightLowerLeg`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    RightLowerLeg = 24,
    /// C# member: `F:LibreMetaverse.RLV.RlvAttachmentPoint.RightPec`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvAttachmentPoint LibreMetaverse.RLV.RlvAttachmentPoint.RightPec`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    RightPec = 30,
    /// C# member: `F:LibreMetaverse.RLV.RlvAttachmentPoint.RightShoulder`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvAttachmentPoint LibreMetaverse.RLV.RlvAttachmentPoint.RightShoulder`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    RightShoulder = 4,
    /// C# member: `F:LibreMetaverse.RLV.RlvAttachmentPoint.RightUpperArm`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvAttachmentPoint LibreMetaverse.RLV.RlvAttachmentPoint.RightUpperArm`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    RightUpperArm = 18,
    /// C# member: `F:LibreMetaverse.RLV.RlvAttachmentPoint.RightUpperLeg`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvAttachmentPoint LibreMetaverse.RLV.RlvAttachmentPoint.RightUpperLeg`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    RightUpperLeg = 23,
    /// C# member: `F:LibreMetaverse.RLV.RlvAttachmentPoint.RightWing`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvAttachmentPoint LibreMetaverse.RLV.RlvAttachmentPoint.RightWing`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    RightWing = 46,
    /// C# member: `F:LibreMetaverse.RLV.RlvAttachmentPoint.Skull`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvAttachmentPoint LibreMetaverse.RLV.RlvAttachmentPoint.Skull`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Skull = 2,
    /// C# member: `F:LibreMetaverse.RLV.RlvAttachmentPoint.Spine`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvAttachmentPoint LibreMetaverse.RLV.RlvAttachmentPoint.Spine`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Spine = 9,
    /// C# member: `F:LibreMetaverse.RLV.RlvAttachmentPoint.Stomach`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvAttachmentPoint LibreMetaverse.RLV.RlvAttachmentPoint.Stomach`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Stomach = 28,
    /// C# member: `F:LibreMetaverse.RLV.RlvAttachmentPoint.TailBase`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvAttachmentPoint LibreMetaverse.RLV.RlvAttachmentPoint.TailBase`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    TailBase = 43,
    /// C# member: `F:LibreMetaverse.RLV.RlvAttachmentPoint.TailTip`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvAttachmentPoint LibreMetaverse.RLV.RlvAttachmentPoint.TailTip`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    TailTip = 44,
    /// C# member: `F:LibreMetaverse.RLV.RlvAttachmentPoint.Tongue`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvAttachmentPoint LibreMetaverse.RLV.RlvAttachmentPoint.Tongue`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Tongue = 52,
}

/// C# type: `T:LibreMetaverse.RLV.RlvBlacklist`.
///
/// Native Rust mapping of C# `LibreMetaverse.RLV.RlvBlacklist` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
pub use crate::state::RlvBlacklist;
impl RlvBlacklist {
    /// C# member: `M:LibreMetaverse.RLV.RlvBlacklist.BlacklistBehavior(System.String)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.RLV.RlvBlacklist.BlacklistBehavior(System.String behavior)`.
    /// Mapping contract: ownership `shared_self,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn blacklist_behavior(&self, behavior: String) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_blacklist_behavior(behavior)
    }
    /// C# member: `M:LibreMetaverse.RLV.RlvBlacklist.GetBlacklist`.
    ///
    /// C# signature: `System.Collections.Generic.IReadOnlyCollection<System.String> LibreMetaverse.RLV.RlvBlacklist.GetBlacklist()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn get_blacklist(&self) -> Result<Vec<String>, crate::Error> {
        /* reviewed native compatibility body */
        self.native_get_blacklist()
    }
    /// C# member: `M:LibreMetaverse.RLV.RlvBlacklist.IsBlacklisted(System.String)`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.RLV.RlvBlacklist.IsBlacklisted(System.String behavior)`.
    /// Mapping contract: ownership `shared_self,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn is_blacklisted(&self, behavior: String) -> Result<bool, crate::Error> {
        /* reviewed native compatibility body */
        self.native_is_blacklisted(behavior)
    }
    /// C# member: `M:LibreMetaverse.RLV.RlvBlacklist.UnBlacklistBehavior(System.String)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.RLV.RlvBlacklist.UnBlacklistBehavior(System.String behavior)`.
    /// Mapping contract: ownership `shared_self,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn un_blacklist_behavior(&self, behavior: String) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_un_blacklist_behavior(behavior)
    }
}

/// C# type: `T:LibreMetaverse.RLV.RlvCallbacksDefault`.
///
/// Native Rust mapping of C# `LibreMetaverse.RLV.RlvCallbacksDefault` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.RLV.RlvCallbacksDefault.#ctor`.
///
/// C# signature: `LibreMetaverse.RLV.RlvCallbacksDefault()`.
/// Mapping contract: ownership `none`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.RLV.RlvCallbacksDefault.IsSittingAsync(System.Threading.CancellationToken)`.
///
/// C# signature: `System.Threading.Tasks.Task<System.Boolean> LibreMetaverse.RLV.RlvCallbacksDefault.IsSittingAsync(System.Threading.CancellationToken cancellationToken)`.
/// Mapping contract: ownership `shared_self,owned`; async `async`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.RLV.RlvCallbacksDefault.ObjectExistsAsync(System.Guid,System.Threading.CancellationToken)`.
///
/// C# signature: `System.Threading.Tasks.Task<System.Boolean> LibreMetaverse.RLV.RlvCallbacksDefault.ObjectExistsAsync(System.Guid objectId, System.Threading.CancellationToken cancellationToken)`.
/// Mapping contract: ownership `shared_self,owned,owned`; async `async`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.RLV.RlvCallbacksDefault.TryGetActiveGroupNameAsync(System.Threading.CancellationToken)`.
///
/// C# signature: `System.Threading.Tasks.Task<System.ValueTuple<System.Boolean, System.String>> LibreMetaverse.RLV.RlvCallbacksDefault.TryGetActiveGroupNameAsync(System.Threading.CancellationToken cancellationToken)`.
/// Mapping contract: ownership `shared_self,owned`; async `async`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.RLV.RlvCallbacksDefault.TryGetCameraSettingsAsync(System.Threading.CancellationToken)`.
///
/// C# signature: `System.Threading.Tasks.Task<System.ValueTuple<System.Boolean, LibreMetaverse.RLV.CameraSettings>> LibreMetaverse.RLV.RlvCallbacksDefault.TryGetCameraSettingsAsync(System.Threading.CancellationToken cancellationToken)`.
/// Mapping contract: ownership `shared_self,owned`; async `async`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.RLV.RlvCallbacksDefault.TryGetDebugSettingValueAsync(System.String,System.Threading.CancellationToken)`.
///
/// C# signature: `System.Threading.Tasks.Task<System.ValueTuple<System.Boolean, System.String>> LibreMetaverse.RLV.RlvCallbacksDefault.TryGetDebugSettingValueAsync(System.String settingName, System.Threading.CancellationToken cancellationToken)`.
/// Mapping contract: ownership `shared_self,owned,owned`; async `async`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.RLV.RlvCallbacksDefault.TryGetEnvironmentSettingValueAsync(System.String,System.Threading.CancellationToken)`.
///
/// C# signature: `System.Threading.Tasks.Task<System.ValueTuple<System.Boolean, System.String>> LibreMetaverse.RLV.RlvCallbacksDefault.TryGetEnvironmentSettingValueAsync(System.String settingName, System.Threading.CancellationToken cancellationToken)`.
/// Mapping contract: ownership `shared_self,owned,owned`; async `async`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.RLV.RlvCallbacksDefault.TryGetInventoryMapAsync(System.Threading.CancellationToken)`.
///
/// C# signature: `System.Threading.Tasks.Task<System.ValueTuple<System.Boolean, LibreMetaverse.RLV.InventoryMap>> LibreMetaverse.RLV.RlvCallbacksDefault.TryGetInventoryMapAsync(System.Threading.CancellationToken cancellationToken)`.
/// Mapping contract: ownership `shared_self,owned`; async `async`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.RLV.RlvCallbacksDefault.TryGetSharedFolderAsync(System.Threading.CancellationToken)`.
///
/// C# signature: `System.Threading.Tasks.Task<System.ValueTuple<System.Boolean, LibreMetaverse.RLV.RlvSharedFolder>> LibreMetaverse.RLV.RlvCallbacksDefault.TryGetSharedFolderAsync(System.Threading.CancellationToken cancellationToken)`.
/// Mapping contract: ownership `shared_self,owned`; async `async`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.RLV.RlvCallbacksDefault.TryGetSitIdAsync(System.Threading.CancellationToken)`.
///
/// C# signature: `System.Threading.Tasks.Task<System.ValueTuple<System.Boolean, System.Guid>> LibreMetaverse.RLV.RlvCallbacksDefault.TryGetSitIdAsync(System.Threading.CancellationToken cancellationToken)`.
/// Mapping contract: ownership `shared_self,owned`; async `async`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
pub use crate::service::RlvCallbacksDefault;

/// C# type: `T:LibreMetaverse.RLV.RlvCommandProcessor`.
///
/// Native Rust mapping of C# `LibreMetaverse.RLV.RlvCommandProcessor` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
pub use crate::service::RlvCommandProcessor;

/// C# type: `T:LibreMetaverse.RLV.RlvCommon`.
///
/// Native Rust mapping of C# `LibreMetaverse.RLV.RlvCommon` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
pub use crate::protocol::RlvCommon;
impl RlvCommon {
    /// C# member: `M:LibreMetaverse.RLV.RlvCommon.TryGetAttachmentPointFromItemName(System.String,System.Nullable{LibreMetaverse.RLV.RlvAttachmentPoint}@)`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.RLV.RlvCommon.TryGetAttachmentPointFromItemName(System.String itemName, out System.Nullable<LibreMetaverse.RLV.RlvAttachmentPoint>& attachmentPoint)`.
    /// Mapping contract: ownership `owned,mutable_output`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
    pub fn try_get_attachment_point_from_item_name(
        item_name: String,
        attachment_point: &mut Option<Option<libremetaverse_rlv::RlvAttachmentPoint>>,
    ) -> bool {
        /* reviewed native compatibility body */
        Self::native_try_get_attachment_point_from_item_name(item_name, attachment_point)
    }
}

/// C# type: `T:LibreMetaverse.RLV.RlvGestureState`.
///
/// Native Rust mapping of C# `LibreMetaverse.RLV.RlvGestureState` 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 RlvGestureState {
    /// C# member: `F:LibreMetaverse.RLV.RlvGestureState.Active`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvGestureState LibreMetaverse.RLV.RlvGestureState.Active`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Active = 1,
    /// C# member: `F:LibreMetaverse.RLV.RlvGestureState.Inactive`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvGestureState LibreMetaverse.RLV.RlvGestureState.Inactive`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Inactive = 0,
}

/// C# type: `T:LibreMetaverse.RLV.RlvGetDebugType`.
///
/// Native Rust mapping of C# `LibreMetaverse.RLV.RlvGetDebugType` 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 RlvGetDebugType {
    /// C# member: `F:LibreMetaverse.RLV.RlvGetDebugType.AvatarSex`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvGetDebugType LibreMetaverse.RLV.RlvGetDebugType.AvatarSex`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    AvatarSex = 0,
    /// C# member: `F:LibreMetaverse.RLV.RlvGetDebugType.RenderResolutionDivisor`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvGetDebugType LibreMetaverse.RLV.RlvGetDebugType.RenderResolutionDivisor`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    RenderResolutionDivisor = 1,
    /// C# member: `F:LibreMetaverse.RLV.RlvGetDebugType.RestrainedLoveForbidGiveToRLV`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvGetDebugType LibreMetaverse.RLV.RlvGetDebugType.RestrainedLoveForbidGiveToRLV`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    RestrainedLoveForbidGiveToRLV = 2,
    /// C# member: `F:LibreMetaverse.RLV.RlvGetDebugType.RestrainedLoveNoSetEnv`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvGetDebugType LibreMetaverse.RLV.RlvGetDebugType.RestrainedLoveNoSetEnv`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    RestrainedLoveNoSetEnv = 3,
    /// C# member: `F:LibreMetaverse.RLV.RlvGetDebugType.WindLightUseAtmosShaders`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvGetDebugType LibreMetaverse.RLV.RlvGetDebugType.WindLightUseAtmosShaders`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    WindLightUseAtmosShaders = 4,
}

/// C# type: `T:LibreMetaverse.RLV.RlvGetEnvType`.
///
/// Native Rust mapping of C# `LibreMetaverse.RLV.RlvGetEnvType` 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 RlvGetEnvType {
    /// C# member: `F:LibreMetaverse.RLV.RlvGetEnvType.Ambient`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvGetEnvType LibreMetaverse.RLV.RlvGetEnvType.Ambient`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Ambient = 7,
    /// C# member: `F:LibreMetaverse.RLV.RlvGetEnvType.AmbientB`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvGetEnvType LibreMetaverse.RLV.RlvGetEnvType.AmbientB`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    AmbientB = 5,
    /// C# member: `F:LibreMetaverse.RLV.RlvGetEnvType.AmbientG`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvGetEnvType LibreMetaverse.RLV.RlvGetEnvType.AmbientG`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    AmbientG = 4,
    /// C# member: `F:LibreMetaverse.RLV.RlvGetEnvType.AmbientI`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvGetEnvType LibreMetaverse.RLV.RlvGetEnvType.AmbientI`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    AmbientI = 6,
    /// C# member: `F:LibreMetaverse.RLV.RlvGetEnvType.AmbientR`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvGetEnvType LibreMetaverse.RLV.RlvGetEnvType.AmbientR`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    AmbientR = 3,
    /// C# member: `F:LibreMetaverse.RLV.RlvGetEnvType.Asset`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvGetEnvType LibreMetaverse.RLV.RlvGetEnvType.Asset`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Asset = 2,
    /// C# member: `F:LibreMetaverse.RLV.RlvGetEnvType.BlueDensity`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvGetEnvType LibreMetaverse.RLV.RlvGetEnvType.BlueDensity`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    BlueDensity = 12,
    /// C# member: `F:LibreMetaverse.RLV.RlvGetEnvType.BlueDensityB`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvGetEnvType LibreMetaverse.RLV.RlvGetEnvType.BlueDensityB`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    BlueDensityB = 10,
    /// C# member: `F:LibreMetaverse.RLV.RlvGetEnvType.BlueDensityG`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvGetEnvType LibreMetaverse.RLV.RlvGetEnvType.BlueDensityG`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    BlueDensityG = 9,
    /// C# member: `F:LibreMetaverse.RLV.RlvGetEnvType.BlueDensityI`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvGetEnvType LibreMetaverse.RLV.RlvGetEnvType.BlueDensityI`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    BlueDensityI = 11,
    /// C# member: `F:LibreMetaverse.RLV.RlvGetEnvType.BlueDensityR`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvGetEnvType LibreMetaverse.RLV.RlvGetEnvType.BlueDensityR`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    BlueDensityR = 8,
    /// C# member: `F:LibreMetaverse.RLV.RlvGetEnvType.BlueHorizon`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvGetEnvType LibreMetaverse.RLV.RlvGetEnvType.BlueHorizon`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    BlueHorizon = 17,
    /// C# member: `F:LibreMetaverse.RLV.RlvGetEnvType.BlueHorizonB`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvGetEnvType LibreMetaverse.RLV.RlvGetEnvType.BlueHorizonB`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    BlueHorizonB = 15,
    /// C# member: `F:LibreMetaverse.RLV.RlvGetEnvType.BlueHorizonG`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvGetEnvType LibreMetaverse.RLV.RlvGetEnvType.BlueHorizonG`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    BlueHorizonG = 14,
    /// C# member: `F:LibreMetaverse.RLV.RlvGetEnvType.BlueHorizonI`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvGetEnvType LibreMetaverse.RLV.RlvGetEnvType.BlueHorizonI`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    BlueHorizonI = 16,
    /// C# member: `F:LibreMetaverse.RLV.RlvGetEnvType.BlueHorizonR`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvGetEnvType LibreMetaverse.RLV.RlvGetEnvType.BlueHorizonR`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    BlueHorizonR = 13,
    /// C# member: `F:LibreMetaverse.RLV.RlvGetEnvType.Cloud`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvGetEnvType LibreMetaverse.RLV.RlvGetEnvType.Cloud`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Cloud = 27,
    /// C# member: `F:LibreMetaverse.RLV.RlvGetEnvType.CloudColor`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvGetEnvType LibreMetaverse.RLV.RlvGetEnvType.CloudColor`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    CloudColor = 22,
    /// C# member: `F:LibreMetaverse.RLV.RlvGetEnvType.CloudColorB`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvGetEnvType LibreMetaverse.RLV.RlvGetEnvType.CloudColorB`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    CloudColorB = 20,
    /// C# member: `F:LibreMetaverse.RLV.RlvGetEnvType.CloudColorG`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvGetEnvType LibreMetaverse.RLV.RlvGetEnvType.CloudColorG`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    CloudColorG = 19,
    /// C# member: `F:LibreMetaverse.RLV.RlvGetEnvType.CloudColorI`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvGetEnvType LibreMetaverse.RLV.RlvGetEnvType.CloudColorI`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    CloudColorI = 21,
    /// C# member: `F:LibreMetaverse.RLV.RlvGetEnvType.CloudColorR`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvGetEnvType LibreMetaverse.RLV.RlvGetEnvType.CloudColorR`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    CloudColorR = 18,
    /// C# member: `F:LibreMetaverse.RLV.RlvGetEnvType.CloudCoverage`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvGetEnvType LibreMetaverse.RLV.RlvGetEnvType.CloudCoverage`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    CloudCoverage = 23,
    /// C# member: `F:LibreMetaverse.RLV.RlvGetEnvType.CloudD`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvGetEnvType LibreMetaverse.RLV.RlvGetEnvType.CloudD`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    CloudD = 26,
    /// C# member: `F:LibreMetaverse.RLV.RlvGetEnvType.CloudDetail`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvGetEnvType LibreMetaverse.RLV.RlvGetEnvType.CloudDetail`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    CloudDetail = 31,
    /// C# member: `F:LibreMetaverse.RLV.RlvGetEnvType.CloudDetailD`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvGetEnvType LibreMetaverse.RLV.RlvGetEnvType.CloudDetailD`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    CloudDetailD = 30,
    /// C# member: `F:LibreMetaverse.RLV.RlvGetEnvType.CloudDetailX`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvGetEnvType LibreMetaverse.RLV.RlvGetEnvType.CloudDetailX`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    CloudDetailX = 28,
    /// C# member: `F:LibreMetaverse.RLV.RlvGetEnvType.CloudDetailY`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvGetEnvType LibreMetaverse.RLV.RlvGetEnvType.CloudDetailY`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    CloudDetailY = 29,
    /// C# member: `F:LibreMetaverse.RLV.RlvGetEnvType.CloudImage`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvGetEnvType LibreMetaverse.RLV.RlvGetEnvType.CloudImage`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    CloudImage = 32,
    /// C# member: `F:LibreMetaverse.RLV.RlvGetEnvType.CloudScale`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvGetEnvType LibreMetaverse.RLV.RlvGetEnvType.CloudScale`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    CloudScale = 33,
    /// C# member: `F:LibreMetaverse.RLV.RlvGetEnvType.CloudScroll`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvGetEnvType LibreMetaverse.RLV.RlvGetEnvType.CloudScroll`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    CloudScroll = 36,
    /// C# member: `F:LibreMetaverse.RLV.RlvGetEnvType.CloudScrollX`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvGetEnvType LibreMetaverse.RLV.RlvGetEnvType.CloudScrollX`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    CloudScrollX = 34,
    /// C# member: `F:LibreMetaverse.RLV.RlvGetEnvType.CloudScrollY`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvGetEnvType LibreMetaverse.RLV.RlvGetEnvType.CloudScrollY`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    CloudScrollY = 35,
    /// C# member: `F:LibreMetaverse.RLV.RlvGetEnvType.CloudVariance`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvGetEnvType LibreMetaverse.RLV.RlvGetEnvType.CloudVariance`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    CloudVariance = 37,
    /// C# member: `F:LibreMetaverse.RLV.RlvGetEnvType.CloudX`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvGetEnvType LibreMetaverse.RLV.RlvGetEnvType.CloudX`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    CloudX = 24,
    /// C# member: `F:LibreMetaverse.RLV.RlvGetEnvType.CloudY`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvGetEnvType LibreMetaverse.RLV.RlvGetEnvType.CloudY`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    CloudY = 25,
    /// C# member: `F:LibreMetaverse.RLV.RlvGetEnvType.Daytime`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvGetEnvType LibreMetaverse.RLV.RlvGetEnvType.Daytime`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Daytime = 0,
    /// C# member: `F:LibreMetaverse.RLV.RlvGetEnvType.DensityMultiplier`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvGetEnvType LibreMetaverse.RLV.RlvGetEnvType.DensityMultiplier`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    DensityMultiplier = 38,
    /// C# member: `F:LibreMetaverse.RLV.RlvGetEnvType.DistanceMultiplier`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvGetEnvType LibreMetaverse.RLV.RlvGetEnvType.DistanceMultiplier`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    DistanceMultiplier = 39,
    /// C# member: `F:LibreMetaverse.RLV.RlvGetEnvType.DropletRadius`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvGetEnvType LibreMetaverse.RLV.RlvGetEnvType.DropletRadius`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    DropletRadius = 40,
    /// C# member: `F:LibreMetaverse.RLV.RlvGetEnvType.EastAngle`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvGetEnvType LibreMetaverse.RLV.RlvGetEnvType.EastAngle`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    EastAngle = 41,
    /// C# member: `F:LibreMetaverse.RLV.RlvGetEnvType.HazeDensity`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvGetEnvType LibreMetaverse.RLV.RlvGetEnvType.HazeDensity`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    HazeDensity = 43,
    /// C# member: `F:LibreMetaverse.RLV.RlvGetEnvType.HazeHorizon`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvGetEnvType LibreMetaverse.RLV.RlvGetEnvType.HazeHorizon`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    HazeHorizon = 44,
    /// C# member: `F:LibreMetaverse.RLV.RlvGetEnvType.IceLevel`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvGetEnvType LibreMetaverse.RLV.RlvGetEnvType.IceLevel`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    IceLevel = 42,
    /// C# member: `F:LibreMetaverse.RLV.RlvGetEnvType.MaxAltitude`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvGetEnvType LibreMetaverse.RLV.RlvGetEnvType.MaxAltitude`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    MaxAltitude = 45,
    /// C# member: `F:LibreMetaverse.RLV.RlvGetEnvType.MoistureLevel`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvGetEnvType LibreMetaverse.RLV.RlvGetEnvType.MoistureLevel`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    MoistureLevel = 46,
    /// C# member: `F:LibreMetaverse.RLV.RlvGetEnvType.MoonAzim`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvGetEnvType LibreMetaverse.RLV.RlvGetEnvType.MoonAzim`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    MoonAzim = 47,
    /// C# member: `F:LibreMetaverse.RLV.RlvGetEnvType.MoonElev`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvGetEnvType LibreMetaverse.RLV.RlvGetEnvType.MoonElev`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    MoonElev = 49,
    /// C# member: `F:LibreMetaverse.RLV.RlvGetEnvType.MoonImage`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvGetEnvType LibreMetaverse.RLV.RlvGetEnvType.MoonImage`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    MoonImage = 50,
    /// C# member: `F:LibreMetaverse.RLV.RlvGetEnvType.MoonNBrightness`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvGetEnvType LibreMetaverse.RLV.RlvGetEnvType.MoonNBrightness`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    MoonNBrightness = 48,
    /// C# member: `F:LibreMetaverse.RLV.RlvGetEnvType.MoonScale`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvGetEnvType LibreMetaverse.RLV.RlvGetEnvType.MoonScale`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    MoonScale = 51,
    /// C# member: `F:LibreMetaverse.RLV.RlvGetEnvType.Preset`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvGetEnvType LibreMetaverse.RLV.RlvGetEnvType.Preset`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Preset = 1,
    /// C# member: `F:LibreMetaverse.RLV.RlvGetEnvType.SceneGamma`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvGetEnvType LibreMetaverse.RLV.RlvGetEnvType.SceneGamma`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    SceneGamma = 52,
    /// C# member: `F:LibreMetaverse.RLV.RlvGetEnvType.StarBrightness`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvGetEnvType LibreMetaverse.RLV.RlvGetEnvType.StarBrightness`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    StarBrightness = 53,
    /// C# member: `F:LibreMetaverse.RLV.RlvGetEnvType.SunAzim`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvGetEnvType LibreMetaverse.RLV.RlvGetEnvType.SunAzim`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    SunAzim = 55,
    /// C# member: `F:LibreMetaverse.RLV.RlvGetEnvType.SunElev`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvGetEnvType LibreMetaverse.RLV.RlvGetEnvType.SunElev`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    SunElev = 56,
    /// C# member: `F:LibreMetaverse.RLV.RlvGetEnvType.SunGlowFocus`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvGetEnvType LibreMetaverse.RLV.RlvGetEnvType.SunGlowFocus`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    SunGlowFocus = 54,
    /// C# member: `F:LibreMetaverse.RLV.RlvGetEnvType.SunGlowSize`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvGetEnvType LibreMetaverse.RLV.RlvGetEnvType.SunGlowSize`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    SunGlowSize = 57,
    /// C# member: `F:LibreMetaverse.RLV.RlvGetEnvType.SunImage`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvGetEnvType LibreMetaverse.RLV.RlvGetEnvType.SunImage`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    SunImage = 58,
    /// C# member: `F:LibreMetaverse.RLV.RlvGetEnvType.SunMoonColor`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvGetEnvType LibreMetaverse.RLV.RlvGetEnvType.SunMoonColor`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    SunMoonColor = 63,
    /// C# member: `F:LibreMetaverse.RLV.RlvGetEnvType.SunMoonColorB`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvGetEnvType LibreMetaverse.RLV.RlvGetEnvType.SunMoonColorB`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    SunMoonColorB = 61,
    /// C# member: `F:LibreMetaverse.RLV.RlvGetEnvType.SunMoonColorG`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvGetEnvType LibreMetaverse.RLV.RlvGetEnvType.SunMoonColorG`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    SunMoonColorG = 60,
    /// C# member: `F:LibreMetaverse.RLV.RlvGetEnvType.SunMoonColorI`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvGetEnvType LibreMetaverse.RLV.RlvGetEnvType.SunMoonColorI`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    SunMoonColorI = 62,
    /// C# member: `F:LibreMetaverse.RLV.RlvGetEnvType.SunMoonColorR`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvGetEnvType LibreMetaverse.RLV.RlvGetEnvType.SunMoonColorR`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    SunMoonColorR = 59,
    /// C# member: `F:LibreMetaverse.RLV.RlvGetEnvType.SunMoonPosition`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvGetEnvType LibreMetaverse.RLV.RlvGetEnvType.SunMoonPosition`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    SunMoonPosition = 64,
    /// C# member: `F:LibreMetaverse.RLV.RlvGetEnvType.SunScale`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvGetEnvType LibreMetaverse.RLV.RlvGetEnvType.SunScale`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    SunScale = 65,
}

/// C# type: `T:LibreMetaverse.RLV.RlvInventoryItem`.
///
/// Native Rust mapping of C# `LibreMetaverse.RLV.RlvInventoryItem` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
pub use crate::state::RlvInventoryItem;
impl RlvInventoryItem {
    /// C# member: `M:LibreMetaverse.RLV.RlvInventoryItem.#ctor(System.Guid,System.String,System.Boolean,System.Nullable{System.Guid},System.Nullable{LibreMetaverse.RLV.RlvAttachmentPoint},System.Nullable{System.Guid},System.Nullable{LibreMetaverse.RLV.RlvWearableType},System.Nullable{LibreMetaverse.RLV.RlvGestureState})`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvInventoryItem(System.Guid id, System.String name, System.Boolean isLink, System.Nullable<System.Guid> externalFolderId, System.Nullable<LibreMetaverse.RLV.RlvAttachmentPoint> attachedTo, System.Nullable<System.Guid> attachedPrimId, System.Nullable<LibreMetaverse.RLV.RlvWearableType> wornOn, System.Nullable<LibreMetaverse.RLV.RlvGestureState> gestureState)`.
    /// Mapping contract: ownership `owned,owned,owned,owned,owned,owned,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn new(
        id: libremetaverse_types::compat::Guid,
        name: String,
        is_link: bool,
        external_folder_id: Option<Option<libremetaverse_types::compat::Guid>>,
        attached_to: Option<Option<libremetaverse_rlv::RlvAttachmentPoint>>,
        attached_prim_id: Option<Option<libremetaverse_types::compat::Guid>>,
        worn_on: Option<Option<libremetaverse_rlv::RlvWearableType>>,
        gesture_state: Option<Option<libremetaverse_rlv::RlvGestureState>>,
    ) -> Result<Self, crate::Error> {
        /* reviewed native compatibility body */
        Self::native_new(
            id,
            name,
            is_link,
            external_folder_id,
            attached_to,
            attached_prim_id,
            worn_on,
            gesture_state,
        )
    }
    /// C# member: `M:LibreMetaverse.RLV.RlvInventoryItem.ToString`.
    ///
    /// C# signature: `System.String LibreMetaverse.RLV.RlvInventoryItem.ToString()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
    pub fn to_string(&self) -> String {
        /* reviewed native compatibility body */
        self.native_to_string()
    }
    /// C# member: `P:LibreMetaverse.RLV.RlvInventoryItem.AttachedPrimId`.
    ///
    /// C# signature: `System.Nullable<System.Guid> LibreMetaverse.RLV.RlvInventoryItem.AttachedPrimId`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn attached_prim_id(&self) -> Option<Option<libremetaverse_types::compat::Guid>> {
        /* reviewed native compatibility body */
        self.native_attached_prim_id()
    }
    /// Setter for C# member: `P:LibreMetaverse.RLV.RlvInventoryItem.AttachedPrimId`.
    pub fn set_attached_prim_id(
        &mut self,
        value: Option<Option<libremetaverse_types::compat::Guid>>,
    ) {
        /* reviewed native compatibility body */
        self.native_set_attached_prim_id(value)
    }
    /// C# member: `P:LibreMetaverse.RLV.RlvInventoryItem.AttachedTo`.
    ///
    /// C# signature: `System.Nullable<LibreMetaverse.RLV.RlvAttachmentPoint> LibreMetaverse.RLV.RlvInventoryItem.AttachedTo`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn attached_to(&self) -> Option<Option<libremetaverse_rlv::RlvAttachmentPoint>> {
        /* reviewed native compatibility body */
        self.native_attached_to()
    }
    /// Setter for C# member: `P:LibreMetaverse.RLV.RlvInventoryItem.AttachedTo`.
    pub fn set_attached_to(
        &mut self,
        value: Option<Option<libremetaverse_rlv::RlvAttachmentPoint>>,
    ) {
        /* reviewed native compatibility body */
        self.native_set_attached_to(value)
    }
    /// C# member: `P:LibreMetaverse.RLV.RlvInventoryItem.Folder`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvSharedFolder LibreMetaverse.RLV.RlvInventoryItem.Folder`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn folder(&self) -> Option<libremetaverse_rlv::RlvSharedFolder> {
        /* reviewed native compatibility body */
        self.native_folder()
    }
    /// C# member: `P:LibreMetaverse.RLV.RlvInventoryItem.FolderId`.
    ///
    /// C# signature: `System.Nullable<System.Guid> LibreMetaverse.RLV.RlvInventoryItem.FolderId`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn folder_id(&self) -> Option<Option<libremetaverse_types::compat::Guid>> {
        /* reviewed native compatibility body */
        self.native_folder_id()
    }
    /// C# member: `P:LibreMetaverse.RLV.RlvInventoryItem.GestureState`.
    ///
    /// C# signature: `System.Nullable<LibreMetaverse.RLV.RlvGestureState> LibreMetaverse.RLV.RlvInventoryItem.GestureState`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn gesture_state(&self) -> Option<Option<libremetaverse_rlv::RlvGestureState>> {
        /* reviewed native compatibility body */
        self.native_gesture_state()
    }
    /// Setter for C# member: `P:LibreMetaverse.RLV.RlvInventoryItem.GestureState`.
    pub fn set_gesture_state(
        &mut self,
        value: Option<Option<libremetaverse_rlv::RlvGestureState>>,
    ) {
        /* reviewed native compatibility body */
        self.native_set_gesture_state(value)
    }
    /// C# member: `P:LibreMetaverse.RLV.RlvInventoryItem.Id`.
    ///
    /// C# signature: `System.Guid LibreMetaverse.RLV.RlvInventoryItem.Id`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn id(&self) -> libremetaverse_types::compat::Guid {
        /* reviewed native compatibility body */
        self.native_id()
    }
    /// C# member: `P:LibreMetaverse.RLV.RlvInventoryItem.IsLink`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.RLV.RlvInventoryItem.IsLink`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn is_link(&self) -> bool {
        /* reviewed native compatibility body */
        self.native_is_link()
    }
    /// Setter for C# member: `P:LibreMetaverse.RLV.RlvInventoryItem.IsLink`.
    pub fn set_is_link(&mut self, value: bool) {
        /* reviewed native compatibility body */
        self.native_set_is_link(value)
    }
    /// C# member: `P:LibreMetaverse.RLV.RlvInventoryItem.Name`.
    ///
    /// C# signature: `System.String LibreMetaverse.RLV.RlvInventoryItem.Name`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn name(&self) -> String {
        /* reviewed native compatibility body */
        self.native_name()
    }
    /// Setter for C# member: `P:LibreMetaverse.RLV.RlvInventoryItem.Name`.
    pub fn set_name(&mut self, value: String) {
        /* reviewed native compatibility body */
        self.native_set_name(value)
    }
    /// C# member: `P:LibreMetaverse.RLV.RlvInventoryItem.WornOn`.
    ///
    /// C# signature: `System.Nullable<LibreMetaverse.RLV.RlvWearableType> LibreMetaverse.RLV.RlvInventoryItem.WornOn`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn worn_on(&self) -> Option<Option<libremetaverse_rlv::RlvWearableType>> {
        /* reviewed native compatibility body */
        self.native_worn_on()
    }
    /// Setter for C# member: `P:LibreMetaverse.RLV.RlvInventoryItem.WornOn`.
    pub fn set_worn_on(&mut self, value: Option<Option<libremetaverse_rlv::RlvWearableType>>) {
        /* reviewed native compatibility body */
        self.native_set_worn_on(value)
    }
}

/// C# type: `T:LibreMetaverse.RLV.RlvPermissionsService`.
///
/// Native Rust mapping of C# `LibreMetaverse.RLV.RlvPermissionsService` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
pub use crate::state::RlvPermissionsService;
impl RlvPermissionsService {
    /// C# member: `M:LibreMetaverse.RLV.RlvPermissionsService.CanAllowIdle`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.RLV.RlvPermissionsService.CanAllowIdle()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn can_allow_idle(&self) -> Result<bool, crate::Error> {
        /* reviewed native compatibility body */
        self.native_can_allow_idle()
    }
    /// C# member: `M:LibreMetaverse.RLV.RlvPermissionsService.CanAlwaysRun`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.RLV.RlvPermissionsService.CanAlwaysRun()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn can_always_run(&self) -> Result<bool, crate::Error> {
        /* reviewed native compatibility body */
        self.native_can_always_run()
    }
    /// C# member: `M:LibreMetaverse.RLV.RlvPermissionsService.CanAttach(LibreMetaverse.RLV.RlvInventoryItem,System.Boolean)`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.RLV.RlvPermissionsService.CanAttach(LibreMetaverse.RLV.RlvInventoryItem item, System.Boolean isShared)`.
    /// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub fn can_attach_with_rlv_inventory_item_boolean(
        &self,
        item: libremetaverse_rlv::RlvInventoryItem,
        is_shared: bool,
    ) -> Result<bool, crate::Error> {
        /* reviewed native compatibility body */
        self.native_can_attach_with_item(item, is_shared)
    }
    /// C# member: `M:LibreMetaverse.RLV.RlvPermissionsService.CanAttach(System.Nullable{System.Guid},System.Boolean,System.Nullable{LibreMetaverse.RLV.RlvAttachmentPoint},System.Nullable{LibreMetaverse.RLV.RlvWearableType})`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.RLV.RlvPermissionsService.CanAttach(System.Nullable<System.Guid> objectFolderId, System.Boolean isShared, System.Nullable<LibreMetaverse.RLV.RlvAttachmentPoint> attachmentPoint, System.Nullable<LibreMetaverse.RLV.RlvWearableType> wearableType)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub fn can_attach_with_nullable_boolean_nullable_nullable(
        &self,
        object_folder_id: Option<Option<libremetaverse_types::compat::Guid>>,
        is_shared: bool,
        attachment_point: Option<Option<libremetaverse_rlv::RlvAttachmentPoint>>,
        wearable_type: Option<Option<libremetaverse_rlv::RlvWearableType>>,
    ) -> Result<bool, crate::Error> {
        /* reviewed native compatibility body */
        self.native_can_attach(object_folder_id, is_shared, attachment_point, wearable_type)
    }
    /// C# member: `M:LibreMetaverse.RLV.RlvPermissionsService.CanChat(System.Int32,System.String)`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.RLV.RlvPermissionsService.CanChat(System.Int32 channel, System.String message)`.
    /// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn can_chat(&self, channel: i32, message: String) -> Result<bool, crate::Error> {
        /* reviewed native compatibility body */
        self.native_can_chat(channel, message)
    }
    /// C# member: `M:LibreMetaverse.RLV.RlvPermissionsService.CanChatNormal`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.RLV.RlvPermissionsService.CanChatNormal()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn can_chat_normal(&self) -> Result<bool, crate::Error> {
        /* reviewed native compatibility body */
        self.native_can_chat_normal()
    }
    /// C# member: `M:LibreMetaverse.RLV.RlvPermissionsService.CanChatShout`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.RLV.RlvPermissionsService.CanChatShout()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn can_chat_shout(&self) -> Result<bool, crate::Error> {
        /* reviewed native compatibility body */
        self.native_can_chat_shout()
    }
    /// C# member: `M:LibreMetaverse.RLV.RlvPermissionsService.CanChatWhisper`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.RLV.RlvPermissionsService.CanChatWhisper()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn can_chat_whisper(&self) -> Result<bool, crate::Error> {
        /* reviewed native compatibility body */
        self.native_can_chat_whisper()
    }
    /// C# member: `M:LibreMetaverse.RLV.RlvPermissionsService.CanDefaultWear`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.RLV.RlvPermissionsService.CanDefaultWear()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn can_default_wear(&self) -> Result<bool, crate::Error> {
        /* reviewed native compatibility body */
        self.native_can_default_wear()
    }
    /// C# member: `M:LibreMetaverse.RLV.RlvPermissionsService.CanDetach(LibreMetaverse.RLV.RlvInventoryItem)`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.RLV.RlvPermissionsService.CanDetach(LibreMetaverse.RLV.RlvInventoryItem item)`.
    /// Mapping contract: ownership `shared_self,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub fn can_detach_with_rlv_inventory_item(
        &self,
        item: libremetaverse_rlv::RlvInventoryItem,
    ) -> Result<bool, crate::Error> {
        /* reviewed native compatibility body */
        self.native_can_detach_with_item(item)
    }
    /// C# member: `M:LibreMetaverse.RLV.RlvPermissionsService.CanDetach(System.Nullable{System.Guid},System.Nullable{System.Guid},System.Nullable{System.Guid},System.Boolean,System.Nullable{LibreMetaverse.RLV.RlvAttachmentPoint},System.Nullable{LibreMetaverse.RLV.RlvWearableType})`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.RLV.RlvPermissionsService.CanDetach(System.Nullable<System.Guid> itemId, System.Nullable<System.Guid> primId, System.Nullable<System.Guid> folderId, System.Boolean isShared, System.Nullable<LibreMetaverse.RLV.RlvAttachmentPoint> attachmentPoint, System.Nullable<LibreMetaverse.RLV.RlvWearableType> wearableType)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned,owned,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    pub fn can_detach_with_nullable_nullable_nullable_boolean_nullable_nullable(
        &self,
        item_id: Option<Option<libremetaverse_types::compat::Guid>>,
        prim_id: Option<Option<libremetaverse_types::compat::Guid>>,
        folder_id: Option<Option<libremetaverse_types::compat::Guid>>,
        is_shared: bool,
        attachment_point: Option<Option<libremetaverse_rlv::RlvAttachmentPoint>>,
        wearable_type: Option<Option<libremetaverse_rlv::RlvWearableType>>,
    ) -> Result<bool, crate::Error> {
        /* reviewed native compatibility body */
        self.native_can_detach(
            item_id,
            prim_id,
            folder_id,
            is_shared,
            attachment_point,
            wearable_type,
        )
    }
    /// C# member: `M:LibreMetaverse.RLV.RlvPermissionsService.CanEdit(LibreMetaverse.RLV.RlvPermissionsService.ObjectLocation,System.Nullable{System.Guid})`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.RLV.RlvPermissionsService.CanEdit(LibreMetaverse.RLV.RlvPermissionsService.ObjectLocation objectLocation, System.Nullable<System.Guid> objectId)`.
    /// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn can_edit(
        &self,
        object_location: libremetaverse_rlv::RlvPermissionsServiceObjectLocation,
        object_id: Option<Option<libremetaverse_types::compat::Guid>>,
    ) -> Result<bool, crate::Error> {
        /* reviewed native compatibility body */
        self.native_can_edit(object_location, object_id)
    }
    /// C# member: `M:LibreMetaverse.RLV.RlvPermissionsService.CanEmote`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.RLV.RlvPermissionsService.CanEmote()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn can_emote(&self) -> Result<bool, crate::Error> {
        /* reviewed native compatibility body */
        self.native_can_emote()
    }
    /// C# member: `M:LibreMetaverse.RLV.RlvPermissionsService.CanFly`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.RLV.RlvPermissionsService.CanFly()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn can_fly(&self) -> Result<bool, crate::Error> {
        /* reviewed native compatibility body */
        self.native_can_fly()
    }
    /// C# member: `M:LibreMetaverse.RLV.RlvPermissionsService.CanInteract`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.RLV.RlvPermissionsService.CanInteract()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn can_interact(&self) -> Result<bool, crate::Error> {
        /* reviewed native compatibility body */
        self.native_can_interact()
    }
    /// C# member: `M:LibreMetaverse.RLV.RlvPermissionsService.CanJump`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.RLV.RlvPermissionsService.CanJump()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn can_jump(&self) -> Result<bool, crate::Error> {
        /* reviewed native compatibility body */
        self.native_can_jump()
    }
    /// C# member: `M:LibreMetaverse.RLV.RlvPermissionsService.CanReceiveChat(System.String,System.Guid)`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.RLV.RlvPermissionsService.CanReceiveChat(System.String message, System.Guid userId)`.
    /// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn can_receive_chat(
        &self,
        message: String,
        user_id: libremetaverse_types::compat::Guid,
    ) -> Result<bool, crate::Error> {
        /* reviewed native compatibility body */
        self.native_can_receive_chat(message, user_id)
    }
    /// C# member: `M:LibreMetaverse.RLV.RlvPermissionsService.CanReceiveIM(System.String,System.Nullable{System.Guid},System.String)`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.RLV.RlvPermissionsService.CanReceiveIM(System.String message, System.Nullable<System.Guid> userId, System.String groupName = default)`.
    /// Mapping contract: ownership `shared_self,owned,owned,optional_owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn can_receive_im(
        &self,
        message: String,
        user_id: Option<Option<libremetaverse_types::compat::Guid>>,
        group_name: Option<String>,
    ) -> Result<bool, crate::Error> {
        /* reviewed native compatibility body */
        self.native_can_receive_im(message, user_id, group_name)
    }
    /// C# member: `M:LibreMetaverse.RLV.RlvPermissionsService.CanRez`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.RLV.RlvPermissionsService.CanRez()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn can_rez(&self) -> Result<bool, crate::Error> {
        /* reviewed native compatibility body */
        self.native_can_rez()
    }
    /// C# member: `M:LibreMetaverse.RLV.RlvPermissionsService.CanSendChat`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.RLV.RlvPermissionsService.CanSendChat()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn can_send_chat(&self) -> Result<bool, crate::Error> {
        /* reviewed native compatibility body */
        self.native_can_send_chat()
    }
    /// C# member: `M:LibreMetaverse.RLV.RlvPermissionsService.CanSendGesture`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.RLV.RlvPermissionsService.CanSendGesture()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn can_send_gesture(&self) -> Result<bool, crate::Error> {
        /* reviewed native compatibility body */
        self.native_can_send_gesture()
    }
    /// C# member: `M:LibreMetaverse.RLV.RlvPermissionsService.CanSendIM(System.String,System.Nullable{System.Guid},System.String)`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.RLV.RlvPermissionsService.CanSendIM(System.String message, System.Nullable<System.Guid> userId, System.String groupName = default)`.
    /// Mapping contract: ownership `shared_self,owned,owned,optional_owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn can_send_im(
        &self,
        message: String,
        user_id: Option<Option<libremetaverse_types::compat::Guid>>,
        group_name: Option<String>,
    ) -> Result<bool, crate::Error> {
        /* reviewed native compatibility body */
        self.native_can_send_im(message, user_id, group_name)
    }
    /// C# member: `M:LibreMetaverse.RLV.RlvPermissionsService.CanSetDebug`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.RLV.RlvPermissionsService.CanSetDebug()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn can_set_debug(&self) -> Result<bool, crate::Error> {
        /* reviewed native compatibility body */
        self.native_can_set_debug()
    }
    /// C# member: `M:LibreMetaverse.RLV.RlvPermissionsService.CanSetEnv`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.RLV.RlvPermissionsService.CanSetEnv()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn can_set_env(&self) -> Result<bool, crate::Error> {
        /* reviewed native compatibility body */
        self.native_can_set_env()
    }
    /// C# member: `M:LibreMetaverse.RLV.RlvPermissionsService.CanSetGroup`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.RLV.RlvPermissionsService.CanSetGroup()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn can_set_group(&self) -> Result<bool, crate::Error> {
        /* reviewed native compatibility body */
        self.native_can_set_group()
    }
    /// C# member: `M:LibreMetaverse.RLV.RlvPermissionsService.CanShare(System.Nullable{System.Guid})`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.RLV.RlvPermissionsService.CanShare(System.Nullable<System.Guid> userId)`.
    /// Mapping contract: ownership `shared_self,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn can_share(
        &self,
        user_id: Option<Option<libremetaverse_types::compat::Guid>>,
    ) -> Result<bool, crate::Error> {
        /* reviewed native compatibility body */
        self.native_can_share(user_id)
    }
    /// C# member: `M:LibreMetaverse.RLV.RlvPermissionsService.CanShowHoverText(LibreMetaverse.RLV.RlvPermissionsService.HoverTextLocation,System.Nullable{System.Guid})`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.RLV.RlvPermissionsService.CanShowHoverText(LibreMetaverse.RLV.RlvPermissionsService.HoverTextLocation location, System.Nullable<System.Guid> objectId)`.
    /// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn can_show_hover_text(
        &self,
        location: libremetaverse_rlv::RlvPermissionsServiceHoverTextLocation,
        object_id: Option<Option<libremetaverse_types::compat::Guid>>,
    ) -> Result<bool, crate::Error> {
        /* reviewed native compatibility body */
        self.native_can_show_hover_text(location, object_id)
    }
    /// C# member: `M:LibreMetaverse.RLV.RlvPermissionsService.CanShowInv`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.RLV.RlvPermissionsService.CanShowInv()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn can_show_inv(&self) -> Result<bool, crate::Error> {
        /* reviewed native compatibility body */
        self.native_can_show_inv()
    }
    /// C# member: `M:LibreMetaverse.RLV.RlvPermissionsService.CanShowLoc`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.RLV.RlvPermissionsService.CanShowLoc()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn can_show_loc(&self) -> Result<bool, crate::Error> {
        /* reviewed native compatibility body */
        self.native_can_show_loc()
    }
    /// C# member: `M:LibreMetaverse.RLV.RlvPermissionsService.CanShowMiniMap`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.RLV.RlvPermissionsService.CanShowMiniMap()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn can_show_mini_map(&self) -> Result<bool, crate::Error> {
        /* reviewed native compatibility body */
        self.native_can_show_mini_map()
    }
    /// C# member: `M:LibreMetaverse.RLV.RlvPermissionsService.CanShowNameTags(System.Nullable{System.Guid})`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.RLV.RlvPermissionsService.CanShowNameTags(System.Nullable<System.Guid> userId)`.
    /// Mapping contract: ownership `shared_self,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn can_show_name_tags(
        &self,
        user_id: Option<Option<libremetaverse_types::compat::Guid>>,
    ) -> Result<bool, crate::Error> {
        /* reviewed native compatibility body */
        self.native_can_show_name_tags(user_id)
    }
    /// C# member: `M:LibreMetaverse.RLV.RlvPermissionsService.CanShowNames(System.Nullable{System.Guid})`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.RLV.RlvPermissionsService.CanShowNames(System.Nullable<System.Guid> userId)`.
    /// Mapping contract: ownership `shared_self,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn can_show_names(
        &self,
        user_id: Option<Option<libremetaverse_types::compat::Guid>>,
    ) -> Result<bool, crate::Error> {
        /* reviewed native compatibility body */
        self.native_can_show_names(user_id)
    }
    /// C# member: `M:LibreMetaverse.RLV.RlvPermissionsService.CanShowNearby`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.RLV.RlvPermissionsService.CanShowNearby()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn can_show_nearby(&self) -> Result<bool, crate::Error> {
        /* reviewed native compatibility body */
        self.native_can_show_nearby()
    }
    /// C# member: `M:LibreMetaverse.RLV.RlvPermissionsService.CanShowWorldMap`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.RLV.RlvPermissionsService.CanShowWorldMap()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn can_show_world_map(&self) -> Result<bool, crate::Error> {
        /* reviewed native compatibility body */
        self.native_can_show_world_map()
    }
    /// C# member: `M:LibreMetaverse.RLV.RlvPermissionsService.CanSit`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.RLV.RlvPermissionsService.CanSit()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn can_sit(&self) -> Result<bool, crate::Error> {
        /* reviewed native compatibility body */
        self.native_can_sit()
    }
    /// C# member: `M:LibreMetaverse.RLV.RlvPermissionsService.CanSitTp(System.Single@)`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.RLV.RlvPermissionsService.CanSitTp(out System.Single& maxDistance)`.
    /// Mapping contract: ownership `shared_self,mutable_output`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn can_sit_tp(&self, max_distance: &mut f32) -> Result<bool, crate::Error> {
        /* reviewed native compatibility body */
        self.native_can_sit_tp(max_distance)
    }
    /// C# member: `M:LibreMetaverse.RLV.RlvPermissionsService.CanStandTp`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.RLV.RlvPermissionsService.CanStandTp()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn can_stand_tp(&self) -> Result<bool, crate::Error> {
        /* reviewed native compatibility body */
        self.native_can_stand_tp()
    }
    /// C# member: `M:LibreMetaverse.RLV.RlvPermissionsService.CanStartIM(System.Guid)`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.RLV.RlvPermissionsService.CanStartIM(System.Guid userId)`.
    /// Mapping contract: ownership `shared_self,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn can_start_im(
        &self,
        user_id: libremetaverse_types::compat::Guid,
    ) -> Result<bool, crate::Error> {
        /* reviewed native compatibility body */
        self.native_can_start_im(user_id)
    }
    /// C# member: `M:LibreMetaverse.RLV.RlvPermissionsService.CanTPLure(System.Nullable{System.Guid})`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.RLV.RlvPermissionsService.CanTPLure(System.Nullable<System.Guid> userId)`.
    /// Mapping contract: ownership `shared_self,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn can_tp_lure(
        &self,
        user_id: Option<Option<libremetaverse_types::compat::Guid>>,
    ) -> Result<bool, crate::Error> {
        /* reviewed native compatibility body */
        self.native_can_tp_lure(user_id)
    }
    /// C# member: `M:LibreMetaverse.RLV.RlvPermissionsService.CanTempRun`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.RLV.RlvPermissionsService.CanTempRun()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn can_temp_run(&self) -> Result<bool, crate::Error> {
        /* reviewed native compatibility body */
        self.native_can_temp_run()
    }
    /// C# member: `M:LibreMetaverse.RLV.RlvPermissionsService.CanTouch(LibreMetaverse.RLV.RlvPermissionsService.TouchLocation,System.Guid,System.Nullable{System.Guid},System.Nullable{System.Single})`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.RLV.RlvPermissionsService.CanTouch(LibreMetaverse.RLV.RlvPermissionsService.TouchLocation location, System.Guid primId, System.Nullable<System.Guid> userId, System.Nullable<System.Single> distance)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn can_touch(
        &self,
        location: libremetaverse_rlv::RlvPermissionsServiceTouchLocation,
        prim_id: libremetaverse_types::compat::Guid,
        user_id: Option<Option<libremetaverse_types::compat::Guid>>,
        distance: Option<Option<f32>>,
    ) -> Result<bool, crate::Error> {
        /* reviewed native compatibility body */
        self.native_can_touch(location, prim_id, user_id, distance)
    }
    /// C# member: `M:LibreMetaverse.RLV.RlvPermissionsService.CanTpLm`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.RLV.RlvPermissionsService.CanTpLm()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn can_tp_lm(&self) -> Result<bool, crate::Error> {
        /* reviewed native compatibility body */
        self.native_can_tp_lm()
    }
    /// C# member: `M:LibreMetaverse.RLV.RlvPermissionsService.CanTpLoc`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.RLV.RlvPermissionsService.CanTpLoc()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn can_tp_loc(&self) -> Result<bool, crate::Error> {
        /* reviewed native compatibility body */
        self.native_can_tp_loc()
    }
    /// C# member: `M:LibreMetaverse.RLV.RlvPermissionsService.CanTpLocal(System.Single@)`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.RLV.RlvPermissionsService.CanTpLocal(out System.Single& maxDistance)`.
    /// Mapping contract: ownership `shared_self,mutable_output`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn can_tp_local(&self, max_distance: &mut f32) -> Result<bool, crate::Error> {
        /* reviewed native compatibility body */
        self.native_can_tp_local(max_distance)
    }
    /// C# member: `M:LibreMetaverse.RLV.RlvPermissionsService.CanTpRequest(System.Nullable{System.Guid})`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.RLV.RlvPermissionsService.CanTpRequest(System.Nullable<System.Guid> userId)`.
    /// Mapping contract: ownership `shared_self,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn can_tp_request(
        &self,
        user_id: Option<Option<libremetaverse_types::compat::Guid>>,
    ) -> Result<bool, crate::Error> {
        /* reviewed native compatibility body */
        self.native_can_tp_request(user_id)
    }
    /// C# member: `M:LibreMetaverse.RLV.RlvPermissionsService.CanUnsit`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.RLV.RlvPermissionsService.CanUnsit()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn can_unsit(&self) -> Result<bool, crate::Error> {
        /* reviewed native compatibility body */
        self.native_can_unsit()
    }
    /// C# member: `M:LibreMetaverse.RLV.RlvPermissionsService.CanViewNote`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.RLV.RlvPermissionsService.CanViewNote()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn can_view_note(&self) -> Result<bool, crate::Error> {
        /* reviewed native compatibility body */
        self.native_can_view_note()
    }
    /// C# member: `M:LibreMetaverse.RLV.RlvPermissionsService.CanViewScript`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.RLV.RlvPermissionsService.CanViewScript()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn can_view_script(&self) -> Result<bool, crate::Error> {
        /* reviewed native compatibility body */
        self.native_can_view_script()
    }
    /// C# member: `M:LibreMetaverse.RLV.RlvPermissionsService.CanViewTexture`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.RLV.RlvPermissionsService.CanViewTexture()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn can_view_texture(&self) -> Result<bool, crate::Error> {
        /* reviewed native compatibility body */
        self.native_can_view_texture()
    }
    /// C# member: `M:LibreMetaverse.RLV.RlvPermissionsService.GetCameraRestrictions`.
    ///
    /// C# signature: `LibreMetaverse.RLV.CameraRestrictions LibreMetaverse.RLV.RlvPermissionsService.GetCameraRestrictions()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn get_camera_restrictions(
        &self,
    ) -> Result<libremetaverse_rlv::CameraRestrictions, crate::Error> {
        /* reviewed native compatibility body */
        self.native_get_camera_restrictions()
    }
    /// C# member: `M:LibreMetaverse.RLV.RlvPermissionsService.IsAutoAcceptPermissions`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.RLV.RlvPermissionsService.IsAutoAcceptPermissions()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn is_auto_accept_permissions(&self) -> Result<bool, crate::Error> {
        /* reviewed native compatibility body */
        self.native_is_auto_accept_permissions()
    }
    /// C# member: `M:LibreMetaverse.RLV.RlvPermissionsService.IsAutoAcceptTp(System.Nullable{System.Guid})`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.RLV.RlvPermissionsService.IsAutoAcceptTp(System.Nullable<System.Guid> userId = default)`.
    /// Mapping contract: ownership `shared_self,optional_owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn is_auto_accept_tp(
        &self,
        user_id: Option<Option<libremetaverse_types::compat::Guid>>,
    ) -> Result<bool, crate::Error> {
        /* reviewed native compatibility body */
        self.native_is_auto_accept_tp(user_id)
    }
    /// C# member: `M:LibreMetaverse.RLV.RlvPermissionsService.IsAutoAcceptTpRequest(System.Nullable{System.Guid})`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.RLV.RlvPermissionsService.IsAutoAcceptTpRequest(System.Nullable<System.Guid> userId = default)`.
    /// Mapping contract: ownership `shared_self,optional_owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn is_auto_accept_tp_request(
        &self,
        user_id: Option<Option<libremetaverse_types::compat::Guid>>,
    ) -> Result<bool, crate::Error> {
        /* reviewed native compatibility body */
        self.native_is_auto_accept_tp_request(user_id)
    }
    /// C# member: `M:LibreMetaverse.RLV.RlvPermissionsService.IsAutoDenyPermissions`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.RLV.RlvPermissionsService.IsAutoDenyPermissions()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn is_auto_deny_permissions(&self) -> Result<bool, crate::Error> {
        /* reviewed native compatibility body */
        self.native_is_auto_deny_permissions()
    }
    /// C# member: `M:LibreMetaverse.RLV.RlvPermissionsService.IsPermissive`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.RLV.RlvPermissionsService.IsPermissive()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn is_permissive(&self) -> Result<bool, crate::Error> {
        /* reviewed native compatibility body */
        self.native_is_permissive()
    }
    /// C# member: `M:LibreMetaverse.RLV.RlvPermissionsService.TryGetMaxFarTouchDistance(System.Single@)`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.RLV.RlvPermissionsService.TryGetMaxFarTouchDistance(out System.Single& maxDistance)`.
    /// Mapping contract: ownership `shared_self,mutable_output`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
    pub fn try_get_max_far_touch_distance(&self, max_distance: &mut f32) -> bool {
        /* reviewed native compatibility body */
        self.native_try_get_max_far_touch_distance(max_distance)
    }
    /// C# member: `M:LibreMetaverse.RLV.RlvPermissionsService.TryGetRedirChatChannels(System.Collections.Generic.IReadOnlyList{System.Int32}@)`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.RLV.RlvPermissionsService.TryGetRedirChatChannels(out System.Collections.Generic.IReadOnlyList<System.Int32>& channels)`.
    /// Mapping contract: ownership `shared_self,mutable_output`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
    pub fn try_get_redir_chat_channels(&self, channels: &mut Vec<i32>) -> bool {
        /* reviewed native compatibility body */
        self.native_try_get_redir_chat_channels(channels)
    }
    /// C# member: `M:LibreMetaverse.RLV.RlvPermissionsService.TryGetRedirEmoteChannels(System.Collections.Generic.IReadOnlyList{System.Int32}@)`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.RLV.RlvPermissionsService.TryGetRedirEmoteChannels(out System.Collections.Generic.IReadOnlyList<System.Int32>& channels)`.
    /// Mapping contract: ownership `shared_self,mutable_output`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
    pub fn try_get_redir_emote_channels(&self, channels: &mut Vec<i32>) -> bool {
        /* reviewed native compatibility body */
        self.native_try_get_redir_emote_channels(channels)
    }
}

/// C# type: `T:LibreMetaverse.RLV.RlvPermissionsService.HoverTextLocation`.
///
/// Native Rust mapping of C# `LibreMetaverse.RLV.RlvPermissionsService.HoverTextLocation` 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 RlvPermissionsServiceHoverTextLocation {
    /// C# member: `F:LibreMetaverse.RLV.RlvPermissionsService.HoverTextLocation.Hud`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvPermissionsService.HoverTextLocation LibreMetaverse.RLV.RlvPermissionsService.HoverTextLocation.Hud`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Hud = 1,
    /// C# member: `F:LibreMetaverse.RLV.RlvPermissionsService.HoverTextLocation.World`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvPermissionsService.HoverTextLocation LibreMetaverse.RLV.RlvPermissionsService.HoverTextLocation.World`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    World = 0,
}

/// C# type: `T:LibreMetaverse.RLV.RlvPermissionsService.ObjectLocation`.
///
/// Native Rust mapping of C# `LibreMetaverse.RLV.RlvPermissionsService.ObjectLocation` 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 RlvPermissionsServiceObjectLocation {
    /// C# member: `F:LibreMetaverse.RLV.RlvPermissionsService.ObjectLocation.Attached`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvPermissionsService.ObjectLocation LibreMetaverse.RLV.RlvPermissionsService.ObjectLocation.Attached`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Attached = 1,
    /// C# member: `F:LibreMetaverse.RLV.RlvPermissionsService.ObjectLocation.Hud`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvPermissionsService.ObjectLocation LibreMetaverse.RLV.RlvPermissionsService.ObjectLocation.Hud`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Hud = 0,
    /// C# member: `F:LibreMetaverse.RLV.RlvPermissionsService.ObjectLocation.RezzedInWorld`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvPermissionsService.ObjectLocation LibreMetaverse.RLV.RlvPermissionsService.ObjectLocation.RezzedInWorld`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    RezzedInWorld = 2,
}

/// C# type: `T:LibreMetaverse.RLV.RlvPermissionsService.TouchLocation`.
///
/// Native Rust mapping of C# `LibreMetaverse.RLV.RlvPermissionsService.TouchLocation` 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 RlvPermissionsServiceTouchLocation {
    /// C# member: `F:LibreMetaverse.RLV.RlvPermissionsService.TouchLocation.AttachedOther`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvPermissionsService.TouchLocation LibreMetaverse.RLV.RlvPermissionsService.TouchLocation.AttachedOther`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    AttachedOther = 2,
    /// C# member: `F:LibreMetaverse.RLV.RlvPermissionsService.TouchLocation.AttachedSelf`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvPermissionsService.TouchLocation LibreMetaverse.RLV.RlvPermissionsService.TouchLocation.AttachedSelf`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    AttachedSelf = 1,
    /// C# member: `F:LibreMetaverse.RLV.RlvPermissionsService.TouchLocation.Hud`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvPermissionsService.TouchLocation LibreMetaverse.RLV.RlvPermissionsService.TouchLocation.Hud`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Hud = 0,
    /// C# member: `F:LibreMetaverse.RLV.RlvPermissionsService.TouchLocation.RezzedInWorld`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvPermissionsService.TouchLocation LibreMetaverse.RLV.RlvPermissionsService.TouchLocation.RezzedInWorld`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    RezzedInWorld = 3,
}

/// C# type: `T:LibreMetaverse.RLV.RlvRestriction`.
///
/// Native Rust mapping of C# `LibreMetaverse.RLV.RlvRestriction` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
pub use crate::protocol::RlvRestriction;
impl RlvRestriction {
    /// C# member: `M:LibreMetaverse.RLV.RlvRestriction.#ctor(LibreMetaverse.RLV.RlvRestrictionType,System.Guid,System.String,System.Collections.Generic.ICollection{System.Object})`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvRestriction(LibreMetaverse.RLV.RlvRestrictionType behavior, System.Guid sender, System.String senderName, System.Collections.Generic.ICollection<System.Object> args)`.
    /// Mapping contract: ownership `owned,owned,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn new(
        behavior: libremetaverse_rlv::RlvRestrictionType,
        sender: libremetaverse_types::compat::Guid,
        sender_name: String,
        args: Vec<libremetaverse_types::compat::Object>,
    ) -> Result<Self, crate::Error> {
        /* reviewed native compatibility body */
        Self::native_new(behavior, sender, sender_name, args)
    }
    /// C# member: `M:LibreMetaverse.RLV.RlvRestriction.Equals(System.Object)`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.RLV.RlvRestriction.Equals(System.Object obj)`.
    /// Mapping contract: ownership `shared_self,owned`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
    pub fn equals(&self, obj: Option<libremetaverse_types::compat::Object>) -> bool {
        /* reviewed native compatibility body */
        self.native_equals(obj)
    }
    /// C# member: `M:LibreMetaverse.RLV.RlvRestriction.GetHashCode`.
    ///
    /// C# signature: `System.Int32 LibreMetaverse.RLV.RlvRestriction.GetHashCode()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
    pub fn get_hash_code(&self) -> i32 {
        /* reviewed native compatibility body */
        self.native_get_hash_code()
    }
    /// C# member: `M:LibreMetaverse.RLV.RlvRestriction.ToString`.
    ///
    /// C# signature: `System.String LibreMetaverse.RLV.RlvRestriction.ToString()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
    pub fn to_string(&self) -> String {
        /* reviewed native compatibility body */
        self.native_to_string()
    }
    /// C# member: `P:LibreMetaverse.RLV.RlvRestriction.Args`.
    ///
    /// C# signature: `System.Collections.Immutable.ImmutableList<System.Object> LibreMetaverse.RLV.RlvRestriction.Args`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn args(
        &self,
    ) -> libremetaverse_types::compat::ImmutableList<libremetaverse_types::compat::Object> {
        /* reviewed native compatibility body */
        self.native_args()
    }
    /// C# member: `P:LibreMetaverse.RLV.RlvRestriction.Behavior`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvRestrictionType LibreMetaverse.RLV.RlvRestriction.Behavior`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn behavior(&self) -> libremetaverse_rlv::RlvRestrictionType {
        /* reviewed native compatibility body */
        self.native_behavior()
    }
    /// C# member: `P:LibreMetaverse.RLV.RlvRestriction.IsException`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.RLV.RlvRestriction.IsException`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn is_exception(&self) -> bool {
        /* reviewed native compatibility body */
        self.native_is_exception()
    }
    /// C# member: `P:LibreMetaverse.RLV.RlvRestriction.OriginalBehavior`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvRestrictionType LibreMetaverse.RLV.RlvRestriction.OriginalBehavior`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn original_behavior(&self) -> libremetaverse_rlv::RlvRestrictionType {
        /* reviewed native compatibility body */
        self.native_original_behavior()
    }
    /// C# member: `P:LibreMetaverse.RLV.RlvRestriction.Sender`.
    ///
    /// C# signature: `System.Guid LibreMetaverse.RLV.RlvRestriction.Sender`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn sender(&self) -> libremetaverse_types::compat::Guid {
        /* reviewed native compatibility body */
        self.native_sender()
    }
    /// C# member: `P:LibreMetaverse.RLV.RlvRestriction.SenderName`.
    ///
    /// C# signature: `System.String LibreMetaverse.RLV.RlvRestriction.SenderName`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn sender_name(&self) -> String {
        /* reviewed native compatibility body */
        self.native_sender_name()
    }
}

/// C# type: `T:LibreMetaverse.RLV.RlvRestrictionManager`.
///
/// Native Rust mapping of C# `LibreMetaverse.RLV.RlvRestrictionManager` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
pub use crate::state::RlvRestrictionManager;
impl RlvRestrictionManager {
    /// C# member: `E:LibreMetaverse.RLV.RlvRestrictionManager.RestrictionUpdated`.
    ///
    /// C# signature: `System.EventHandler<LibreMetaverse.RLV.EventArguments.RestrictionUpdatedEventArgs> LibreMetaverse.RLV.RlvRestrictionManager.RestrictionUpdated`.
    /// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
    pub fn subscribe_restriction_updated(
        &self,
        handler: Option<
            libremetaverse_types::compat::EventHandler<
                libremetaverse_rlv::event_arguments::RestrictionUpdatedEventArgs,
            >,
        >,
    ) -> libremetaverse_types::compat::Subscription {
        /* reviewed native compatibility body */
        self.native_subscribe_restriction_updated(handler)
    }
    /// C# member: `M:LibreMetaverse.RLV.RlvRestrictionManager.FindRestrictions(System.String,System.Nullable{System.Guid})`.
    ///
    /// C# signature: `System.Collections.Generic.IReadOnlyList<LibreMetaverse.RLV.RlvRestriction> LibreMetaverse.RLV.RlvRestrictionManager.FindRestrictions(System.String behaviorNameFilter = default, System.Nullable<System.Guid> senderFilter = default)`.
    /// Mapping contract: ownership `shared_self,optional_owned,optional_owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn find_restrictions(
        &self,
        behavior_name_filter: Option<String>,
        sender_filter: Option<Option<libremetaverse_types::compat::Guid>>,
    ) -> Result<Vec<libremetaverse_rlv::RlvRestriction>, crate::Error> {
        /* reviewed native compatibility body */
        self.native_find_restrictions(behavior_name_filter, sender_filter)
    }
    /// C# member: `M:LibreMetaverse.RLV.RlvRestrictionManager.GetLockedFolders`.
    ///
    /// C# signature: `System.Collections.Generic.IReadOnlyDictionary<System.Guid, LibreMetaverse.RLV.LockedFolderPublic> LibreMetaverse.RLV.RlvRestrictionManager.GetLockedFolders()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn get_locked_folders(
        &self,
    ) -> Result<
        std::collections::HashMap<
            libremetaverse_types::compat::Guid,
            libremetaverse_rlv::LockedFolderPublic,
        >,
        crate::Error,
    > {
        /* reviewed native compatibility body */
        self.native_get_locked_folders()
    }
    /// C# member: `M:LibreMetaverse.RLV.RlvRestrictionManager.GetRestrictionsByType(LibreMetaverse.RLV.RlvRestrictionType)`.
    ///
    /// C# signature: `System.Collections.Generic.IReadOnlyList<LibreMetaverse.RLV.RlvRestriction> LibreMetaverse.RLV.RlvRestrictionManager.GetRestrictionsByType(LibreMetaverse.RLV.RlvRestrictionType restrictionType)`.
    /// Mapping contract: ownership `shared_self,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn get_restrictions_by_type(
        &self,
        restriction_type: libremetaverse_rlv::RlvRestrictionType,
    ) -> Result<Vec<libremetaverse_rlv::RlvRestriction>, crate::Error> {
        /* reviewed native compatibility body */
        self.native_get_restrictions_by_type(restriction_type)
    }
    /// C# member: `M:LibreMetaverse.RLV.RlvRestrictionManager.GetTrackedPrimIds`.
    ///
    /// C# signature: `System.Collections.Generic.IEnumerable<System.Guid> LibreMetaverse.RLV.RlvRestrictionManager.GetTrackedPrimIds()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn get_tracked_prim_ids(
        &self,
    ) -> Result<Box<dyn Iterator<Item = libremetaverse_types::compat::Guid>>, crate::Error> {
        /* reviewed native compatibility body */
        self.native_get_tracked_prim_ids()
    }
    /// C# member: `M:LibreMetaverse.RLV.RlvRestrictionManager.RemoveRestrictionsForObjectsAsync(System.Collections.Generic.IEnumerable{System.Guid},System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task LibreMetaverse.RLV.RlvRestrictionManager.RemoveRestrictionsForObjectsAsync(System.Collections.Generic.IEnumerable<System.Guid> primIds, System.Threading.CancellationToken cancellationToken = default)`.
    /// Mapping contract: ownership `shared_self,owned,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub async fn remove_restrictions_for_objects(
        &self,
        prim_ids: Box<dyn Iterator<Item = libremetaverse_types::compat::Guid>>,
        cancellation_token: Option<libremetaverse_types::compat::CancellationToken>,
    ) -> Result<(), crate::Error> {
        /* reviewed native compatibility body */
        self.native_remove_restrictions_for_objects(prim_ids, cancellation_token)
            .await
    }
    /// C# member: `M:LibreMetaverse.RLV.RlvRestrictionManager.TryGetLockedFolder(System.Guid,LibreMetaverse.RLV.LockedFolderPublic@)`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.RLV.RlvRestrictionManager.TryGetLockedFolder(System.Guid folderId, out LibreMetaverse.RLV.LockedFolderPublic& lockedFolder)`.
    /// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
    pub fn try_get_locked_folder(
        &self,
        folder_id: libremetaverse_types::compat::Guid,
        locked_folder: &mut Option<libremetaverse_rlv::LockedFolderPublic>,
    ) -> bool {
        /* reviewed native compatibility body */
        self.native_try_get_locked_folder(folder_id, locked_folder)
    }
}

/// C# type: `T:LibreMetaverse.RLV.RlvRestrictionType`.
///
/// Native Rust mapping of C# `LibreMetaverse.RLV.RlvRestrictionType` 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 RlvRestrictionType {
    /// C# member: `F:LibreMetaverse.RLV.RlvRestrictionType.AcceptPermission`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvRestrictionType LibreMetaverse.RLV.RlvRestrictionType.AcceptPermission`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    AcceptPermission = 79,
    /// C# member: `F:LibreMetaverse.RLV.RlvRestrictionType.AcceptTp`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvRestrictionType LibreMetaverse.RLV.RlvRestrictionType.AcceptTp`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    AcceptTp = 56,
    /// C# member: `F:LibreMetaverse.RLV.RlvRestrictionType.AcceptTpRequest`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvRestrictionType LibreMetaverse.RLV.RlvRestrictionType.AcceptTpRequest`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    AcceptTpRequest = 57,
    /// C# member: `F:LibreMetaverse.RLV.RlvRestrictionType.AddAttach`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvRestrictionType LibreMetaverse.RLV.RlvRestrictionType.AddAttach`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    AddAttach = 74,
    /// C# member: `F:LibreMetaverse.RLV.RlvRestrictionType.AddOutfit`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvRestrictionType LibreMetaverse.RLV.RlvRestrictionType.AddOutfit`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    AddOutfit = 77,
    /// C# member: `F:LibreMetaverse.RLV.RlvRestrictionType.AllowIdle`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvRestrictionType LibreMetaverse.RLV.RlvRestrictionType.AllowIdle`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    AllowIdle = 118,
    /// C# member: `F:LibreMetaverse.RLV.RlvRestrictionType.AlwaysRun`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvRestrictionType LibreMetaverse.RLV.RlvRestrictionType.AlwaysRun`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    AlwaysRun = 5,
    /// C# member: `F:LibreMetaverse.RLV.RlvRestrictionType.AttachAllThis`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvRestrictionType LibreMetaverse.RLV.RlvRestrictionType.AttachAllThis`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    AttachAllThis = 88,
    /// C# member: `F:LibreMetaverse.RLV.RlvRestrictionType.AttachAllThisExcept`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvRestrictionType LibreMetaverse.RLV.RlvRestrictionType.AttachAllThisExcept`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    AttachAllThisExcept = 92,
    /// C# member: `F:LibreMetaverse.RLV.RlvRestrictionType.AttachThis`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvRestrictionType LibreMetaverse.RLV.RlvRestrictionType.AttachThis`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    AttachThis = 87,
    /// C# member: `F:LibreMetaverse.RLV.RlvRestrictionType.AttachThisExcept`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvRestrictionType LibreMetaverse.RLV.RlvRestrictionType.AttachThisExcept`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    AttachThisExcept = 91,
    /// C# member: `F:LibreMetaverse.RLV.RlvRestrictionType.CamAvDist`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvRestrictionType LibreMetaverse.RLV.RlvRestrictionType.CamAvDist`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    CamAvDist = 21,
    /// C# member: `F:LibreMetaverse.RLV.RlvRestrictionType.CamDistMax`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvRestrictionType LibreMetaverse.RLV.RlvRestrictionType.CamDistMax`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    CamDistMax = 10,
    /// C# member: `F:LibreMetaverse.RLV.RlvRestrictionType.CamDistMin`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvRestrictionType LibreMetaverse.RLV.RlvRestrictionType.CamDistMin`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    CamDistMin = 12,
    /// C# member: `F:LibreMetaverse.RLV.RlvRestrictionType.CamDrawAlphaMax`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvRestrictionType LibreMetaverse.RLV.RlvRestrictionType.CamDrawAlphaMax`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    CamDrawAlphaMax = 17,
    /// C# member: `F:LibreMetaverse.RLV.RlvRestrictionType.CamDrawAlphaMin`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvRestrictionType LibreMetaverse.RLV.RlvRestrictionType.CamDrawAlphaMin`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    CamDrawAlphaMin = 16,
    /// C# member: `F:LibreMetaverse.RLV.RlvRestrictionType.CamDrawColor`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvRestrictionType LibreMetaverse.RLV.RlvRestrictionType.CamDrawColor`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    CamDrawColor = 18,
    /// C# member: `F:LibreMetaverse.RLV.RlvRestrictionType.CamDrawMax`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvRestrictionType LibreMetaverse.RLV.RlvRestrictionType.CamDrawMax`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    CamDrawMax = 15,
    /// C# member: `F:LibreMetaverse.RLV.RlvRestrictionType.CamDrawMin`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvRestrictionType LibreMetaverse.RLV.RlvRestrictionType.CamDrawMin`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    CamDrawMin = 14,
    /// C# member: `F:LibreMetaverse.RLV.RlvRestrictionType.CamTextures`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvRestrictionType LibreMetaverse.RLV.RlvRestrictionType.CamTextures`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    CamTextures = 22,
    /// C# member: `F:LibreMetaverse.RLV.RlvRestrictionType.CamUnlock`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvRestrictionType LibreMetaverse.RLV.RlvRestrictionType.CamUnlock`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    CamUnlock = 19,
    /// C# member: `F:LibreMetaverse.RLV.RlvRestrictionType.CamZoomMax`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvRestrictionType LibreMetaverse.RLV.RlvRestrictionType.CamZoomMax`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    CamZoomMax = 6,
    /// C# member: `F:LibreMetaverse.RLV.RlvRestrictionType.CamZoomMin`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvRestrictionType LibreMetaverse.RLV.RlvRestrictionType.CamZoomMin`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    CamZoomMin = 7,
    /// C# member: `F:LibreMetaverse.RLV.RlvRestrictionType.ChatNormal`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvRestrictionType LibreMetaverse.RLV.RlvRestrictionType.ChatNormal`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    ChatNormal = 26,
    /// C# member: `F:LibreMetaverse.RLV.RlvRestrictionType.ChatShout`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvRestrictionType LibreMetaverse.RLV.RlvRestrictionType.ChatShout`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    ChatShout = 25,
    /// C# member: `F:LibreMetaverse.RLV.RlvRestrictionType.ChatWhisper`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvRestrictionType LibreMetaverse.RLV.RlvRestrictionType.ChatWhisper`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    ChatWhisper = 27,
    /// C# member: `F:LibreMetaverse.RLV.RlvRestrictionType.DefaultWear`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvRestrictionType LibreMetaverse.RLV.RlvRestrictionType.DefaultWear`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    DefaultWear = 76,
    /// C# member: `F:LibreMetaverse.RLV.RlvRestrictionType.DenyPermission`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvRestrictionType LibreMetaverse.RLV.RlvRestrictionType.DenyPermission`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    DenyPermission = 80,
    /// C# member: `F:LibreMetaverse.RLV.RlvRestrictionType.Detach`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvRestrictionType LibreMetaverse.RLV.RlvRestrictionType.Detach`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Detach = 73,
    /// C# member: `F:LibreMetaverse.RLV.RlvRestrictionType.DetachAllThis`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvRestrictionType LibreMetaverse.RLV.RlvRestrictionType.DetachAllThis`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    DetachAllThis = 86,
    /// C# member: `F:LibreMetaverse.RLV.RlvRestrictionType.DetachAllThisExcept`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvRestrictionType LibreMetaverse.RLV.RlvRestrictionType.DetachAllThisExcept`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    DetachAllThisExcept = 90,
    /// C# member: `F:LibreMetaverse.RLV.RlvRestrictionType.DetachThis`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvRestrictionType LibreMetaverse.RLV.RlvRestrictionType.DetachThis`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    DetachThis = 85,
    /// C# member: `F:LibreMetaverse.RLV.RlvRestrictionType.DetachThisExcept`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvRestrictionType LibreMetaverse.RLV.RlvRestrictionType.DetachThisExcept`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    DetachThisExcept = 89,
    /// C# member: `F:LibreMetaverse.RLV.RlvRestrictionType.Edit`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvRestrictionType LibreMetaverse.RLV.RlvRestrictionType.Edit`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Edit = 64,
    /// C# member: `F:LibreMetaverse.RLV.RlvRestrictionType.EditAttach`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvRestrictionType LibreMetaverse.RLV.RlvRestrictionType.EditAttach`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    EditAttach = 68,
    /// C# member: `F:LibreMetaverse.RLV.RlvRestrictionType.EditObj`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvRestrictionType LibreMetaverse.RLV.RlvRestrictionType.EditObj`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    EditObj = 66,
    /// C# member: `F:LibreMetaverse.RLV.RlvRestrictionType.EditWorld`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvRestrictionType LibreMetaverse.RLV.RlvRestrictionType.EditWorld`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    EditWorld = 67,
    /// C# member: `F:LibreMetaverse.RLV.RlvRestrictionType.Emote`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvRestrictionType LibreMetaverse.RLV.RlvRestrictionType.Emote`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Emote = 33,
    /// C# member: `F:LibreMetaverse.RLV.RlvRestrictionType.FarTouch`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvRestrictionType LibreMetaverse.RLV.RlvRestrictionType.FarTouch`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    FarTouch = 93,
    /// C# member: `F:LibreMetaverse.RLV.RlvRestrictionType.Fly`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvRestrictionType LibreMetaverse.RLV.RlvRestrictionType.Fly`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Fly = 2,
    /// C# member: `F:LibreMetaverse.RLV.RlvRestrictionType.Interact`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvRestrictionType LibreMetaverse.RLV.RlvRestrictionType.Interact`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Interact = 103,
    /// C# member: `F:LibreMetaverse.RLV.RlvRestrictionType.Jump`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvRestrictionType LibreMetaverse.RLV.RlvRestrictionType.Jump`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Jump = 3,
    /// C# member: `F:LibreMetaverse.RLV.RlvRestrictionType.Notify`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvRestrictionType LibreMetaverse.RLV.RlvRestrictionType.Notify`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Notify = 0,
    /// C# member: `F:LibreMetaverse.RLV.RlvRestrictionType.Permissive`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvRestrictionType LibreMetaverse.RLV.RlvRestrictionType.Permissive`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Permissive = 1,
    /// C# member: `F:LibreMetaverse.RLV.RlvRestrictionType.RecvChat`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvRestrictionType LibreMetaverse.RLV.RlvRestrictionType.RecvChat`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    RecvChat = 29,
    /// C# member: `F:LibreMetaverse.RLV.RlvRestrictionType.RecvChatFrom`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvRestrictionType LibreMetaverse.RLV.RlvRestrictionType.RecvChatFrom`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    RecvChatFrom = 31,
    /// C# member: `F:LibreMetaverse.RLV.RlvRestrictionType.RecvChatSec`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvRestrictionType LibreMetaverse.RLV.RlvRestrictionType.RecvChatSec`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    RecvChatSec = 30,
    /// C# member: `F:LibreMetaverse.RLV.RlvRestrictionType.RecvEmote`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvRestrictionType LibreMetaverse.RLV.RlvRestrictionType.RecvEmote`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    RecvEmote = 35,
    /// C# member: `F:LibreMetaverse.RLV.RlvRestrictionType.RecvEmoteFrom`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvRestrictionType LibreMetaverse.RLV.RlvRestrictionType.RecvEmoteFrom`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    RecvEmoteFrom = 36,
    /// C# member: `F:LibreMetaverse.RLV.RlvRestrictionType.RecvEmoteSec`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvRestrictionType LibreMetaverse.RLV.RlvRestrictionType.RecvEmoteSec`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    RecvEmoteSec = 37,
    /// C# member: `F:LibreMetaverse.RLV.RlvRestrictionType.RecvIm`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvRestrictionType LibreMetaverse.RLV.RlvRestrictionType.RecvIm`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    RecvIm = 46,
    /// C# member: `F:LibreMetaverse.RLV.RlvRestrictionType.RecvImFrom`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvRestrictionType LibreMetaverse.RLV.RlvRestrictionType.RecvImFrom`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    RecvImFrom = 48,
    /// C# member: `F:LibreMetaverse.RLV.RlvRestrictionType.RecvImSec`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvRestrictionType LibreMetaverse.RLV.RlvRestrictionType.RecvImSec`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    RecvImSec = 47,
    /// C# member: `F:LibreMetaverse.RLV.RlvRestrictionType.RedirChat`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvRestrictionType LibreMetaverse.RLV.RlvRestrictionType.RedirChat`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    RedirChat = 28,
    /// C# member: `F:LibreMetaverse.RLV.RlvRestrictionType.RedirEmote`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvRestrictionType LibreMetaverse.RLV.RlvRestrictionType.RedirEmote`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    RedirEmote = 34,
    /// C# member: `F:LibreMetaverse.RLV.RlvRestrictionType.RemAttach`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvRestrictionType LibreMetaverse.RLV.RlvRestrictionType.RemAttach`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    RemAttach = 75,
    /// C# member: `F:LibreMetaverse.RLV.RlvRestrictionType.RemOutfit`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvRestrictionType LibreMetaverse.RLV.RlvRestrictionType.RemOutfit`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    RemOutfit = 78,
    /// C# member: `F:LibreMetaverse.RLV.RlvRestrictionType.Rez`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvRestrictionType LibreMetaverse.RLV.RlvRestrictionType.Rez`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Rez = 65,
    /// C# member: `F:LibreMetaverse.RLV.RlvRestrictionType.SendChannel`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvRestrictionType LibreMetaverse.RLV.RlvRestrictionType.SendChannel`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    SendChannel = 38,
    /// C# member: `F:LibreMetaverse.RLV.RlvRestrictionType.SendChannelExcept`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvRestrictionType LibreMetaverse.RLV.RlvRestrictionType.SendChannelExcept`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    SendChannelExcept = 40,
    /// C# member: `F:LibreMetaverse.RLV.RlvRestrictionType.SendChannelSec`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvRestrictionType LibreMetaverse.RLV.RlvRestrictionType.SendChannelSec`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    SendChannelSec = 39,
    /// C# member: `F:LibreMetaverse.RLV.RlvRestrictionType.SendChat`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvRestrictionType LibreMetaverse.RLV.RlvRestrictionType.SendChat`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    SendChat = 24,
    /// C# member: `F:LibreMetaverse.RLV.RlvRestrictionType.SendGesture`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvRestrictionType LibreMetaverse.RLV.RlvRestrictionType.SendGesture`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    SendGesture = 32,
    /// C# member: `F:LibreMetaverse.RLV.RlvRestrictionType.SendIm`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvRestrictionType LibreMetaverse.RLV.RlvRestrictionType.SendIm`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    SendIm = 41,
    /// C# member: `F:LibreMetaverse.RLV.RlvRestrictionType.SendImSec`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvRestrictionType LibreMetaverse.RLV.RlvRestrictionType.SendImSec`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    SendImSec = 42,
    /// C# member: `F:LibreMetaverse.RLV.RlvRestrictionType.SendImTo`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvRestrictionType LibreMetaverse.RLV.RlvRestrictionType.SendImTo`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    SendImTo = 43,
    /// C# member: `F:LibreMetaverse.RLV.RlvRestrictionType.SetCamAvDistMax`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvRestrictionType LibreMetaverse.RLV.RlvRestrictionType.SetCamAvDistMax`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    SetCamAvDistMax = 11,
    /// C# member: `F:LibreMetaverse.RLV.RlvRestrictionType.SetCamAvDistMin`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvRestrictionType LibreMetaverse.RLV.RlvRestrictionType.SetCamAvDistMin`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    SetCamAvDistMin = 13,
    /// C# member: `F:LibreMetaverse.RLV.RlvRestrictionType.SetCamFovMax`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvRestrictionType LibreMetaverse.RLV.RlvRestrictionType.SetCamFovMax`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    SetCamFovMax = 9,
    /// C# member: `F:LibreMetaverse.RLV.RlvRestrictionType.SetCamFovMin`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvRestrictionType LibreMetaverse.RLV.RlvRestrictionType.SetCamFovMin`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    SetCamFovMin = 8,
    /// C# member: `F:LibreMetaverse.RLV.RlvRestrictionType.SetCamTextures`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvRestrictionType LibreMetaverse.RLV.RlvRestrictionType.SetCamTextures`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    SetCamTextures = 23,
    /// C# member: `F:LibreMetaverse.RLV.RlvRestrictionType.SetCamUnlock`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvRestrictionType LibreMetaverse.RLV.RlvRestrictionType.SetCamUnlock`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    SetCamUnlock = 20,
    /// C# member: `F:LibreMetaverse.RLV.RlvRestrictionType.SetDebug`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvRestrictionType LibreMetaverse.RLV.RlvRestrictionType.SetDebug`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    SetDebug = 116,
    /// C# member: `F:LibreMetaverse.RLV.RlvRestrictionType.SetEnv`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvRestrictionType LibreMetaverse.RLV.RlvRestrictionType.SetEnv`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    SetEnv = 117,
    /// C# member: `F:LibreMetaverse.RLV.RlvRestrictionType.SetGroup`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvRestrictionType LibreMetaverse.RLV.RlvRestrictionType.SetGroup`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    SetGroup = 115,
    /// C# member: `F:LibreMetaverse.RLV.RlvRestrictionType.Share`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvRestrictionType LibreMetaverse.RLV.RlvRestrictionType.Share`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Share = 69,
    /// C# member: `F:LibreMetaverse.RLV.RlvRestrictionType.ShareSec`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvRestrictionType LibreMetaverse.RLV.RlvRestrictionType.ShareSec`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    ShareSec = 70,
    /// C# member: `F:LibreMetaverse.RLV.RlvRestrictionType.SharedUnwear`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvRestrictionType LibreMetaverse.RLV.RlvRestrictionType.SharedUnwear`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    SharedUnwear = 84,
    /// C# member: `F:LibreMetaverse.RLV.RlvRestrictionType.SharedWear`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvRestrictionType LibreMetaverse.RLV.RlvRestrictionType.SharedWear`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    SharedWear = 83,
    /// C# member: `F:LibreMetaverse.RLV.RlvRestrictionType.ShowHoverText`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvRestrictionType LibreMetaverse.RLV.RlvRestrictionType.ShowHoverText`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    ShowHoverText = 112,
    /// C# member: `F:LibreMetaverse.RLV.RlvRestrictionType.ShowHoverTextAll`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvRestrictionType LibreMetaverse.RLV.RlvRestrictionType.ShowHoverTextAll`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    ShowHoverTextAll = 111,
    /// C# member: `F:LibreMetaverse.RLV.RlvRestrictionType.ShowHoverTextHud`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvRestrictionType LibreMetaverse.RLV.RlvRestrictionType.ShowHoverTextHud`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    ShowHoverTextHud = 113,
    /// C# member: `F:LibreMetaverse.RLV.RlvRestrictionType.ShowHoverTextWorld`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvRestrictionType LibreMetaverse.RLV.RlvRestrictionType.ShowHoverTextWorld`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    ShowHoverTextWorld = 114,
    /// C# member: `F:LibreMetaverse.RLV.RlvRestrictionType.ShowInv`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvRestrictionType LibreMetaverse.RLV.RlvRestrictionType.ShowInv`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    ShowInv = 60,
    /// C# member: `F:LibreMetaverse.RLV.RlvRestrictionType.ShowLoc`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvRestrictionType LibreMetaverse.RLV.RlvRestrictionType.ShowLoc`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    ShowLoc = 106,
    /// C# member: `F:LibreMetaverse.RLV.RlvRestrictionType.ShowMiniMap`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvRestrictionType LibreMetaverse.RLV.RlvRestrictionType.ShowMiniMap`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    ShowMiniMap = 105,
    /// C# member: `F:LibreMetaverse.RLV.RlvRestrictionType.ShowNameTags`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvRestrictionType LibreMetaverse.RLV.RlvRestrictionType.ShowNameTags`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    ShowNameTags = 109,
    /// C# member: `F:LibreMetaverse.RLV.RlvRestrictionType.ShowNames`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvRestrictionType LibreMetaverse.RLV.RlvRestrictionType.ShowNames`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    ShowNames = 107,
    /// C# member: `F:LibreMetaverse.RLV.RlvRestrictionType.ShowNamesSec`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvRestrictionType LibreMetaverse.RLV.RlvRestrictionType.ShowNamesSec`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    ShowNamesSec = 108,
    /// C# member: `F:LibreMetaverse.RLV.RlvRestrictionType.ShowNearby`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvRestrictionType LibreMetaverse.RLV.RlvRestrictionType.ShowNearby`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    ShowNearby = 110,
    /// C# member: `F:LibreMetaverse.RLV.RlvRestrictionType.ShowWorldMap`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvRestrictionType LibreMetaverse.RLV.RlvRestrictionType.ShowWorldMap`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    ShowWorldMap = 104,
    /// C# member: `F:LibreMetaverse.RLV.RlvRestrictionType.Sit`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvRestrictionType LibreMetaverse.RLV.RlvRestrictionType.Sit`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Sit = 72,
    /// C# member: `F:LibreMetaverse.RLV.RlvRestrictionType.SitTp`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvRestrictionType LibreMetaverse.RLV.RlvRestrictionType.SitTp`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    SitTp = 54,
    /// C# member: `F:LibreMetaverse.RLV.RlvRestrictionType.StandTp`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvRestrictionType LibreMetaverse.RLV.RlvRestrictionType.StandTp`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    StandTp = 55,
    /// C# member: `F:LibreMetaverse.RLV.RlvRestrictionType.StartIm`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvRestrictionType LibreMetaverse.RLV.RlvRestrictionType.StartIm`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    StartIm = 44,
    /// C# member: `F:LibreMetaverse.RLV.RlvRestrictionType.StartImTo`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvRestrictionType LibreMetaverse.RLV.RlvRestrictionType.StartImTo`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    StartImTo = 45,
    /// C# member: `F:LibreMetaverse.RLV.RlvRestrictionType.TempRun`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvRestrictionType LibreMetaverse.RLV.RlvRestrictionType.TempRun`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    TempRun = 4,
    /// C# member: `F:LibreMetaverse.RLV.RlvRestrictionType.TouchAll`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvRestrictionType LibreMetaverse.RLV.RlvRestrictionType.TouchAll`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    TouchAll = 95,
    /// C# member: `F:LibreMetaverse.RLV.RlvRestrictionType.TouchAttach`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvRestrictionType LibreMetaverse.RLV.RlvRestrictionType.TouchAttach`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    TouchAttach = 99,
    /// C# member: `F:LibreMetaverse.RLV.RlvRestrictionType.TouchAttachOther`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvRestrictionType LibreMetaverse.RLV.RlvRestrictionType.TouchAttachOther`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    TouchAttachOther = 101,
    /// C# member: `F:LibreMetaverse.RLV.RlvRestrictionType.TouchAttachSelf`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvRestrictionType LibreMetaverse.RLV.RlvRestrictionType.TouchAttachSelf`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    TouchAttachSelf = 100,
    /// C# member: `F:LibreMetaverse.RLV.RlvRestrictionType.TouchFar`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvRestrictionType LibreMetaverse.RLV.RlvRestrictionType.TouchFar`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    TouchFar = 94,
    /// C# member: `F:LibreMetaverse.RLV.RlvRestrictionType.TouchHud`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvRestrictionType LibreMetaverse.RLV.RlvRestrictionType.TouchHud`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    TouchHud = 102,
    /// C# member: `F:LibreMetaverse.RLV.RlvRestrictionType.TouchMe`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvRestrictionType LibreMetaverse.RLV.RlvRestrictionType.TouchMe`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    TouchMe = 98,
    /// C# member: `F:LibreMetaverse.RLV.RlvRestrictionType.TouchThis`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvRestrictionType LibreMetaverse.RLV.RlvRestrictionType.TouchThis`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    TouchThis = 97,
    /// C# member: `F:LibreMetaverse.RLV.RlvRestrictionType.TouchWorld`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvRestrictionType LibreMetaverse.RLV.RlvRestrictionType.TouchWorld`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    TouchWorld = 96,
    /// C# member: `F:LibreMetaverse.RLV.RlvRestrictionType.TpLm`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvRestrictionType LibreMetaverse.RLV.RlvRestrictionType.TpLm`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    TpLm = 50,
    /// C# member: `F:LibreMetaverse.RLV.RlvRestrictionType.TpLoc`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvRestrictionType LibreMetaverse.RLV.RlvRestrictionType.TpLoc`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    TpLoc = 51,
    /// C# member: `F:LibreMetaverse.RLV.RlvRestrictionType.TpLocal`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvRestrictionType LibreMetaverse.RLV.RlvRestrictionType.TpLocal`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    TpLocal = 49,
    /// C# member: `F:LibreMetaverse.RLV.RlvRestrictionType.TpLure`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvRestrictionType LibreMetaverse.RLV.RlvRestrictionType.TpLure`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    TpLure = 52,
    /// C# member: `F:LibreMetaverse.RLV.RlvRestrictionType.TpLureSec`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvRestrictionType LibreMetaverse.RLV.RlvRestrictionType.TpLureSec`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    TpLureSec = 53,
    /// C# member: `F:LibreMetaverse.RLV.RlvRestrictionType.TpRequest`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvRestrictionType LibreMetaverse.RLV.RlvRestrictionType.TpRequest`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    TpRequest = 58,
    /// C# member: `F:LibreMetaverse.RLV.RlvRestrictionType.TpRequestSec`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvRestrictionType LibreMetaverse.RLV.RlvRestrictionType.TpRequestSec`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    TpRequestSec = 59,
    /// C# member: `F:LibreMetaverse.RLV.RlvRestrictionType.UnsharedUnwear`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvRestrictionType LibreMetaverse.RLV.RlvRestrictionType.UnsharedUnwear`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    UnsharedUnwear = 82,
    /// C# member: `F:LibreMetaverse.RLV.RlvRestrictionType.UnsharedWear`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvRestrictionType LibreMetaverse.RLV.RlvRestrictionType.UnsharedWear`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    UnsharedWear = 81,
    /// C# member: `F:LibreMetaverse.RLV.RlvRestrictionType.Unsit`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvRestrictionType LibreMetaverse.RLV.RlvRestrictionType.Unsit`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Unsit = 71,
    /// C# member: `F:LibreMetaverse.RLV.RlvRestrictionType.ViewNote`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvRestrictionType LibreMetaverse.RLV.RlvRestrictionType.ViewNote`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    ViewNote = 61,
    /// C# member: `F:LibreMetaverse.RLV.RlvRestrictionType.ViewScript`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvRestrictionType LibreMetaverse.RLV.RlvRestrictionType.ViewScript`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    ViewScript = 62,
    /// C# member: `F:LibreMetaverse.RLV.RlvRestrictionType.ViewTexture`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvRestrictionType LibreMetaverse.RLV.RlvRestrictionType.ViewTexture`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    ViewTexture = 63,
}

/// C# type: `T:LibreMetaverse.RLV.RlvService`.
///
/// Native Rust mapping of C# `LibreMetaverse.RLV.RlvService` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `F:LibreMetaverse.RLV.RlvService.RLVVersion`.
///
/// C# signature: `System.String LibreMetaverse.RLV.RlvService.RLVVersion`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.RLV.RlvService.RLVVersionNum`.
///
/// C# signature: `System.String LibreMetaverse.RLV.RlvService.RLVVersionNum`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `M:LibreMetaverse.RLV.RlvService.#ctor(LibreMetaverse.RLV.IRlvQueryCallbacks,LibreMetaverse.RLV.IRlvActionCallbacks,System.Boolean)`.
///
/// C# signature: `LibreMetaverse.RLV.RlvService(LibreMetaverse.RLV.IRlvQueryCallbacks callbacks, LibreMetaverse.RLV.IRlvActionCallbacks actionCallbacks, System.Boolean enabled)`.
/// Mapping contract: ownership `owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.RLV.RlvService.ProcessInstantMessageAsync(System.String,System.Guid,System.Threading.CancellationToken)`.
///
/// C# signature: `System.Threading.Tasks.Task<System.Boolean> LibreMetaverse.RLV.RlvService.ProcessInstantMessageAsync(System.String message, System.Guid senderId, System.Threading.CancellationToken cancellationToken = default)`.
/// Mapping contract: ownership `shared_self,owned,owned,optional_owned`; async `async`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.RLV.RlvService.ProcessMessageAsync(System.String,System.Guid,System.String,System.Threading.CancellationToken)`.
///
/// C# signature: `System.Threading.Tasks.Task<System.Boolean> LibreMetaverse.RLV.RlvService.ProcessMessageAsync(System.String message, System.Guid senderId, System.String senderName, System.Threading.CancellationToken cancellationToken = default)`.
/// Mapping contract: ownership `shared_self,owned,owned,owned,optional_owned`; async `async`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.RLV.RlvService.ReportInventoryOfferAcceptedAsync(System.String,System.Threading.CancellationToken)`.
///
/// C# signature: `System.Threading.Tasks.Task LibreMetaverse.RLV.RlvService.ReportInventoryOfferAcceptedAsync(System.String folderPath, System.Threading.CancellationToken cancellationToken = default)`.
/// Mapping contract: ownership `shared_self,owned,optional_owned`; async `async`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.RLV.RlvService.ReportInventoryOfferDeclinedAsync(System.String,System.Threading.CancellationToken)`.
///
/// C# signature: `System.Threading.Tasks.Task LibreMetaverse.RLV.RlvService.ReportInventoryOfferDeclinedAsync(System.String folderPath, System.Threading.CancellationToken cancellationToken = default)`.
/// Mapping contract: ownership `shared_self,owned,optional_owned`; async `async`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.RLV.RlvService.ReportItemAttachedAsync(System.Guid,System.Boolean,LibreMetaverse.RLV.RlvAttachmentPoint,System.Threading.CancellationToken)`.
///
/// C# signature: `System.Threading.Tasks.Task LibreMetaverse.RLV.RlvService.ReportItemAttachedAsync(System.Guid objectFolderId, System.Boolean isShared, LibreMetaverse.RLV.RlvAttachmentPoint attachmentPoint, System.Threading.CancellationToken cancellationToken = default)`.
/// Mapping contract: ownership `shared_self,owned,owned,owned,optional_owned`; async `async`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.RLV.RlvService.ReportItemDetachedAsync(System.Guid,System.Guid,System.Guid,System.Boolean,LibreMetaverse.RLV.RlvAttachmentPoint,System.Threading.CancellationToken)`.
///
/// C# signature: `System.Threading.Tasks.Task LibreMetaverse.RLV.RlvService.ReportItemDetachedAsync(System.Guid itemId, System.Guid primId, System.Guid objectFolderId, System.Boolean isShared, LibreMetaverse.RLV.RlvAttachmentPoint attachmentPoint, System.Threading.CancellationToken cancellationToken = default)`.
/// Mapping contract: ownership `shared_self,owned,owned,owned,owned,owned,optional_owned`; async `async`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.RLV.RlvService.ReportItemUnwornAsync(System.Guid,System.Guid,System.Boolean,LibreMetaverse.RLV.RlvWearableType,System.Threading.CancellationToken)`.
///
/// C# signature: `System.Threading.Tasks.Task LibreMetaverse.RLV.RlvService.ReportItemUnwornAsync(System.Guid itemId, System.Guid objectFolderId, System.Boolean isShared, LibreMetaverse.RLV.RlvWearableType wearableType, System.Threading.CancellationToken cancellationToken = default)`.
/// Mapping contract: ownership `shared_self,owned,owned,owned,owned,optional_owned`; async `async`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.RLV.RlvService.ReportItemWornAsync(System.Guid,System.Boolean,LibreMetaverse.RLV.RlvWearableType,System.Threading.CancellationToken)`.
///
/// C# signature: `System.Threading.Tasks.Task LibreMetaverse.RLV.RlvService.ReportItemWornAsync(System.Guid objectFolderId, System.Boolean isShared, LibreMetaverse.RLV.RlvWearableType wearableType, System.Threading.CancellationToken cancellationToken = default)`.
/// Mapping contract: ownership `shared_self,owned,owned,owned,optional_owned`; async `async`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.RLV.RlvService.ReportSendPublicMessageAsync(System.String,System.Threading.CancellationToken)`.
///
/// C# signature: `System.Threading.Tasks.Task LibreMetaverse.RLV.RlvService.ReportSendPublicMessageAsync(System.String message, System.Threading.CancellationToken cancellationToken = default)`.
/// Mapping contract: ownership `shared_self,owned,optional_owned`; async `async`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.RLV.RlvService.ReportSitAsync(System.Nullable{System.Guid},System.Threading.CancellationToken)`.
///
/// C# signature: `System.Threading.Tasks.Task LibreMetaverse.RLV.RlvService.ReportSitAsync(System.Nullable<System.Guid> objectId, System.Threading.CancellationToken cancellationToken = default)`.
/// Mapping contract: ownership `shared_self,owned,optional_owned`; async `async`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.RLV.RlvService.ReportUnsitAsync(System.Nullable{System.Guid},System.Threading.CancellationToken)`.
///
/// C# signature: `System.Threading.Tasks.Task LibreMetaverse.RLV.RlvService.ReportUnsitAsync(System.Nullable<System.Guid> objectId, System.Threading.CancellationToken cancellationToken = default)`.
/// Mapping contract: ownership `shared_self,owned,optional_owned`; async `async`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.RLV.RlvService.Blacklist`.
///
/// C# signature: `LibreMetaverse.RLV.RlvBlacklist LibreMetaverse.RLV.RlvService.Blacklist`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.RLV.RlvService.Commands`.
///
/// C# signature: `LibreMetaverse.RLV.RlvCommandProcessor LibreMetaverse.RLV.RlvService.Commands`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.RLV.RlvService.EnableInstantMessageProcessing`.
///
/// C# signature: `System.Boolean LibreMetaverse.RLV.RlvService.EnableInstantMessageProcessing`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.RLV.RlvService.Enabled`.
///
/// C# signature: `System.Boolean LibreMetaverse.RLV.RlvService.Enabled`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.RLV.RlvService.Permissions`.
///
/// C# signature: `LibreMetaverse.RLV.RlvPermissionsService LibreMetaverse.RLV.RlvService.Permissions`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.RLV.RlvService.Restrictions`.
///
/// C# signature: `LibreMetaverse.RLV.RlvRestrictionManager LibreMetaverse.RLV.RlvService.Restrictions`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::service::RlvService;

/// C# type: `T:LibreMetaverse.RLV.RlvSharedFolder`.
///
/// Native Rust mapping of C# `LibreMetaverse.RLV.RlvSharedFolder` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
pub use crate::state::RlvSharedFolder;
impl RlvSharedFolder {
    /// C# member: `M:LibreMetaverse.RLV.RlvSharedFolder.#ctor(System.Guid,System.String)`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvSharedFolder(System.Guid id, System.String name)`.
    /// Mapping contract: ownership `owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn new(id: libremetaverse_types::compat::Guid, name: String) -> Result<Self, crate::Error> {
        /* reviewed native compatibility body */
        Self::native_new(id, name)
    }
    /// C# member: `M:LibreMetaverse.RLV.RlvSharedFolder.AddChild(System.Guid,System.String)`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvSharedFolder LibreMetaverse.RLV.RlvSharedFolder.AddChild(System.Guid id, System.String name)`.
    /// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn add_child(
        &self,
        id: libremetaverse_types::compat::Guid,
        name: String,
    ) -> Result<libremetaverse_rlv::RlvSharedFolder, crate::Error> {
        /* reviewed native compatibility body */
        self.native_add_child(id, name)
    }
    /// C# member: `M:LibreMetaverse.RLV.RlvSharedFolder.AddItem(System.Guid,System.String,System.Boolean,System.Nullable{LibreMetaverse.RLV.RlvAttachmentPoint},System.Nullable{System.Guid},System.Nullable{LibreMetaverse.RLV.RlvWearableType},System.Nullable{LibreMetaverse.RLV.RlvGestureState})`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvInventoryItem LibreMetaverse.RLV.RlvSharedFolder.AddItem(System.Guid id, System.String name, System.Boolean isLink, System.Nullable<LibreMetaverse.RLV.RlvAttachmentPoint> attachedTo, System.Nullable<System.Guid> attachedPrimId, System.Nullable<LibreMetaverse.RLV.RlvWearableType> wornOn, System.Nullable<LibreMetaverse.RLV.RlvGestureState> gestureState)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned,owned,owned,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    pub fn add_item(
        &self,
        id: libremetaverse_types::compat::Guid,
        name: String,
        is_link: bool,
        attached_to: Option<Option<libremetaverse_rlv::RlvAttachmentPoint>>,
        attached_prim_id: Option<Option<libremetaverse_types::compat::Guid>>,
        worn_on: Option<Option<libremetaverse_rlv::RlvWearableType>>,
        gesture_state: Option<Option<libremetaverse_rlv::RlvGestureState>>,
    ) -> Result<libremetaverse_rlv::RlvInventoryItem, crate::Error> {
        /* reviewed native compatibility body */
        self.native_add_item(
            id,
            name,
            is_link,
            attached_to,
            attached_prim_id,
            worn_on,
            gesture_state,
        )
    }
    /// C# member: `M:LibreMetaverse.RLV.RlvSharedFolder.ToString`.
    ///
    /// C# signature: `System.String LibreMetaverse.RLV.RlvSharedFolder.ToString()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
    pub fn to_string(&self) -> String {
        /* reviewed native compatibility body */
        self.native_to_string()
    }
    /// C# member: `P:LibreMetaverse.RLV.RlvSharedFolder.Children`.
    ///
    /// C# signature: `System.Collections.Generic.IReadOnlyList<LibreMetaverse.RLV.RlvSharedFolder> LibreMetaverse.RLV.RlvSharedFolder.Children`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn children(&self) -> Vec<libremetaverse_rlv::RlvSharedFolder> {
        /* reviewed native compatibility body */
        self.native_children()
    }
    /// C# member: `P:LibreMetaverse.RLV.RlvSharedFolder.Id`.
    ///
    /// C# signature: `System.Guid LibreMetaverse.RLV.RlvSharedFolder.Id`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn id(&self) -> libremetaverse_types::compat::Guid {
        /* reviewed native compatibility body */
        self.native_id()
    }
    /// C# member: `P:LibreMetaverse.RLV.RlvSharedFolder.Items`.
    ///
    /// C# signature: `System.Collections.Generic.IReadOnlyList<LibreMetaverse.RLV.RlvInventoryItem> LibreMetaverse.RLV.RlvSharedFolder.Items`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn items(&self) -> Vec<libremetaverse_rlv::RlvInventoryItem> {
        /* reviewed native compatibility body */
        self.native_items()
    }
    /// C# member: `P:LibreMetaverse.RLV.RlvSharedFolder.Name`.
    ///
    /// C# signature: `System.String LibreMetaverse.RLV.RlvSharedFolder.Name`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn name(&self) -> String {
        /* reviewed native compatibility body */
        self.native_name()
    }
    /// Setter for C# member: `P:LibreMetaverse.RLV.RlvSharedFolder.Name`.
    pub fn set_name(&mut self, value: String) {
        /* reviewed native compatibility body */
        self.native_set_name(value)
    }
    /// C# member: `P:LibreMetaverse.RLV.RlvSharedFolder.Parent`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvSharedFolder LibreMetaverse.RLV.RlvSharedFolder.Parent`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub fn parent(&self) -> Option<libremetaverse_rlv::RlvSharedFolder> {
        /* reviewed native compatibility body */
        self.native_parent()
    }
    /// Setter for C# member: `P:LibreMetaverse.RLV.RlvSharedFolder.Parent`.
    pub fn set_parent(&mut self, value: Option<libremetaverse_rlv::RlvSharedFolder>) {
        /* reviewed native compatibility body */
        self.native_set_parent(value)
    }
}

/// C# type: `T:LibreMetaverse.RLV.RlvWearableType`.
///
/// Native Rust mapping of C# `LibreMetaverse.RLV.RlvWearableType` 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 RlvWearableType {
    /// C# member: `F:LibreMetaverse.RLV.RlvWearableType.Alpha`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvWearableType LibreMetaverse.RLV.RlvWearableType.Alpha`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Alpha = 13,
    /// C# member: `F:LibreMetaverse.RLV.RlvWearableType.Eyes`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvWearableType LibreMetaverse.RLV.RlvWearableType.Eyes`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Eyes = 3,
    /// C# member: `F:LibreMetaverse.RLV.RlvWearableType.Gloves`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvWearableType LibreMetaverse.RLV.RlvWearableType.Gloves`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Gloves = 9,
    /// C# member: `F:LibreMetaverse.RLV.RlvWearableType.Hair`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvWearableType LibreMetaverse.RLV.RlvWearableType.Hair`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Hair = 2,
    /// C# member: `F:LibreMetaverse.RLV.RlvWearableType.Invalid`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvWearableType LibreMetaverse.RLV.RlvWearableType.Invalid`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Invalid = 255,
    /// C# member: `F:LibreMetaverse.RLV.RlvWearableType.Jacket`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvWearableType LibreMetaverse.RLV.RlvWearableType.Jacket`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Jacket = 8,
    /// C# member: `F:LibreMetaverse.RLV.RlvWearableType.Pants`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvWearableType LibreMetaverse.RLV.RlvWearableType.Pants`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Pants = 5,
    /// C# member: `F:LibreMetaverse.RLV.RlvWearableType.Physics`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvWearableType LibreMetaverse.RLV.RlvWearableType.Physics`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Physics = 15,
    /// C# member: `F:LibreMetaverse.RLV.RlvWearableType.Shape`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvWearableType LibreMetaverse.RLV.RlvWearableType.Shape`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Shape = 0,
    /// C# member: `F:LibreMetaverse.RLV.RlvWearableType.Shirt`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvWearableType LibreMetaverse.RLV.RlvWearableType.Shirt`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Shirt = 4,
    /// C# member: `F:LibreMetaverse.RLV.RlvWearableType.Shoes`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvWearableType LibreMetaverse.RLV.RlvWearableType.Shoes`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Shoes = 6,
    /// C# member: `F:LibreMetaverse.RLV.RlvWearableType.Skin`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvWearableType LibreMetaverse.RLV.RlvWearableType.Skin`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Skin = 1,
    /// C# member: `F:LibreMetaverse.RLV.RlvWearableType.Skirt`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvWearableType LibreMetaverse.RLV.RlvWearableType.Skirt`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Skirt = 12,
    /// C# member: `F:LibreMetaverse.RLV.RlvWearableType.Socks`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvWearableType LibreMetaverse.RLV.RlvWearableType.Socks`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Socks = 7,
    /// C# member: `F:LibreMetaverse.RLV.RlvWearableType.Tattoo`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvWearableType LibreMetaverse.RLV.RlvWearableType.Tattoo`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Tattoo = 14,
    /// C# member: `F:LibreMetaverse.RLV.RlvWearableType.Underpants`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvWearableType LibreMetaverse.RLV.RlvWearableType.Underpants`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Underpants = 11,
    /// C# member: `F:LibreMetaverse.RLV.RlvWearableType.Undershirt`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvWearableType LibreMetaverse.RLV.RlvWearableType.Undershirt`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Undershirt = 10,
    /// C# member: `F:LibreMetaverse.RLV.RlvWearableType.Universal`.
    ///
    /// C# signature: `LibreMetaverse.RLV.RlvWearableType LibreMetaverse.RLV.RlvWearableType.Universal`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Universal = 16,
}

pub mod event_arguments {
    /// C# type: `T:LibreMetaverse.RLV.EventArguments.RestrictionUpdatedEventArgs`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.RLV.EventArguments.RestrictionUpdatedEventArgs` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    pub use crate::state::RestrictionUpdatedEventArgs;
    impl RestrictionUpdatedEventArgs {
        /// C# member: `M:LibreMetaverse.RLV.EventArguments.RestrictionUpdatedEventArgs.#ctor(LibreMetaverse.RLV.RlvRestriction,System.Boolean,System.Boolean)`.
        ///
        /// C# signature: `LibreMetaverse.RLV.EventArguments.RestrictionUpdatedEventArgs(LibreMetaverse.RLV.RlvRestriction restriction, System.Boolean isNew, System.Boolean isDeleted)`.
        /// Mapping contract: ownership `owned,owned,owned`; async `sync`;
        /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
        pub fn new(
            restriction: libremetaverse_rlv::RlvRestriction,
            is_new: bool,
            is_deleted: bool,
        ) -> Result<Self, crate::Error> {
            /* reviewed native compatibility body */
            Self::native_new(restriction, is_new, is_deleted)
        }
        /// C# member: `P:LibreMetaverse.RLV.EventArguments.RestrictionUpdatedEventArgs.IsDeleted`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.RLV.EventArguments.RestrictionUpdatedEventArgs.IsDeleted`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn is_deleted(&self) -> bool {
            /* reviewed native compatibility body */
            self.native_is_deleted()
        }
        /// C# member: `P:LibreMetaverse.RLV.EventArguments.RestrictionUpdatedEventArgs.IsNew`.
        ///
        /// C# signature: `System.Boolean LibreMetaverse.RLV.EventArguments.RestrictionUpdatedEventArgs.IsNew`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn is_new(&self) -> bool {
            /* reviewed native compatibility body */
            self.native_is_new()
        }
        /// C# member: `P:LibreMetaverse.RLV.EventArguments.RestrictionUpdatedEventArgs.Restriction`.
        ///
        /// C# signature: `LibreMetaverse.RLV.RlvRestriction LibreMetaverse.RLV.EventArguments.RestrictionUpdatedEventArgs.Restriction`.
        /// Mapping contract: ownership `shared_self`; async `sync`;
        /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
        pub fn restriction(&self) -> libremetaverse_rlv::RlvRestriction {
            /* reviewed native compatibility body */
            self.native_restriction()
        }
    }
}
