package nextgenmetering

import (
	"time"

	"github.com/tidbcloud/metering/pkg/common/models"
)

type GenerateSKUParams struct {
	ClusterID      string
	SharedPoolID   string
	TenantID       uint64
	Timestamp      int64
	CloudProvider  string
	Region         string
	Plan           string
	EnrichmentData map[string]interface{}
	BackupMetaData map[string]interface{}
	Now            time.Time
}

type CategorySKUHandler interface {
	GenerateSKUs(dataPoint map[string]interface{}, params *GenerateSKUParams) ([]models.BillingReportV2Deltalake, error)
}
