package repository

import (
	"context"

	"github.com/tidbcloud/tidb-management-service/tidb-mgmt-service/domain/entity"
)

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