package adapter

import (
	"context"

	globalserverlessv1 "github.com/tidbcloud/tidb-management-service/api/spec/global/serverless/v1"
)

//go:generate go run go.uber.org/mock/mockgen@latest -source=$GOFILE -package=mock_$GOPACKAGE -destination=./mock_$GOPACKAGE/mock_$GOFILE
type ServerlessService interface {
	SetSpendLimit(
		ctx context.Context,
		clusterIdStr string,
		tenantId uint64,
		spendLimit uint32,
		region string,
		enhancedEncryptionEnabled bool,
		validateOnly bool,
	) error
	GetSpendLimit(
		ctx context.Context,
		clusterIdStr string,
		tenantId uint64,
	) (*globalserverlessv1.SpendLimit, error)
	DeleteSpendLimit(
		ctx context.Context,
		clusterIdStr string,
		tenantId uint64,
	) error
}
