/*
 * Decompiled with CFR 0.152.
 * 
 * Could not load the following classes:
 *  com.l7tech.objectmodel.Entity
 *  com.l7tech.objectmodel.EntityHeader
 *  com.l7tech.objectmodel.FindException
 *  org.jetbrains.annotations.NotNull
 */
package com.l7tech.server.search;

import com.l7tech.objectmodel.Entity;
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.DependencySearchResults;
import java.util.List;
import java.util.Map;
import org.jetbrains.annotations.NotNull;

public interface DependencyAnalyzer {
    public static final String SearchDepthOptionKey = "searchDepth";
    public static final String SearchEntityTypeOptionKey = "searchEntityType";
    public static final String ReturnAssertionsAsDependenciesOptionKey = "returnAssertionsAsDependencies";
    public static final String ReturnServicePoliciesAsDependencies = "returnServicePoliciesAsDependencies";
    public static final String IgnoreSearchOptionKey = "Ignore";
    public static final String IgnoreDependenciesSearchOptionKey = "IgnoreDependencies";
    public static final String FindSecurePasswordDependencyFromContextVariablePlaintextOptionKey = "findSecurePasswordDependencyFromContextVariablePlaintext";
    public static final String IncludeSolutionKitsOptionKey = "includeSolutionKits";
    public static final String EncassAsPolicyDependencyOptionKey = "encassAsPolicyDependency";

    @NotNull
    public DependencySearchResults getDependencies(@NotNull EntityHeader var1) throws FindException, CannotRetrieveDependenciesException;

    @NotNull
    public DependencySearchResults getDependencies(@NotNull EntityHeader var1, @NotNull Map<String, Object> var2) throws FindException, CannotRetrieveDependenciesException;

    @NotNull
    public List<DependencySearchResults> getDependencies(@NotNull List<EntityHeader> var1) throws FindException, CannotRetrieveDependenciesException;

    @NotNull
    public List<DependencySearchResults> getDependencies(@NotNull List<EntityHeader> var1, @NotNull Map<String, Object> var2) throws FindException, CannotRetrieveDependenciesException;

    public <E extends Entity> void replaceDependencies(@NotNull E var1, @NotNull Map<EntityHeader, EntityHeader> var2, boolean var3) throws CannotReplaceDependenciesException;
}

