package com.airlock.iam.admin.domain.model.token.matrixcard;

import com.airlock.iam.base.api.domain.model.Entity;
import com.airlock.iam.base.api.domain.model.identity.Identity;
import java.util.Date;
import java.util.List;
import java.util.Optional;

public interface MatrixCards extends Entity<MatrixCards> {
   MatrixCards resetUnansweredChallenges();

   MatrixCards removeMatrixCard(Identity<MatrixCard> var1);

   MatrixCards order(String var1);

   MatrixCards cancelOrder();

   MatrixCards generateMatrixCard();

   Optional<MatrixCard> getCurrentCard();

   Optional<MatrixCard> getNextCard();

   List<MatrixCard> getAllMatrixCards();

   Optional<Date> getLatestDeliveryDate();

   Optional<MatrixCardChallenges> getUnansweredChallenges();

   Optional<MatrixCardOrder> getOrder();

   boolean hasCardWithId(Identity<MatrixCard> var1);
}
