using ZB.MOM.WW.ScadaBridge.Commons.Messages.RemoteQuery;

namespace ZB.MOM.WW.ScadaBridge.SiteEventLogging;

/// <summary>
/// Interface for querying site event logs.
/// Used by Communication Layer to process remote queries from central.
/// </summary>
public interface IEventLogQueryService
{
    /// <summary>
    /// Executes a query against the local site event log and returns the matching entries.
    /// </summary>
    /// <param name="request">The query parameters including filters, pagination, and keyword search.</param>
    /// <returns>The query response containing the matching log entries and pagination metadata.</returns>
    EventLogQueryResponse ExecuteQuery(EventLogQueryRequest request);
}
