package repo

import (
	"context"

	"github.com/tidbcloud/pkgv2/bizerr"
	"github.com/tidbcloud/serverless-service/internal/domain/entity"
)

type RegionMeteringRepo interface {
	Load(ctx context.Context, region string, typ string) (*entity.RegionMeteringRecord, bizerr.BizError)
	Save(ctx context.Context, record *entity.RegionMeteringRecord) bizerr.BizError
}

type InstanceCapacityCheckpointRepo interface {
	Load(ctx context.Context) (int64, error)
	Save(ctx context.Context, checkpoint int64) error
}
