using System; using System.Collections.Generic; using DHT.Server.Data; using DHT.Server.Data.Filters; namespace DHT.Server.Database { public interface IDatabaseFile : IDisposable { string Path { get; } DatabaseStatistics Statistics { get; } void AddServer(Data.Server server); List GetAllServers(); void AddChannel(Channel channel); List GetAllChannels(); void AddUsers(User[] users); List GetAllUsers(); void AddMessages(Message[] messages); int CountMessages(MessageFilter? filter = null); List GetMessages(MessageFilter? filter = null); void RemoveMessages(MessageFilter filter, MessageFilterRemovalMode mode); void Vacuum(); } }