package nextgenglobal

import (
	globalngv1 "github.com/tidbcloud/tidb-management-service/api/spec/global/nextgen/v1"
)

// NextGenGlobal is the client of next gen global service.
// It should conform to the app layer of the next gen global service.
//
//go:generate go run go.uber.org/mock/mockgen@latest -source=$GOFILE -package=mock_$GOPACKAGE -destination=./mock_$GOPACKAGE/mock_$GOFILE
type NextGenGlobal interface {
	globalngv1.ClusterServiceClient
	// EstimatePrice is served by nextgen cluster service.
	globalngv1.ByocVpcPeeringServiceClient
	globalngv1.RegionServiceClient
	globalngv1.PublicConnectionSettingServiceClient
	globalngv1.PrivateLinkConnectionServiceClient
	globalngv1.BackupServiceClient
	globalngv1.ExportServiceClient
	globalngv1.DatabaseAuditLogServiceClient
	globalngv1.LogRedactionPolicyServiceClient
	globalngv1.PlanReplayerServiceClient
	globalngv1.ResourcePoolServiceClient
	globalngv1.RcuQuotaServiceClient
	globalngv1.CustomerManagedEncryptionKeyServiceClient
	globalngv1.ReservedCapacityTemplateServiceClient
}
