using Robust.Server.Player;
using Robust.Shared.GameObjects;
namespace Content.Server.Chat.Managers
{
public interface IChatManager
{
void Initialize();
///
/// Dispatch a server announcement to every connected player.
///
void DispatchServerAnnouncement(string message);
///
/// Station announcement to every player
///
///
///
/// If the default 'PA' sound should be played.
void DispatchStationAnnouncement(string message, string sender = "CentComm", bool playDefaultSound = true);
void DispatchServerMessage(IPlayerSession player, string message);
/// If true, message will not be logged to chat boxes but will still produce a speech bubble.
void EntitySay(EntityUid source, string message, bool hideChat=false);
void EntityMe(EntityUid source, string action);
void EntityLOOC(EntityUid source, string message);
void SendOOC(IPlayerSession player, string message);
void SendAdminChat(IPlayerSession player, string message);
void SendDeadChat(IPlayerSession player, string message);
void SendAdminDeadChat(IPlayerSession player, string message);
void SendHookOOC(string sender, string message);
delegate string TransformChat(EntityUid speaker, string message);
void RegisterChatTransform(TransformChat handler);
void SendAdminAnnouncement(string message);
}
}