package com.l7tech.server.search.processors;

import com.l7tech.objectmodel.FindException;
import com.l7tech.search.Dependency.DependencyType;
import com.l7tech.search.Dependency.MethodReturnType;
import com.l7tech.server.search.exceptions.CannotRetrieveDependenciesException;
import com.l7tech.server.search.objects.DependentObject;
import java.util.List;
import org.jetbrains.annotations.NotNull;

interface ab<O> extends DependencyProcessor<O> {
   @NotNull
   List<DependencyFinder.FindResults<O>> find(@NotNull Object var1, @NotNull DependencyType var2, @NotNull MethodReturnType var3) throws FindException;

   @NotNull
   DependentObject createDependentObject(@NotNull O var1);

   @NotNull
   List<DependentObject> createDependentObjects(@NotNull Object var1, @NotNull DependencyType var2, @NotNull MethodReturnType var3) throws CannotRetrieveDependenciesException;
}
