package main import ( "context" "time" ) type StorageInterface interface { Store(ctx context.Context, entry *LogEntry) error StoreBatch(ctx context.Context, entries []LogEntry) error Query(ctx context.Context, query StorageQuery) ([]LogEntry, error) Close() error } type StorageQuery struct { StartTime time.Time EndTime time.Time Service string Tool string LogLevel string Type string Limit int Offset int OrderBy string OrderDesc bool } type ExporterInterface interface { Export(ctx context.Context, entries []LogEntry) error HealthCheck(ctx context.Context) error }