using System.Collections.Generic; namespace SharpChat.EventStorage { public interface IEventStorage { void AddEvent( long id, string type, object data = null, StoredEventFlags flags = StoredEventFlags.None ); void AddEvent( long id, string type, string channelName, object data = null, StoredEventFlags flags = StoredEventFlags.None ); void AddEvent( long id, string type, long senderId, string senderName, ChatColour senderColour, int senderRank, string senderNick, ChatUserPermissions senderPerms, object data = null, StoredEventFlags flags = StoredEventFlags.None ); void AddEvent( long id, string type, string channelName, long senderId, string senderName, ChatColour senderColour, int senderRank, string senderNick, ChatUserPermissions senderPerms, object data = null, StoredEventFlags flags = StoredEventFlags.None ); long AddEvent(string type, ChatUser user, ChatChannel channel, object data = null, StoredEventFlags flags = StoredEventFlags.None); void RemoveEvent(StoredEventInfo evt); StoredEventInfo GetEvent(long seqId); IEnumerable GetChannelEventLog(string channelName, int amount = 20, int offset = 0); } }