package repository

import (
	"time"

	"nex/backend/internal/domain"
)

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

// StatsRepository 统计数据仓库接口
type StatsRepository interface {
	Record(providerID, modelName string) error
	BatchUpdate(providerID, modelName string, date time.Time, delta int) error
	Query(providerID, modelName string, startDate, endDate *time.Time) ([]domain.UsageStats, error)
}
