package repo

import (
	"context"

	"github.com/tidbcloud/cluster-service-ng/domain/entity"
)

type LockRepo interface {
	Lock(ctx context.Context, lock *entity.Lock) (func() error, error)
	IsUsed(ctx context.Context, lock *entity.Lock) (bool, error)
	IsFree(ctx context.Context, lock *entity.Lock) (bool, error)
}
