// @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.Voice.WebRTC.IVoiceLogger`.
///
/// Native Rust mapping of C# `LibreMetaverse.Voice.WebRTC.IVoiceLogger` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.Voice.WebRTC.IVoiceLogger.Debug(System.String,LibreMetaverse.GridClient)`.
///
/// C# signature: `System.Void LibreMetaverse.Voice.WebRTC.IVoiceLogger.Debug(System.String message, LibreMetaverse.GridClient client = default)`.
/// Mapping contract: ownership `shared_self,owned,optional_owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Voice.WebRTC.IVoiceLogger.Error(System.String,LibreMetaverse.GridClient)`.
///
/// C# signature: `System.Void LibreMetaverse.Voice.WebRTC.IVoiceLogger.Error(System.String message, LibreMetaverse.GridClient client = default)`.
/// Mapping contract: ownership `shared_self,owned,optional_owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Voice.WebRTC.IVoiceLogger.Info(System.String,LibreMetaverse.GridClient)`.
///
/// C# signature: `System.Void LibreMetaverse.Voice.WebRTC.IVoiceLogger.Info(System.String message, LibreMetaverse.GridClient client = default)`.
/// Mapping contract: ownership `shared_self,owned,optional_owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Voice.WebRTC.IVoiceLogger.Log(System.String,Microsoft.Extensions.Logging.LogLevel,LibreMetaverse.GridClient)`.
///
/// C# signature: `System.Void LibreMetaverse.Voice.WebRTC.IVoiceLogger.Log(System.String message, Microsoft.Extensions.Logging.LogLevel level, LibreMetaverse.GridClient client = default)`.
/// Mapping contract: ownership `shared_self,owned,owned,optional_owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Voice.WebRTC.IVoiceLogger.Warn(System.String,LibreMetaverse.GridClient)`.
///
/// C# signature: `System.Void LibreMetaverse.Voice.WebRTC.IVoiceLogger.Warn(System.String message, LibreMetaverse.GridClient client = default)`.
/// Mapping contract: ownership `shared_self,owned,optional_owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
pub use crate::compatibility::IVoiceLogger;

/// C# type: `T:LibreMetaverse.Voice.WebRTC.LibreMetaverseVoiceLogger`.
///
/// Native Rust mapping of C# `LibreMetaverse.Voice.WebRTC.LibreMetaverseVoiceLogger` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.Voice.WebRTC.LibreMetaverseVoiceLogger.#ctor`.
///
/// C# signature: `LibreMetaverse.Voice.WebRTC.LibreMetaverseVoiceLogger()`.
/// Mapping contract: ownership `none`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Voice.WebRTC.LibreMetaverseVoiceLogger.Debug(System.String,LibreMetaverse.GridClient)`.
///
/// C# signature: `System.Void LibreMetaverse.Voice.WebRTC.LibreMetaverseVoiceLogger.Debug(System.String message, LibreMetaverse.GridClient client = default)`.
/// Mapping contract: ownership `shared_self,owned,optional_owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Voice.WebRTC.LibreMetaverseVoiceLogger.Error(System.String,LibreMetaverse.GridClient)`.
///
/// C# signature: `System.Void LibreMetaverse.Voice.WebRTC.LibreMetaverseVoiceLogger.Error(System.String message, LibreMetaverse.GridClient client = default)`.
/// Mapping contract: ownership `shared_self,owned,optional_owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Voice.WebRTC.LibreMetaverseVoiceLogger.Info(System.String,LibreMetaverse.GridClient)`.
///
/// C# signature: `System.Void LibreMetaverse.Voice.WebRTC.LibreMetaverseVoiceLogger.Info(System.String message, LibreMetaverse.GridClient client = default)`.
/// Mapping contract: ownership `shared_self,owned,optional_owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Voice.WebRTC.LibreMetaverseVoiceLogger.Log(System.String,Microsoft.Extensions.Logging.LogLevel,LibreMetaverse.GridClient)`.
///
/// C# signature: `System.Void LibreMetaverse.Voice.WebRTC.LibreMetaverseVoiceLogger.Log(System.String message, Microsoft.Extensions.Logging.LogLevel level, LibreMetaverse.GridClient client = default)`.
/// Mapping contract: ownership `shared_self,owned,owned,optional_owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Voice.WebRTC.LibreMetaverseVoiceLogger.Warn(System.String,LibreMetaverse.GridClient)`.
///
/// C# signature: `System.Void LibreMetaverse.Voice.WebRTC.LibreMetaverseVoiceLogger.Warn(System.String message, LibreMetaverse.GridClient client = default)`.
/// Mapping contract: ownership `shared_self,owned,optional_owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
pub use crate::compatibility::LibreMetaverseVoiceLogger;

/// C# type: `T:LibreMetaverse.Voice.WebRTC.PeerManager`.
///
/// Native Rust mapping of C# `LibreMetaverse.Voice.WebRTC.PeerManager` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `E:LibreMetaverse.Voice.WebRTC.PeerManager.GainMapReceived`.
///
/// C# signature: `System.Action<System.Collections.Generic.Dictionary<LibreMetaverse.UUID, System.Int32>> LibreMetaverse.Voice.WebRTC.PeerManager.GainMapReceived`.
/// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
/// C# member: `E:LibreMetaverse.Voice.WebRTC.PeerManager.MuteMapReceived`.
///
/// C# signature: `System.Action<System.Collections.Generic.Dictionary<LibreMetaverse.UUID, System.Boolean>> LibreMetaverse.Voice.WebRTC.PeerManager.MuteMapReceived`.
/// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
/// C# member: `E:LibreMetaverse.Voice.WebRTC.PeerManager.PeerAudioUpdated`.
///
/// C# signature: `System.Action<LibreMetaverse.UUID, LibreMetaverse.Voice.WebRTC.VoiceSession.PeerAudioState> LibreMetaverse.Voice.WebRTC.PeerManager.PeerAudioUpdated`.
/// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
/// C# member: `E:LibreMetaverse.Voice.WebRTC.PeerManager.PeerJoined`.
///
/// C# signature: `System.Action<LibreMetaverse.UUID> LibreMetaverse.Voice.WebRTC.PeerManager.PeerJoined`.
/// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
/// C# member: `E:LibreMetaverse.Voice.WebRTC.PeerManager.PeerLeft`.
///
/// C# signature: `System.Action<LibreMetaverse.UUID> LibreMetaverse.Voice.WebRTC.PeerManager.PeerLeft`.
/// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
/// C# member: `E:LibreMetaverse.Voice.WebRTC.PeerManager.PeerListUpdated`.
///
/// C# signature: `System.Action<System.Collections.Generic.List<LibreMetaverse.UUID>> LibreMetaverse.Voice.WebRTC.PeerManager.PeerListUpdated`.
/// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
/// C# member: `E:LibreMetaverse.Voice.WebRTC.PeerManager.PeerPositionUpdated`.
///
/// C# signature: `System.Action<LibreMetaverse.UUID, LibreMetaverse.StructuredData.OSDMap> LibreMetaverse.Voice.WebRTC.PeerManager.PeerPositionUpdated`.
/// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
/// C# member: `E:LibreMetaverse.Voice.WebRTC.PeerManager.PongReceived`.
///
/// C# signature: `System.Action LibreMetaverse.Voice.WebRTC.PeerManager.PongReceived`.
/// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
/// C# member: `M:LibreMetaverse.Voice.WebRTC.PeerManager.#ctor(LibreMetaverse.AudioDevice,LibreMetaverse.GridClient,LibreMetaverse.Voice.WebRTC.IVoiceLogger)`.
///
/// C# signature: `LibreMetaverse.Voice.WebRTC.PeerManager(LibreMetaverse.AudioDevice audioDevice, LibreMetaverse.GridClient client, LibreMetaverse.Voice.WebRTC.IVoiceLogger log)`.
/// Mapping contract: ownership `owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Voice.WebRTC.PeerManager.ClearAllPeers`.
///
/// C# signature: `System.Void LibreMetaverse.Voice.WebRTC.PeerManager.ClearAllPeers()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Voice.WebRTC.PeerManager.GetKnownPeers`.
///
/// C# signature: `System.Collections.Generic.List<LibreMetaverse.UUID> LibreMetaverse.Voice.WebRTC.PeerManager.GetKnownPeers()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Voice.WebRTC.PeerManager.ProcessJsonElement(System.Text.Json.JsonElement,System.Func{System.String,System.Boolean},LibreMetaverse.UUID)`.
///
/// C# signature: `System.Void LibreMetaverse.Voice.WebRTC.PeerManager.ProcessJsonElement(System.Text.Json.JsonElement root, System.Func<System.String, System.Boolean> sendString, LibreMetaverse.UUID sessionId)`.
/// Mapping contract: ownership `shared_self,owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Voice.WebRTC.PeerManager.ProcessOSDMap(LibreMetaverse.StructuredData.OSDMap,System.Func{System.String,System.Boolean},LibreMetaverse.UUID)`.
///
/// C# signature: `System.Void LibreMetaverse.Voice.WebRTC.PeerManager.ProcessOSDMap(LibreMetaverse.StructuredData.OSDMap map, System.Func<System.String, System.Boolean> sendString, LibreMetaverse.UUID sessionId)`.
/// Mapping contract: ownership `shared_self,owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Voice.WebRTC.PeerManager.ReapStalePeers(System.TimeSpan)`.
///
/// C# signature: `System.Void LibreMetaverse.Voice.WebRTC.PeerManager.ReapStalePeers(System.TimeSpan maxAge)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Voice.WebRTC.PeerManager.RemovePeer(LibreMetaverse.UUID)`.
///
/// C# signature: `System.Void LibreMetaverse.Voice.WebRTC.PeerManager.RemovePeer(LibreMetaverse.UUID peerId)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Voice.WebRTC.PeerManager.TryGetPeerForSsrc(System.UInt32,LibreMetaverse.UUID@)`.
///
/// C# signature: `System.Boolean LibreMetaverse.Voice.WebRTC.PeerManager.TryGetPeerForSsrc(System.UInt32 ssrc, out LibreMetaverse.UUID& peerId)`.
/// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Voice.WebRTC.PeerManager.TryGetSsrc(LibreMetaverse.UUID,System.UInt32@)`.
///
/// C# signature: `System.Boolean LibreMetaverse.Voice.WebRTC.PeerManager.TryGetSsrc(LibreMetaverse.UUID peerId, out System.UInt32& ssrc)`.
/// Mapping contract: ownership `shared_self,owned,mutable_output`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
pub use crate::compatibility::PeerManager;

/// C# type: `T:LibreMetaverse.Voice.WebRTC.VoiceException`.
///
/// Native Rust mapping of C# `LibreMetaverse.Voice.WebRTC.VoiceException` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.Voice.WebRTC.VoiceException.#ctor(System.String)`.
///
/// C# signature: `LibreMetaverse.Voice.WebRTC.VoiceException(System.String msg)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Voice.WebRTC.VoiceException.#ctor(System.String,System.Boolean)`.
///
/// C# signature: `LibreMetaverse.Voice.WebRTC.VoiceException(System.String msg, System.Boolean isDefinitiveRejection)`.
/// Mapping contract: ownership `owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `P:LibreMetaverse.Voice.WebRTC.VoiceException.IsDefinitiveRejection`.
///
/// C# signature: `System.Boolean LibreMetaverse.Voice.WebRTC.VoiceException.IsDefinitiveRejection`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::compatibility::VoiceException;

/// C# type: `T:LibreMetaverse.Voice.WebRTC.VoiceManager`.
///
/// Native Rust mapping of C# `LibreMetaverse.Voice.WebRTC.VoiceManager` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `E:LibreMetaverse.Voice.WebRTC.VoiceManager.GainMapReceived`.
///
/// C# signature: `System.Action<System.Collections.Generic.Dictionary<LibreMetaverse.UUID, System.Int32>> LibreMetaverse.Voice.WebRTC.VoiceManager.GainMapReceived`.
/// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
/// C# member: `E:LibreMetaverse.Voice.WebRTC.VoiceManager.MuteMapReceived`.
///
/// C# signature: `System.Action<System.Collections.Generic.Dictionary<LibreMetaverse.UUID, System.Boolean>> LibreMetaverse.Voice.WebRTC.VoiceManager.MuteMapReceived`.
/// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
/// C# member: `E:LibreMetaverse.Voice.WebRTC.VoiceManager.OnGroupVoiceJoinFailed`.
///
/// C# signature: `System.Action<LibreMetaverse.UUID, System.Exception> LibreMetaverse.Voice.WebRTC.VoiceManager.OnGroupVoiceJoinFailed`.
/// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
/// C# member: `E:LibreMetaverse.Voice.WebRTC.VoiceManager.OnGroupVoiceJoined`.
///
/// C# signature: `System.Action<LibreMetaverse.UUID> LibreMetaverse.Voice.WebRTC.VoiceManager.OnGroupVoiceJoined`.
/// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
/// C# member: `E:LibreMetaverse.Voice.WebRTC.VoiceManager.OnGroupVoiceLeft`.
///
/// C# signature: `System.Action<LibreMetaverse.UUID> LibreMetaverse.Voice.WebRTC.VoiceManager.OnGroupVoiceLeft`.
/// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
/// C# member: `E:LibreMetaverse.Voice.WebRTC.VoiceManager.OnP2PCallAccepted`.
///
/// C# signature: `System.Action<LibreMetaverse.UUID> LibreMetaverse.Voice.WebRTC.VoiceManager.OnP2PCallAccepted`.
/// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
/// C# member: `E:LibreMetaverse.Voice.WebRTC.VoiceManager.OnP2PCallDeclined`.
///
/// C# signature: `System.Action<LibreMetaverse.UUID> LibreMetaverse.Voice.WebRTC.VoiceManager.OnP2PCallDeclined`.
/// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
/// C# member: `E:LibreMetaverse.Voice.WebRTC.VoiceManager.OnP2PCallEnded`.
///
/// C# signature: `System.Action<LibreMetaverse.UUID> LibreMetaverse.Voice.WebRTC.VoiceManager.OnP2PCallEnded`.
/// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
/// C# member: `E:LibreMetaverse.Voice.WebRTC.VoiceManager.OnP2PCallFailed`.
///
/// C# signature: `System.Action<LibreMetaverse.UUID, System.Exception> LibreMetaverse.Voice.WebRTC.VoiceManager.OnP2PCallFailed`.
/// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
/// C# member: `E:LibreMetaverse.Voice.WebRTC.VoiceManager.OnP2PCallIncoming`.
///
/// C# signature: `System.Action<LibreMetaverse.UUID> LibreMetaverse.Voice.WebRTC.VoiceManager.OnP2PCallIncoming`.
/// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
/// C# member: `E:LibreMetaverse.Voice.WebRTC.VoiceManager.OnP2PCallStarted`.
///
/// C# signature: `System.Action<LibreMetaverse.UUID> LibreMetaverse.Voice.WebRTC.VoiceManager.OnP2PCallStarted`.
/// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
/// C# member: `E:LibreMetaverse.Voice.WebRTC.VoiceManager.OnParcelVoiceInfo`.
///
/// C# signature: `System.Action<System.String, System.Int32, System.String> LibreMetaverse.Voice.WebRTC.VoiceManager.OnParcelVoiceInfo`.
/// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
/// C# member: `E:LibreMetaverse.Voice.WebRTC.VoiceManager.OnRegionChangeDetected`.
///
/// C# signature: `System.Action LibreMetaverse.Voice.WebRTC.VoiceManager.OnRegionChangeDetected`.
/// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
/// C# member: `E:LibreMetaverse.Voice.WebRTC.VoiceManager.OnRegionTransitionCompleted`.
///
/// C# signature: `System.Action LibreMetaverse.Voice.WebRTC.VoiceManager.OnRegionTransitionCompleted`.
/// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
/// C# member: `E:LibreMetaverse.Voice.WebRTC.VoiceManager.OnRegionTransitionFailed`.
///
/// C# signature: `System.Action<System.Exception> LibreMetaverse.Voice.WebRTC.VoiceManager.OnRegionTransitionFailed`.
/// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
/// C# member: `E:LibreMetaverse.Voice.WebRTC.VoiceManager.OnReprovisionFailed`.
///
/// C# signature: `System.Action<System.Exception> LibreMetaverse.Voice.WebRTC.VoiceManager.OnReprovisionFailed`.
/// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
/// C# member: `E:LibreMetaverse.Voice.WebRTC.VoiceManager.OnReprovisionSucceeded`.
///
/// C# signature: `System.Action LibreMetaverse.Voice.WebRTC.VoiceManager.OnReprovisionSucceeded`.
/// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
/// C# member: `E:LibreMetaverse.Voice.WebRTC.VoiceManager.OnVoicePermissionChanged`.
///
/// C# signature: `System.Action<System.Boolean> LibreMetaverse.Voice.WebRTC.VoiceManager.OnVoicePermissionChanged`.
/// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
/// C# member: `E:LibreMetaverse.Voice.WebRTC.VoiceManager.PeerAudioUpdated`.
///
/// C# signature: `System.Action<LibreMetaverse.UUID, LibreMetaverse.Voice.WebRTC.VoiceSession.PeerAudioState> LibreMetaverse.Voice.WebRTC.VoiceManager.PeerAudioUpdated`.
/// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
/// C# member: `E:LibreMetaverse.Voice.WebRTC.VoiceManager.PeerConnectionClosed`.
///
/// C# signature: `System.Action LibreMetaverse.Voice.WebRTC.VoiceManager.PeerConnectionClosed`.
/// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
/// C# member: `E:LibreMetaverse.Voice.WebRTC.VoiceManager.PeerConnectionReady`.
///
/// C# signature: `System.Action LibreMetaverse.Voice.WebRTC.VoiceManager.PeerConnectionReady`.
/// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
/// C# member: `E:LibreMetaverse.Voice.WebRTC.VoiceManager.PeerJoined`.
///
/// C# signature: `System.Action<LibreMetaverse.UUID> LibreMetaverse.Voice.WebRTC.VoiceManager.PeerJoined`.
/// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
/// C# member: `E:LibreMetaverse.Voice.WebRTC.VoiceManager.PeerLeft`.
///
/// C# signature: `System.Action<LibreMetaverse.UUID> LibreMetaverse.Voice.WebRTC.VoiceManager.PeerLeft`.
/// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
/// C# member: `E:LibreMetaverse.Voice.WebRTC.VoiceManager.PeerListUpdated`.
///
/// C# signature: `System.Action<System.Collections.Generic.List<LibreMetaverse.UUID>> LibreMetaverse.Voice.WebRTC.VoiceManager.PeerListUpdated`.
/// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
/// C# member: `E:LibreMetaverse.Voice.WebRTC.VoiceManager.PeerPositionUpdated`.
///
/// C# signature: `System.Action<LibreMetaverse.UUID, LibreMetaverse.StructuredData.OSDMap> LibreMetaverse.Voice.WebRTC.VoiceManager.PeerPositionUpdated`.
/// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
/// C# member: `E:LibreMetaverse.Voice.WebRTC.VoiceManager.PeerPositionUpdatedTyped`.
///
/// C# signature: `System.Action<LibreMetaverse.UUID, LibreMetaverse.Voice.WebRTC.VoiceSession.AvatarPosition> LibreMetaverse.Voice.WebRTC.VoiceManager.PeerPositionUpdatedTyped`.
/// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
/// C# member: `F:LibreMetaverse.Voice.WebRTC.VoiceManager.AudioDevice`.
///
/// C# signature: `LibreMetaverse.AudioDevice LibreMetaverse.Voice.WebRTC.VoiceManager.AudioDevice`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `M:LibreMetaverse.Voice.WebRTC.VoiceManager.#ctor(LibreMetaverse.GridClient,LibreMetaverse.Voice.WebRTC.IVoiceLogger)`.
///
/// C# signature: `LibreMetaverse.Voice.WebRTC.VoiceManager(LibreMetaverse.GridClient client, LibreMetaverse.Voice.WebRTC.IVoiceLogger logger = default)`.
/// Mapping contract: ownership `owned,optional_owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Voice.WebRTC.VoiceManager.AcceptIncomingP2PCallAsync(LibreMetaverse.UUID)`.
///
/// C# signature: `System.Threading.Tasks.Task<System.Boolean> LibreMetaverse.Voice.WebRTC.VoiceManager.AcceptIncomingP2PCallAsync(LibreMetaverse.UUID callerId)`.
/// Mapping contract: ownership `shared_self,owned`; async `async`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Voice.WebRTC.VoiceManager.AcceptP2PCallAsync(LibreMetaverse.UUID,System.String,System.String)`.
///
/// C# signature: `System.Threading.Tasks.Task<System.Boolean> LibreMetaverse.Voice.WebRTC.VoiceManager.AcceptP2PCallAsync(LibreMetaverse.UUID agentId, System.String channelUri, System.String credentials)`.
/// Mapping contract: ownership `shared_self,owned,owned,owned`; async `async`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Voice.WebRTC.VoiceManager.ConnectPrimaryRegionAsync`.
///
/// C# signature: `System.Threading.Tasks.Task<System.Boolean> LibreMetaverse.Voice.WebRTC.VoiceManager.ConnectPrimaryRegionAsync()`.
/// Mapping contract: ownership `shared_self`; async `async`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Voice.WebRTC.VoiceManager.DeclineIncomingP2PCall(LibreMetaverse.UUID)`.
///
/// C# signature: `System.Void LibreMetaverse.Voice.WebRTC.VoiceManager.DeclineIncomingP2PCall(LibreMetaverse.UUID callerId)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Voice.WebRTC.VoiceManager.DeclineP2PCall(LibreMetaverse.UUID)`.
///
/// C# signature: `System.Void LibreMetaverse.Voice.WebRTC.VoiceManager.DeclineP2PCall(LibreMetaverse.UUID agentId)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Voice.WebRTC.VoiceManager.Disconnect`.
///
/// C# signature: `System.Void LibreMetaverse.Voice.WebRTC.VoiceManager.Disconnect()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Voice.WebRTC.VoiceManager.EndP2PCallAsync(LibreMetaverse.UUID)`.
///
/// C# signature: `System.Threading.Tasks.Task LibreMetaverse.Voice.WebRTC.VoiceManager.EndP2PCallAsync(LibreMetaverse.UUID agentId)`.
/// Mapping contract: ownership `shared_self,owned`; async `async`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Voice.WebRTC.VoiceManager.GetActiveGroupVoiceSessions`.
///
/// C# signature: `System.Collections.Generic.List<LibreMetaverse.UUID> LibreMetaverse.Voice.WebRTC.VoiceManager.GetActiveGroupVoiceSessions()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Voice.WebRTC.VoiceManager.GetActiveP2PCalls`.
///
/// C# signature: `System.Collections.Generic.List<LibreMetaverse.UUID> LibreMetaverse.Voice.WebRTC.VoiceManager.GetActiveP2PCalls()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Voice.WebRTC.VoiceManager.GetAllKnownPeers`.
///
/// C# signature: `System.Collections.Generic.List<LibreMetaverse.UUID> LibreMetaverse.Voice.WebRTC.VoiceManager.GetAllKnownPeers()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Voice.WebRTC.VoiceManager.GetGroupVoicePeers(LibreMetaverse.UUID)`.
///
/// C# signature: `System.Collections.Generic.List<LibreMetaverse.UUID> LibreMetaverse.Voice.WebRTC.VoiceManager.GetGroupVoicePeers(LibreMetaverse.UUID groupId)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Voice.WebRTC.VoiceManager.GetKnownPeers`.
///
/// C# signature: `System.Collections.Generic.List<LibreMetaverse.UUID> LibreMetaverse.Voice.WebRTC.VoiceManager.GetKnownPeers()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Voice.WebRTC.VoiceManager.GetP2PCallInfo(LibreMetaverse.UUID)`.
///
/// C# signature: `System.ValueTuple<System.Boolean, System.Boolean, System.Nullable<System.DateTime>> LibreMetaverse.Voice.WebRTC.VoiceManager.GetP2PCallInfo(LibreMetaverse.UUID agentId)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Voice.WebRTC.VoiceManager.IsInGroupVoice(LibreMetaverse.UUID)`.
///
/// C# signature: `System.Boolean LibreMetaverse.Voice.WebRTC.VoiceManager.IsInGroupVoice(LibreMetaverse.UUID groupId)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Voice.WebRTC.VoiceManager.IsInP2PCall(LibreMetaverse.UUID)`.
///
/// C# signature: `System.Boolean LibreMetaverse.Voice.WebRTC.VoiceManager.IsInP2PCall(LibreMetaverse.UUID agentId)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Voice.WebRTC.VoiceManager.IsVoiceAllowedAt(LibreMetaverse.GridClient)`.
///
/// C# signature: `System.Boolean LibreMetaverse.Voice.WebRTC.VoiceManager.IsVoiceAllowedAt(LibreMetaverse.GridClient client)`.
/// Mapping contract: ownership `owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Voice.WebRTC.VoiceManager.JoinConferenceVoiceAsync(LibreMetaverse.UUID)`.
///
/// C# signature: `System.Threading.Tasks.Task<System.Boolean> LibreMetaverse.Voice.WebRTC.VoiceManager.JoinConferenceVoiceAsync(LibreMetaverse.UUID sessionId)`.
/// Mapping contract: ownership `shared_self,owned`; async `async`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Voice.WebRTC.VoiceManager.JoinGroupVoiceAsync(LibreMetaverse.UUID)`.
///
/// C# signature: `System.Threading.Tasks.Task<System.Boolean> LibreMetaverse.Voice.WebRTC.VoiceManager.JoinGroupVoiceAsync(LibreMetaverse.UUID groupId)`.
/// Mapping contract: ownership `shared_self,owned`; async `async`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Voice.WebRTC.VoiceManager.LeaveConferenceVoiceAsync(LibreMetaverse.UUID)`.
///
/// C# signature: `System.Threading.Tasks.Task LibreMetaverse.Voice.WebRTC.VoiceManager.LeaveConferenceVoiceAsync(LibreMetaverse.UUID sessionId)`.
/// Mapping contract: ownership `shared_self,owned`; async `async`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Voice.WebRTC.VoiceManager.LeaveGroupVoiceAsync(LibreMetaverse.UUID)`.
///
/// C# signature: `System.Threading.Tasks.Task LibreMetaverse.Voice.WebRTC.VoiceManager.LeaveGroupVoiceAsync(LibreMetaverse.UUID groupId)`.
/// Mapping contract: ownership `shared_self,owned`; async `async`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Voice.WebRTC.VoiceManager.PlayRawFile(System.String,System.Int32,System.Int32,System.Boolean)`.
///
/// C# signature: `System.Void LibreMetaverse.Voice.WebRTC.VoiceManager.PlayRawFile(System.String path, System.Int32 channels = default, System.Int32 sampleRate = default, System.Boolean loop = default)`.
/// Mapping contract: ownership `shared_self,owned,optional_owned,optional_owned,optional_owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Voice.WebRTC.VoiceManager.PlayWavAsMic(System.String,System.Boolean)`.
///
/// C# signature: `System.Void LibreMetaverse.Voice.WebRTC.VoiceManager.PlayWavAsMic(System.String path, System.Boolean loop = default)`.
/// Mapping contract: ownership `shared_self,owned,optional_owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Voice.WebRTC.VoiceManager.RequestParcelVoiceInfoAsync`.
///
/// C# signature: `System.Threading.Tasks.Task<System.Boolean> LibreMetaverse.Voice.WebRTC.VoiceManager.RequestParcelVoiceInfoAsync()`.
/// Mapping contract: ownership `shared_self`; async `async`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Voice.WebRTC.VoiceManager.SendDataChannelMessage(System.String)`.
///
/// C# signature: `System.Boolean LibreMetaverse.Voice.WebRTC.VoiceManager.SendDataChannelMessage(System.String message)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Voice.WebRTC.VoiceManager.SetGroupVoicePeerGain(LibreMetaverse.UUID,LibreMetaverse.UUID,System.Int32)`.
///
/// C# signature: `System.Boolean LibreMetaverse.Voice.WebRTC.VoiceManager.SetGroupVoicePeerGain(LibreMetaverse.UUID groupId, LibreMetaverse.UUID peerId, System.Int32 gain)`.
/// Mapping contract: ownership `shared_self,owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Voice.WebRTC.VoiceManager.SetGroupVoicePeerMute(LibreMetaverse.UUID,LibreMetaverse.UUID,System.Boolean)`.
///
/// C# signature: `System.Boolean LibreMetaverse.Voice.WebRTC.VoiceManager.SetGroupVoicePeerMute(LibreMetaverse.UUID groupId, LibreMetaverse.UUID peerId, System.Boolean mute)`.
/// Mapping contract: ownership `shared_self,owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Voice.WebRTC.VoiceManager.SetP2PCallGain(LibreMetaverse.UUID,System.Int32)`.
///
/// C# signature: `System.Boolean LibreMetaverse.Voice.WebRTC.VoiceManager.SetP2PCallGain(LibreMetaverse.UUID agentId, System.Int32 gain)`.
/// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Voice.WebRTC.VoiceManager.SetP2PCallMute(LibreMetaverse.UUID,System.Boolean)`.
///
/// C# signature: `System.Boolean LibreMetaverse.Voice.WebRTC.VoiceManager.SetP2PCallMute(LibreMetaverse.UUID agentId, System.Boolean mute)`.
/// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Voice.WebRTC.VoiceManager.SetPeerGain(LibreMetaverse.UUID,System.Int32)`.
///
/// C# signature: `System.Void LibreMetaverse.Voice.WebRTC.VoiceManager.SetPeerGain(LibreMetaverse.UUID peerId, System.Int32 gain)`.
/// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Voice.WebRTC.VoiceManager.SetPeerMute(LibreMetaverse.UUID,System.Boolean)`.
///
/// C# signature: `System.Void LibreMetaverse.Voice.WebRTC.VoiceManager.SetPeerMute(LibreMetaverse.UUID peerId, System.Boolean mute)`.
/// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Voice.WebRTC.VoiceManager.StartP2PCallAsync(LibreMetaverse.UUID)`.
///
/// C# signature: `System.Threading.Tasks.Task<System.Boolean> LibreMetaverse.Voice.WebRTC.VoiceManager.StartP2PCallAsync(LibreMetaverse.UUID agentId)`.
/// Mapping contract: ownership `shared_self,owned`; async `async`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Voice.WebRTC.VoiceManager.StopRawFile`.
///
/// C# signature: `System.Void LibreMetaverse.Voice.WebRTC.VoiceManager.StopRawFile()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Voice.WebRTC.VoiceManager.StopWavAsMic`.
///
/// C# signature: `System.Void LibreMetaverse.Voice.WebRTC.VoiceManager.StopWavAsMic()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.Voice.WebRTC.VoiceManager.ChannelCredentials`.
///
/// C# signature: `System.String LibreMetaverse.Voice.WebRTC.VoiceManager.ChannelCredentials`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.Voice.WebRTC.VoiceManager.ChannelId`.
///
/// C# signature: `System.String LibreMetaverse.Voice.WebRTC.VoiceManager.ChannelId`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.Voice.WebRTC.VoiceManager.Connected`.
///
/// C# signature: `System.Boolean LibreMetaverse.Voice.WebRTC.VoiceManager.Connected`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.Voice.WebRTC.VoiceManager.IsTransitioning`.
///
/// C# signature: `System.Boolean LibreMetaverse.Voice.WebRTC.VoiceManager.IsTransitioning`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.Voice.WebRTC.VoiceManager.SdpLocal`.
///
/// C# signature: `System.String LibreMetaverse.Voice.WebRTC.VoiceManager.SdpLocal`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.Voice.WebRTC.VoiceManager.SdpRemote`.
///
/// C# signature: `System.String LibreMetaverse.Voice.WebRTC.VoiceManager.SdpRemote`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.Voice.WebRTC.VoiceManager.SessionId`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.Voice.WebRTC.VoiceManager.SessionId`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.Voice.WebRTC.VoiceManager.VoiceAllowedHere`.
///
/// C# signature: `System.Boolean LibreMetaverse.Voice.WebRTC.VoiceManager.VoiceAllowedHere`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::compatibility::VoiceManager;

/// C# type: `T:LibreMetaverse.Voice.WebRTC.VoiceSession`.
///
/// Native Rust mapping of C# `LibreMetaverse.Voice.WebRTC.VoiceSession` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `E:LibreMetaverse.Voice.WebRTC.VoiceSession.OnDataChannelReady`.
///
/// C# signature: `System.Action LibreMetaverse.Voice.WebRTC.VoiceSession.OnDataChannelReady`.
/// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
/// C# member: `E:LibreMetaverse.Voice.WebRTC.VoiceSession.OnGainMapReceived`.
///
/// C# signature: `System.Action<System.Collections.Generic.Dictionary<LibreMetaverse.UUID, System.Int32>> LibreMetaverse.Voice.WebRTC.VoiceSession.OnGainMapReceived`.
/// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
/// C# member: `E:LibreMetaverse.Voice.WebRTC.VoiceSession.OnMuteMapReceived`.
///
/// C# signature: `System.Action<System.Collections.Generic.Dictionary<LibreMetaverse.UUID, System.Boolean>> LibreMetaverse.Voice.WebRTC.VoiceSession.OnMuteMapReceived`.
/// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
/// C# member: `E:LibreMetaverse.Voice.WebRTC.VoiceSession.OnPeerAudioUpdated`.
///
/// C# signature: `System.Action<LibreMetaverse.UUID, LibreMetaverse.Voice.WebRTC.VoiceSession.PeerAudioState> LibreMetaverse.Voice.WebRTC.VoiceSession.OnPeerAudioUpdated`.
/// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
/// C# member: `E:LibreMetaverse.Voice.WebRTC.VoiceSession.OnPeerConnectionClosed`.
///
/// C# signature: `System.Action LibreMetaverse.Voice.WebRTC.VoiceSession.OnPeerConnectionClosed`.
/// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
/// C# member: `E:LibreMetaverse.Voice.WebRTC.VoiceSession.OnPeerConnectionReady`.
///
/// C# signature: `System.Action LibreMetaverse.Voice.WebRTC.VoiceSession.OnPeerConnectionReady`.
/// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
/// C# member: `E:LibreMetaverse.Voice.WebRTC.VoiceSession.OnPeerJoined`.
///
/// C# signature: `System.Action<LibreMetaverse.UUID> LibreMetaverse.Voice.WebRTC.VoiceSession.OnPeerJoined`.
/// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
/// C# member: `E:LibreMetaverse.Voice.WebRTC.VoiceSession.OnPeerLeft`.
///
/// C# signature: `System.Action<LibreMetaverse.UUID> LibreMetaverse.Voice.WebRTC.VoiceSession.OnPeerLeft`.
/// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
/// C# member: `E:LibreMetaverse.Voice.WebRTC.VoiceSession.OnPeerListUpdated`.
///
/// C# signature: `System.Action<System.Collections.Generic.List<LibreMetaverse.UUID>> LibreMetaverse.Voice.WebRTC.VoiceSession.OnPeerListUpdated`.
/// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
/// C# member: `E:LibreMetaverse.Voice.WebRTC.VoiceSession.OnPeerPositionUpdated`.
///
/// C# signature: `System.Action<LibreMetaverse.UUID, LibreMetaverse.StructuredData.OSDMap> LibreMetaverse.Voice.WebRTC.VoiceSession.OnPeerPositionUpdated`.
/// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
/// C# member: `E:LibreMetaverse.Voice.WebRTC.VoiceSession.OnPeerPositionUpdatedTyped`.
///
/// C# signature: `System.Action<LibreMetaverse.UUID, LibreMetaverse.Voice.WebRTC.VoiceSession.AvatarPosition> LibreMetaverse.Voice.WebRTC.VoiceSession.OnPeerPositionUpdatedTyped`.
/// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
/// C# member: `E:LibreMetaverse.Voice.WebRTC.VoiceSession.OnReprovisionFailed`.
///
/// C# signature: `System.Action<System.Exception> LibreMetaverse.Voice.WebRTC.VoiceSession.OnReprovisionFailed`.
/// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
/// C# member: `E:LibreMetaverse.Voice.WebRTC.VoiceSession.OnReprovisionSucceeded`.
///
/// C# signature: `System.Action LibreMetaverse.Voice.WebRTC.VoiceSession.OnReprovisionSucceeded`.
/// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
/// C# member: `F:LibreMetaverse.Voice.WebRTC.VoiceSession.PROVISION_VOICE_ACCOUNT_CAP`.
///
/// C# signature: `System.String LibreMetaverse.Voice.WebRTC.VoiceSession.PROVISION_VOICE_ACCOUNT_CAP`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Voice.WebRTC.VoiceSession.VOICE_SIGNALING_CAP`.
///
/// C# signature: `System.String LibreMetaverse.Voice.WebRTC.VoiceSession.VOICE_SIGNALING_CAP`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `M:LibreMetaverse.Voice.WebRTC.VoiceSession.CloseSessionAsync`.
///
/// C# signature: `System.Threading.Tasks.Task LibreMetaverse.Voice.WebRTC.VoiceSession.CloseSessionAsync()`.
/// Mapping contract: ownership `shared_self`; async `async`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Voice.WebRTC.VoiceSession.CreatePeerConnectionAsync(System.Threading.CancellationToken)`.
///
/// C# signature: `System.Threading.Tasks.Task<SIPSorcery.Net.RTCPeerConnection> LibreMetaverse.Voice.WebRTC.VoiceSession.CreatePeerConnectionAsync(System.Threading.CancellationToken ct = default)`.
/// Mapping contract: ownership `shared_self,optional_owned`; async `async`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Voice.WebRTC.VoiceSession.Dispose`.
///
/// C# signature: `System.Void LibreMetaverse.Voice.WebRTC.VoiceSession.Dispose()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Voice.WebRTC.VoiceSession.GetKnownPeers`.
///
/// C# signature: `System.Collections.Generic.List<LibreMetaverse.UUID> LibreMetaverse.Voice.WebRTC.VoiceSession.GetKnownPeers()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Voice.WebRTC.VoiceSession.RequestProvisionAsync`.
///
/// C# signature: `System.Threading.Tasks.Task<System.Boolean> LibreMetaverse.Voice.WebRTC.VoiceSession.RequestProvisionAsync()`.
/// Mapping contract: ownership `shared_self`; async `async`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Voice.WebRTC.VoiceSession.SendAvatarArray(System.Collections.Generic.List{LibreMetaverse.UUID})`.
///
/// C# signature: `System.Boolean LibreMetaverse.Voice.WebRTC.VoiceSession.SendAvatarArray(System.Collections.Generic.List<LibreMetaverse.UUID> avatars)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Voice.WebRTC.VoiceSession.SendAvatarMap(System.Collections.Generic.IEnumerable{LibreMetaverse.UUID})`.
///
/// C# signature: `System.Boolean LibreMetaverse.Voice.WebRTC.VoiceSession.SendAvatarMap(System.Collections.Generic.IEnumerable<LibreMetaverse.UUID> avatars)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Voice.WebRTC.VoiceSession.SendGainMap(System.Collections.Generic.Dictionary{LibreMetaverse.UUID,System.Int32})`.
///
/// C# signature: `System.Boolean LibreMetaverse.Voice.WebRTC.VoiceSession.SendGainMap(System.Collections.Generic.Dictionary<LibreMetaverse.UUID, System.Int32> gainMap)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Voice.WebRTC.VoiceSession.SendJoin(System.Boolean)`.
///
/// C# signature: `System.Boolean LibreMetaverse.Voice.WebRTC.VoiceSession.SendJoin(System.Boolean primary = default)`.
/// Mapping contract: ownership `shared_self,optional_owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Voice.WebRTC.VoiceSession.SendLeave`.
///
/// C# signature: `System.Boolean LibreMetaverse.Voice.WebRTC.VoiceSession.SendLeave()`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Voice.WebRTC.VoiceSession.SendMuteMap(System.Collections.Generic.Dictionary{LibreMetaverse.UUID,System.Boolean})`.
///
/// C# signature: `System.Boolean LibreMetaverse.Voice.WebRTC.VoiceSession.SendMuteMap(System.Collections.Generic.Dictionary<LibreMetaverse.UUID, System.Boolean> muteMap)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Voice.WebRTC.VoiceSession.SendPosition(LibreMetaverse.Vector3d,LibreMetaverse.Quaternion)`.
///
/// C# signature: `System.Boolean LibreMetaverse.Voice.WebRTC.VoiceSession.SendPosition(LibreMetaverse.Vector3d globalPos, LibreMetaverse.Quaternion heading)`.
/// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Voice.WebRTC.VoiceSession.SendPosition(LibreMetaverse.Vector3d,LibreMetaverse.Quaternion,LibreMetaverse.Vector3d,LibreMetaverse.Quaternion)`.
///
/// C# signature: `System.Boolean LibreMetaverse.Voice.WebRTC.VoiceSession.SendPosition(LibreMetaverse.Vector3d globalPos, LibreMetaverse.Quaternion heading, LibreMetaverse.Vector3d cameraPos, LibreMetaverse.Quaternion cameraHeading)`.
/// Mapping contract: ownership `shared_self,owned,owned,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
/// C# member: `M:LibreMetaverse.Voice.WebRTC.VoiceSession.SetPeerGain(LibreMetaverse.UUID,System.Int32)`.
///
/// C# signature: `System.Boolean LibreMetaverse.Voice.WebRTC.VoiceSession.SetPeerGain(LibreMetaverse.UUID peerId, System.Int32 gain)`.
/// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Voice.WebRTC.VoiceSession.SetPeerMute(LibreMetaverse.UUID,System.Boolean)`.
///
/// C# signature: `System.Boolean LibreMetaverse.Voice.WebRTC.VoiceSession.SetPeerMute(LibreMetaverse.UUID peerId, System.Boolean mute)`.
/// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Voice.WebRTC.VoiceSession.StartAsync(System.Threading.CancellationToken)`.
///
/// C# signature: `System.Threading.Tasks.Task LibreMetaverse.Voice.WebRTC.VoiceSession.StartAsync(System.Threading.CancellationToken ct = default)`.
/// Mapping contract: ownership `shared_self,optional_owned`; async `async`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `M:LibreMetaverse.Voice.WebRTC.VoiceSession.TrySendDataChannelString(System.String)`.
///
/// C# signature: `System.Boolean LibreMetaverse.Voice.WebRTC.VoiceSession.TrySendDataChannelString(System.String str)`.
/// Mapping contract: ownership `shared_self,owned`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.Voice.WebRTC.VoiceSession.ChannelCredentials`.
///
/// C# signature: `System.String LibreMetaverse.Voice.WebRTC.VoiceSession.ChannelCredentials`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.Voice.WebRTC.VoiceSession.ChannelId`.
///
/// C# signature: `System.String LibreMetaverse.Voice.WebRTC.VoiceSession.ChannelId`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.Voice.WebRTC.VoiceSession.Connected`.
///
/// C# signature: `System.Boolean LibreMetaverse.Voice.WebRTC.VoiceSession.Connected`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.Voice.WebRTC.VoiceSession.DataChannel`.
///
/// C# signature: `SIPSorcery.Net.RTCDataChannel LibreMetaverse.Voice.WebRTC.VoiceSession.DataChannel`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.Voice.WebRTC.VoiceSession.IsPrimary`.
///
/// C# signature: `System.Boolean LibreMetaverse.Voice.WebRTC.VoiceSession.IsPrimary`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.Voice.WebRTC.VoiceSession.ParcelLocalId`.
///
/// C# signature: `System.Int32 LibreMetaverse.Voice.WebRTC.VoiceSession.ParcelLocalId`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.Voice.WebRTC.VoiceSession.SdpLocal`.
///
/// C# signature: `System.String LibreMetaverse.Voice.WebRTC.VoiceSession.SdpLocal`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.Voice.WebRTC.VoiceSession.SdpRemote`.
///
/// C# signature: `System.String LibreMetaverse.Voice.WebRTC.VoiceSession.SdpRemote`.
/// Mapping contract: ownership `shared_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.Voice.WebRTC.VoiceSession.SessionId`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.Voice.WebRTC.VoiceSession.SessionId`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.Voice.WebRTC.VoiceSession.TargetSimulator`.
///
/// C# signature: `LibreMetaverse.Simulator LibreMetaverse.Voice.WebRTC.VoiceSession.TargetSimulator`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::compatibility::VoiceSession;

/// C# type: `T:LibreMetaverse.Voice.WebRTC.VoiceSession.AvatarPosition`.
///
/// Native Rust mapping of C# `LibreMetaverse.Voice.WebRTC.VoiceSession.AvatarPosition` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.Voice.WebRTC.VoiceSession.AvatarPosition.#ctor`.
///
/// C# signature: `LibreMetaverse.Voice.WebRTC.VoiceSession.AvatarPosition()`.
/// Mapping contract: ownership `none`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.Voice.WebRTC.VoiceSession.AvatarPosition.AgentId`.
///
/// C# signature: `LibreMetaverse.UUID LibreMetaverse.Voice.WebRTC.VoiceSession.AvatarPosition.AgentId`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.Voice.WebRTC.VoiceSession.AvatarPosition.ListenerHeading`.
///
/// C# signature: `System.Nullable<LibreMetaverse.Voice.WebRTC.VoiceSession.Int4> LibreMetaverse.Voice.WebRTC.VoiceSession.AvatarPosition.ListenerHeading`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.Voice.WebRTC.VoiceSession.AvatarPosition.ListenerPosition`.
///
/// C# signature: `System.Nullable<LibreMetaverse.Voice.WebRTC.VoiceSession.Int3> LibreMetaverse.Voice.WebRTC.VoiceSession.AvatarPosition.ListenerPosition`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.Voice.WebRTC.VoiceSession.AvatarPosition.SenderHeading`.
///
/// C# signature: `System.Nullable<LibreMetaverse.Voice.WebRTC.VoiceSession.Int4> LibreMetaverse.Voice.WebRTC.VoiceSession.AvatarPosition.SenderHeading`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.Voice.WebRTC.VoiceSession.AvatarPosition.SenderPosition`.
///
/// C# signature: `System.Nullable<LibreMetaverse.Voice.WebRTC.VoiceSession.Int3> LibreMetaverse.Voice.WebRTC.VoiceSession.AvatarPosition.SenderPosition`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::compatibility::VoiceSessionAvatarPosition;

/// C# type: `T:LibreMetaverse.Voice.WebRTC.VoiceSession.ESessionType`.
///
/// Native Rust mapping of C# `LibreMetaverse.Voice.WebRTC.VoiceSession.ESessionType` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `F:LibreMetaverse.Voice.WebRTC.VoiceSession.ESessionType.LOCAL`.
///
/// C# signature: `LibreMetaverse.Voice.WebRTC.VoiceSession.ESessionType LibreMetaverse.Voice.WebRTC.VoiceSession.ESessionType.LOCAL`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Voice.WebRTC.VoiceSession.ESessionType.MULTIAGENT`.
///
/// C# signature: `LibreMetaverse.Voice.WebRTC.VoiceSession.ESessionType LibreMetaverse.Voice.WebRTC.VoiceSession.ESessionType.MULTIAGENT`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
pub use crate::compatibility::VoiceSessionESessionType;

/// C# type: `T:LibreMetaverse.Voice.WebRTC.VoiceSession.Int3`.
///
/// Native Rust mapping of C# `LibreMetaverse.Voice.WebRTC.VoiceSession.Int3` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `F:LibreMetaverse.Voice.WebRTC.VoiceSession.Int3.X`.
///
/// C# signature: `System.Int32 LibreMetaverse.Voice.WebRTC.VoiceSession.Int3.X`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Voice.WebRTC.VoiceSession.Int3.Y`.
///
/// C# signature: `System.Int32 LibreMetaverse.Voice.WebRTC.VoiceSession.Int3.Y`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Voice.WebRTC.VoiceSession.Int3.Z`.
///
/// C# signature: `System.Int32 LibreMetaverse.Voice.WebRTC.VoiceSession.Int3.Z`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
pub use crate::compatibility::VoiceSessionInt3;

/// C# type: `T:LibreMetaverse.Voice.WebRTC.VoiceSession.Int4`.
///
/// Native Rust mapping of C# `LibreMetaverse.Voice.WebRTC.VoiceSession.Int4` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `F:LibreMetaverse.Voice.WebRTC.VoiceSession.Int4.W`.
///
/// C# signature: `System.Int32 LibreMetaverse.Voice.WebRTC.VoiceSession.Int4.W`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Voice.WebRTC.VoiceSession.Int4.X`.
///
/// C# signature: `System.Int32 LibreMetaverse.Voice.WebRTC.VoiceSession.Int4.X`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Voice.WebRTC.VoiceSession.Int4.Y`.
///
/// C# signature: `System.Int32 LibreMetaverse.Voice.WebRTC.VoiceSession.Int4.Y`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
/// C# member: `F:LibreMetaverse.Voice.WebRTC.VoiceSession.Int4.Z`.
///
/// C# signature: `System.Int32 LibreMetaverse.Voice.WebRTC.VoiceSession.Int4.Z`.
/// Mapping contract: ownership `owned_value`; async `sync`;
/// errors `none`; overload `direct_snake_case`; kind `direct`.
pub use crate::compatibility::VoiceSessionInt4;

/// C# type: `T:LibreMetaverse.Voice.WebRTC.VoiceSession.PeerAudioState`.
///
/// Native Rust mapping of C# `LibreMetaverse.Voice.WebRTC.VoiceSession.PeerAudioState` using decision
/// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
/// C# member: `M:LibreMetaverse.Voice.WebRTC.VoiceSession.PeerAudioState.#ctor`.
///
/// C# signature: `LibreMetaverse.Voice.WebRTC.VoiceSession.PeerAudioState()`.
/// Mapping contract: ownership `none`; async `sync`;
/// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
/// C# member: `P:LibreMetaverse.Voice.WebRTC.VoiceSession.PeerAudioState.JoinedPrimary`.
///
/// C# signature: `System.Nullable<System.Boolean> LibreMetaverse.Voice.WebRTC.VoiceSession.PeerAudioState.JoinedPrimary`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.Voice.WebRTC.VoiceSession.PeerAudioState.Left`.
///
/// C# signature: `System.Boolean LibreMetaverse.Voice.WebRTC.VoiceSession.PeerAudioState.Left`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.Voice.WebRTC.VoiceSession.PeerAudioState.ModeratorMuted`.
///
/// C# signature: `System.Nullable<System.Boolean> LibreMetaverse.Voice.WebRTC.VoiceSession.PeerAudioState.ModeratorMuted`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.Voice.WebRTC.VoiceSession.PeerAudioState.Power`.
///
/// C# signature: `System.Nullable<System.Int32> LibreMetaverse.Voice.WebRTC.VoiceSession.PeerAudioState.Power`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
/// C# member: `P:LibreMetaverse.Voice.WebRTC.VoiceSession.PeerAudioState.VoiceActive`.
///
/// C# signature: `System.Nullable<System.Boolean> LibreMetaverse.Voice.WebRTC.VoiceSession.PeerAudioState.VoiceActive`.
/// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
/// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
pub use crate::compatibility::VoiceSessionPeerAudioState;

pub mod libre_metaverse {
    /// C# type: `T:LibreMetaverse.AudioDevice`.
    ///
    /// Native Rust mapping of C# `LibreMetaverse.AudioDevice` using decision
    /// `native_metacrate_type`. See the [pinned C# source](https://github.com/cinderblocks/libremetaverse/tree/2aa70bb68513b39795da5d13c88f31b86e85a3ba).
    /// C# member: `E:LibreMetaverse.AudioDevice.OnAudioSourceEncodedSample`.
    ///
    /// C# signature: `System.Action<System.UInt32, System.Byte[]> LibreMetaverse.AudioDevice.OnAudioSourceEncodedSample`.
    /// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
    /// C# member: `E:LibreMetaverse.AudioDevice.OnPlaybackActiveChanged`.
    ///
    /// C# signature: `System.Action<System.Boolean> LibreMetaverse.AudioDevice.OnPlaybackActiveChanged`.
    /// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
    /// C# member: `E:LibreMetaverse.AudioDevice.OnRecordingActiveChanged`.
    ///
    /// C# signature: `System.Action<System.Boolean> LibreMetaverse.AudioDevice.OnRecordingActiveChanged`.
    /// Mapping contract: ownership `shared_self,stored_callback`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `subscription_guard`.
    /// C# member: `M:LibreMetaverse.AudioDevice.#ctor(LibreMetaverse.Voice.WebRTC.IVoiceLogger)`.
    ///
    /// C# signature: `LibreMetaverse.AudioDevice(LibreMetaverse.Voice.WebRTC.IVoiceLogger logger = default)`.
    /// Mapping contract: ownership `optional_owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.AudioDevice.AudioSource_OnAudioSourceEncodedSample(System.UInt32,System.Byte[])`.
    ///
    /// C# signature: `System.Void LibreMetaverse.AudioDevice.AudioSource_OnAudioSourceEncodedSample(System.UInt32 durationRtpUnits, System.Byte[] sample)`.
    /// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.AudioDevice.AudioSource_OnAudioSourceRawSample(SIPSorceryMedia.Abstractions.AudioSamplingRatesEnum,System.UInt32,System.Int16[])`.
    ///
    /// C# signature: `System.Void LibreMetaverse.AudioDevice.AudioSource_OnAudioSourceRawSample(SIPSorceryMedia.Abstractions.AudioSamplingRatesEnum samplingRate, System.UInt32 durationMilliseconds, System.Int16[] sample)`.
    /// Mapping contract: ownership `shared_self,owned,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.AudioDevice.ClearSsrc(System.UInt32)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.AudioDevice.ClearSsrc(System.UInt32 ssrc)`.
    /// Mapping contract: ownership `shared_self,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.AudioDevice.CloseRecordingSource`.
    ///
    /// C# signature: `System.Void LibreMetaverse.AudioDevice.CloseRecordingSource()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.AudioDevice.DisableAudioProcessing`.
    ///
    /// C# signature: `System.Void LibreMetaverse.AudioDevice.DisableAudioProcessing()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.AudioDevice.Dispose`.
    ///
    /// C# signature: `System.Void LibreMetaverse.AudioDevice.Dispose()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.AudioDevice.EnableAudioProcessing(System.Boolean,System.Boolean,System.Boolean,System.Boolean,SoundFlow.Extensions.WebRtc.Apm.NoiseSuppressionLevel,System.Boolean,System.Int32)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.AudioDevice.EnableAudioProcessing(System.Boolean noiseSuppression = default, System.Boolean highPassFilter = default, System.Boolean agc = default, System.Boolean echoCancellation = default, SoundFlow.Extensions.WebRtc.Apm.NoiseSuppressionLevel nsLevel = default, System.Boolean agc1 = default, System.Int32 aecLatencyMs = default)`.
    /// Mapping contract: ownership `shared_self,optional_owned,optional_owned,optional_owned,optional_owned,optional_owned,optional_owned,optional_owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.AudioDevice.EnsureEndpoint`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.AudioDevice.EnsureEndpoint()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.AudioDevice.FeedEncodedSample(System.UInt32,System.Byte[])`.
    ///
    /// C# signature: `System.Void LibreMetaverse.AudioDevice.FeedEncodedSample(System.UInt32 durationRtpUnits, System.Byte[] encoded)`.
    /// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.AudioDevice.FeedPcmBytes(System.Byte[],System.Int32,System.Int32)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.AudioDevice.FeedPcmBytes(System.Byte[] pcmBytes, System.Int32 channels = default, System.Int32 sampleRate = default)`.
    /// Mapping contract: ownership `shared_self,owned,optional_owned,optional_owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.AudioDevice.FeedPcmSamples(System.Int16[],System.Int32,System.Int32)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.AudioDevice.FeedPcmSamples(System.Int16[] pcmInterleaved, System.Int32 channels = default, System.Int32 sampleRate = default)`.
    /// Mapping contract: ownership `shared_self,owned,optional_owned,optional_owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.AudioDevice.FeedPcmSamplesPacedAsync(System.Int16[],System.Int32,System.Int32,System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task LibreMetaverse.AudioDevice.FeedPcmSamplesPacedAsync(System.Int16[] pcmInterleaved, System.Int32 channels = default, System.Int32 sampleRate = default, System.Threading.CancellationToken ct = default)`.
    /// Mapping contract: ownership `shared_self,owned,optional_owned,optional_owned,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.AudioDevice.GetPlaybackDevices`.
    ///
    /// C# signature: `System.Collections.Generic.IReadOnlyDictionary<System.UInt32, System.String> LibreMetaverse.AudioDevice.GetPlaybackDevices()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.AudioDevice.GetRecordingDevices`.
    ///
    /// C# signature: `System.Collections.Generic.IReadOnlyDictionary<System.UInt32, System.String> LibreMetaverse.AudioDevice.GetRecordingDevices()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.AudioDevice.PlayFileLoop(System.String)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.AudioDevice.PlayFileLoop(System.String path)`.
    /// Mapping contract: ownership `shared_self,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.AudioDevice.PlayFileOnce(System.String)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.AudioDevice.PlayFileOnce(System.String path)`.
    /// Mapping contract: ownership `shared_self,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.AudioDevice.PlayRawPcmStreamAsync(System.IO.Stream,System.Int32,System.Int32,System.Threading.CancellationToken)`.
    ///
    /// C# signature: `System.Threading.Tasks.Task LibreMetaverse.AudioDevice.PlayRawPcmStreamAsync(System.IO.Stream pcmStream, System.Int32 channels = default, System.Int32 sampleRate = default, System.Threading.CancellationToken ct = default)`.
    /// Mapping contract: ownership `shared_self,owned,optional_owned,optional_owned,optional_owned`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.AudioDevice.PlayRtpPacket(System.UInt32,System.Byte[])`.
    ///
    /// C# signature: `System.Void LibreMetaverse.AudioDevice.PlayRtpPacket(System.UInt32 ssrc, System.Byte[] payload)`.
    /// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.AudioDevice.SetCaptureGainPercent(System.Int32)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.AudioDevice.SetCaptureGainPercent(System.Int32 percent)`.
    /// Mapping contract: ownership `shared_self,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.AudioDevice.SetPlaybackDevice(System.String)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.AudioDevice.SetPlaybackDevice(System.String deviceName)`.
    /// Mapping contract: ownership `shared_self,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    /// C# member: `M:LibreMetaverse.AudioDevice.SetPlaybackVolume(System.Single)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.AudioDevice.SetPlaybackVolume(System.Single normalized)`.
    /// Mapping contract: ownership `shared_self,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.AudioDevice.SetRecordingDevice(System.String)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.AudioDevice.SetRecordingDevice(System.String deviceName)`.
    /// Mapping contract: ownership `shared_self,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `descriptive_overload_name`; kind `method`.
    /// C# member: `M:LibreMetaverse.AudioDevice.SetSsrcGainPercent(System.UInt32,System.Int32)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.AudioDevice.SetSsrcGainPercent(System.UInt32 ssrc, System.Int32 percent)`.
    /// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.AudioDevice.SetSsrcMute(System.UInt32,System.Boolean)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.AudioDevice.SetSsrcMute(System.UInt32 ssrc, System.Boolean muted)`.
    /// Mapping contract: ownership `shared_self,owned,owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.AudioDevice.StartFilePlayback(System.String,System.Boolean)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.AudioDevice.StartFilePlayback(System.String path, System.Boolean loop = default)`.
    /// Mapping contract: ownership `shared_self,owned,optional_owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.AudioDevice.StartPlaybackAsync`.
    ///
    /// C# signature: `System.Threading.Tasks.Task LibreMetaverse.AudioDevice.StartPlaybackAsync()`.
    /// Mapping contract: ownership `shared_self`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.AudioDevice.StartRawPcmFileLoop(System.String,System.Int32,System.Boolean)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.AudioDevice.StartRawPcmFileLoop(System.String path, System.Int32 channels = default, System.Boolean loop = default)`.
    /// Mapping contract: ownership `shared_self,owned,optional_owned,optional_owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.AudioDevice.StartRawPcmStream(System.IO.Stream,System.Int32,System.Int32)`.
    ///
    /// C# signature: `System.Void LibreMetaverse.AudioDevice.StartRawPcmStream(System.IO.Stream pcmStream, System.Int32 channels = default, System.Int32 sampleRate = default)`.
    /// Mapping contract: ownership `shared_self,owned,optional_owned,optional_owned`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.AudioDevice.StartRecording`.
    ///
    /// C# signature: `System.Void LibreMetaverse.AudioDevice.StartRecording()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.AudioDevice.StopFile`.
    ///
    /// C# signature: `System.Void LibreMetaverse.AudioDevice.StopFile()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.AudioDevice.StopFilePlayback`.
    ///
    /// C# signature: `System.Void LibreMetaverse.AudioDevice.StopFilePlayback()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.AudioDevice.StopPlaybackAsync`.
    ///
    /// C# signature: `System.Threading.Tasks.Task LibreMetaverse.AudioDevice.StopPlaybackAsync()`.
    /// Mapping contract: ownership `shared_self`; async `async`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.AudioDevice.StopRawPcmStream`.
    ///
    /// C# signature: `System.Void LibreMetaverse.AudioDevice.StopRawPcmStream()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `M:LibreMetaverse.AudioDevice.StopRecording`.
    ///
    /// C# signature: `System.Void LibreMetaverse.AudioDevice.StopRecording()`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `Result<_, crate::Error>`; overload `direct_snake_case`; kind `method`.
    /// C# member: `P:LibreMetaverse.AudioDevice.EndPoint`.
    ///
    /// C# signature: `SIPSorceryMedia.SoundFlow.SoundFlowAudioEndPoint LibreMetaverse.AudioDevice.EndPoint`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    /// C# member: `P:LibreMetaverse.AudioDevice.IsAvailable`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.AudioDevice.IsAvailable`.
    /// Mapping contract: ownership `shared_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    /// C# member: `P:LibreMetaverse.AudioDevice.MicMute`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.AudioDevice.MicMute`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    /// C# member: `P:LibreMetaverse.AudioDevice.PlaybackActive`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.AudioDevice.PlaybackActive`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    /// C# member: `P:LibreMetaverse.AudioDevice.PlaybackDevice`.
    ///
    /// C# signature: `System.ValueTuple<System.UInt32, System.String> LibreMetaverse.AudioDevice.PlaybackDevice`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    /// C# member: `P:LibreMetaverse.AudioDevice.RecordingActive`.
    ///
    /// C# signature: `System.Boolean LibreMetaverse.AudioDevice.RecordingActive`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    /// C# member: `P:LibreMetaverse.AudioDevice.RecordingDevice`.
    ///
    /// C# signature: `System.ValueTuple<System.UInt32, System.String> LibreMetaverse.AudioDevice.RecordingDevice`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    /// C# member: `P:LibreMetaverse.AudioDevice.Source`.
    ///
    /// C# signature: `SIPSorceryMedia.SoundFlow.SoundFlowAudioSource LibreMetaverse.AudioDevice.Source`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    /// C# member: `P:LibreMetaverse.AudioDevice.SpeakerLevel`.
    ///
    /// C# signature: `System.Single LibreMetaverse.AudioDevice.SpeakerLevel`.
    /// Mapping contract: ownership `shared_or_mutable_self`; async `sync`;
    /// errors `infallible_placeholder`; overload `direct_snake_case`; kind `accessor_methods`.
    pub use crate::compatibility::AudioDevice;
}
