using System.Globalization; namespace Nadeko.Common.Medusa; public interface IMedusaLoaderService { Task LoadMedusaAsync(string medusaName); Task UnloadMedusaAsync(string medusaName); string GetCommandDescription(string medusaName, string commandName, CultureInfo culture); string[] GetCommandExampleArgs(string medusaName, string commandName, CultureInfo culture); Task ReloadStrings(); IReadOnlyCollection GetAllMedusae(); IReadOnlyCollection GetLoadedMedusae(CultureInfo? cultureInfo = null); } public sealed record MedusaStats(string Name, string? Description, IReadOnlyCollection Sneks); public sealed record SnekStats(string Name, string? Prefix, IReadOnlyCollection Commands); public sealed record SnekCommandStats(string Name);