package service

import (
	"time"

	"nex/backend/internal/domain"
)

//go:generate go run go.uber.org/mock/mockgen -source=stats_service.go -destination=../../tests/mocks/mock_stats_service.go -package=mocks

// StatsService 统计服务接口
type StatsService interface {
	Record(providerID, modelName string) error
	Get(providerID, modelName string, startDate, endDate *time.Time) ([]domain.UsageStats, error)
	Aggregate(stats []domain.UsageStats, groupBy string) []map[string]interface{}
}
