using System.Collections.Generic;
using Dalamud.Interface;
using Dalamud.Interface.Textures;
namespace Dalamud.Plugin.Services;
///
/// Interface for class responsible for managing elements in the title screen menu.
///
public interface ITitleScreenMenu : IDalamudService
{
///
/// Gets the list of read only entries in the title screen menu.
///
public IReadOnlyList Entries { get; }
///
/// Adds a new entry to the title screen menu.
///
/// The text to show.
/// The texture to show. The texture must be 64x64 or the entry will be removed and an error will be logged.
/// The action to execute when the option is selected.
/// A object that can be reference the entry.
/// Thrown when the texture provided does not match the required resolution(64x64).
public IReadOnlyTitleScreenMenuEntry AddEntry(string text, ISharedImmediateTexture texture, Action onTriggered);
///
/// Adds a new entry to the title screen menu.
///
/// Priority of the entry.
/// The text to show.
/// The texture to show. The texture must be 64x64 or the entry will be removed and an error will be logged.
/// The action to execute when the option is selected.
/// A object that can be used to reference the entry.
/// Thrown when the texture provided does not match the required resolution(64x64).
public IReadOnlyTitleScreenMenuEntry AddEntry(ulong priority, string text, ISharedImmediateTexture texture, Action onTriggered);
///
/// Remove an entry from the title screen menu.
///
/// The entry to remove.
public void RemoveEntry(IReadOnlyTitleScreenMenuEntry entry);
}