using Glamourer.Api.Enums;
namespace Glamourer.Api.Api;
/// All functions related to Glamourer designs.
public interface IGlamourerApiDesigns
{
/// Obtain a list of all available designs.
/// A dictionary of all designs from their GUID to their current display name.
public Dictionary GetDesignList();
/// Apply an existing design to an actor.
/// The GUID of the design to apply.
/// The game object index of the actor to be manipulated.
/// A key to unlock or lock the state if necessary.
/// The flags used for the reversion. Respects Once, Equipment, Customization, Lock (see .)
/// DesignNotFound, ActorNotFound, InvalidKey, Success.
public GlamourerApiEc ApplyDesign(Guid designId, int objectIndex, uint key, ApplyFlag flags);
/// Apply an existing design to an actor.
/// The GUID of the design to apply.
/// The name of the players to be manipulated.
/// A key to unlock or lock the state if necessary.
/// The flags used for the reversion. Respects Once, Equipment, Customization, Lock (see .)
/// DesignNotFound, ActorNotFound, InvalidKey, Success.
/// ///
/// The player does not have to be currently available as long as he has a persisted Glamourer state.
/// Only players are checked for name equality, no NPCs.
/// If multiple players of the same name are found, all of them are reverted.
/// Prefer to use the index-based function unless you need to get the state of someone currently unavailable.
///
public GlamourerApiEc ApplyDesignName(Guid designId, string playerName, uint key, ApplyFlag flags);
}