// @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.Utilities.ConnectionManager`.
///
/// Native Rust mapping of C# `LibreMetaverse.Utilities.ConnectionManager` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.Utilities.ConnectionManager.#ctor(LibreMetaverse.GridClient,System.Int32)`.
///
/// C# signature: `LibreMetaverse.Utilities.ConnectionManager(LibreMetaverse.GridClient client, System.Int32 timerFrequency)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Utilities.ConnectionManager.PersistentLogin(LibreMetaverse.GridClient,System.String,System.String,System.String,System.String,System.String,System.String)`.
///
/// C# signature: `System.Threading.Tasks.Task<System.Boolean> LibreMetaverse.Utilities.ConnectionManager.PersistentLogin(LibreMetaverse.GridClient client, System.String firstName, System.String lastName, System.String password, System.String userAgent, System.String start, System.String author)`.
/// Mapping contract: ownership `owned,owned,owned,owned,owned,owned,owned`; async `async`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Utilities.ConnectionManager.StayInSim(System.UInt64,LibreMetaverse.Vector3)`.
///
/// C# signature: `System.Void LibreMetaverse.Utilities.ConnectionManager.StayInSim(System.UInt64 handle, LibreMetaverse.Vector3 desiredPosition)`.
/// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Utilities.ConnectionManager.Stop`.
///
/// C# signature: `System.Void LibreMetaverse.Utilities.ConnectionManager.Stop()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
pub use crate::service::ConnectionManager;

/// C# type: `T:LibreMetaverse.Utilities.Realism`.
///
/// Native Rust mapping of C# `LibreMetaverse.Utilities.Realism` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.Utilities.Realism.Chat(LibreMetaverse.GridClient,System.String)`.
///
/// C# signature: `System.Void LibreMetaverse.Utilities.Realism.Chat(LibreMetaverse.GridClient client, System.String message)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Utilities.Realism.Chat(LibreMetaverse.GridClient,System.String,LibreMetaverse.ChatType,System.Int32)`.
///
/// C# signature: `System.Void LibreMetaverse.Utilities.Realism.Chat(LibreMetaverse.GridClient client, System.String message, LibreMetaverse.ChatType type, System.Int32 cps)`.
/// Mapping contract: ownership `owned,owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Utilities.Realism.ChatAsync(LibreMetaverse.GridClient,System.String,LibreMetaverse.ChatType,System.Int32,System.Threading.CancellationToken)`.
///
/// C# signature: `System.Threading.Tasks.Task LibreMetaverse.Utilities.Realism.ChatAsync(LibreMetaverse.GridClient client, System.String message, LibreMetaverse.ChatType type, System.Int32 cps, System.Threading.CancellationToken cancellationToken = default)`.
/// Mapping contract: ownership `owned,owned,owned,owned,optional_owned`; async `async`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Utilities.Realism.Shoot(LibreMetaverse.GridClient)`.
///
/// C# signature: `System.Boolean LibreMetaverse.Utilities.Realism.Shoot(LibreMetaverse.GridClient client)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Utilities.Realism.Shoot(LibreMetaverse.GridClient,LibreMetaverse.Vector3)`.
///
/// C# signature: `System.Boolean LibreMetaverse.Utilities.Realism.Shoot(LibreMetaverse.GridClient client, LibreMetaverse.Vector3 target)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
pub use crate::service::Realism;

/// C# type: `T:LibreMetaverse.Utilities.WaterType`.
///
/// Native Rust mapping of C# `LibreMetaverse.Utilities.WaterType` 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 WaterType {
    /// C# member: `F:LibreMetaverse.Utilities.WaterType.Dry`.
    ///
    /// C# signature: `LibreMetaverse.Utilities.WaterType LibreMetaverse.Utilities.WaterType.Dry`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Dry = 1,
    /// C# member: `F:LibreMetaverse.Utilities.WaterType.Underwater`.
    ///
    /// C# signature: `LibreMetaverse.Utilities.WaterType LibreMetaverse.Utilities.WaterType.Underwater`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Underwater = 3,
    /// C# member: `F:LibreMetaverse.Utilities.WaterType.Unknown`.
    ///
    /// C# signature: `LibreMetaverse.Utilities.WaterType LibreMetaverse.Utilities.WaterType.Unknown`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Unknown = 0,
    /// C# member: `F:LibreMetaverse.Utilities.WaterType.Waterfront`.
    ///
    /// C# signature: `LibreMetaverse.Utilities.WaterType LibreMetaverse.Utilities.WaterType.Waterfront`.
    /// Mapping contract: ownership `owned_value`; async `sync`;
    /// errors `none`; overload `direct_snake_case`; kind `direct`.
    Waterfront = 2,
}
