package com.l7tech.server.search.processors;

import com.l7tech.objectmodel.EntityHeader;
import com.l7tech.objectmodel.FindException;
import com.l7tech.server.search.exceptions.CannotReplaceDependenciesException;
import com.l7tech.server.search.exceptions.CannotRetrieveDependenciesException;
import com.l7tech.server.search.objects.Dependency;
import java.util.List;
import java.util.Map;
import org.jetbrains.annotations.NotNull;

public interface DependencyProcessor<O> {
   @NotNull
   List<Dependency> findDependencies(@NotNull O var1, @NotNull DependencyFinder var2) throws FindException, CannotRetrieveDependenciesException;

   void replaceDependencies(@NotNull O var1, @NotNull Map<EntityHeader, EntityHeader> var2, @NotNull DependencyFinder var3, boolean var4) throws CannotReplaceDependenciesException;
}
