/*
 * Decompiled with CFR 0.152.
 * 
 * Could not load the following classes:
 *  com.l7tech.objectmodel.Goid
 *  com.l7tech.policy.assertion.AssertionStatus
 *  com.l7tech.util.Option
 *  org.jetbrains.annotations.NotNull
 *  org.jetbrains.annotations.Nullable
 */
package com.l7tech.server.stepdebug;

import com.l7tech.objectmodel.Goid;
import com.l7tech.policy.assertion.AssertionStatus;
import com.l7tech.server.message.PolicyEnforcementContext;
import com.l7tech.server.stepdebug.DebugContext;
import com.l7tech.util.Option;
import java.util.Collection;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;

public interface DebugManager {
    @NotNull
    public DebugContext createDebugContext(@NotNull Goid var1);

    @NotNull
    public Option<String> startDebug(@NotNull String var1);

    public void stopDebug(@NotNull String var1);

    public void stepOver(@NotNull String var1, @NotNull Collection<Integer> var2);

    public void stepInto(@NotNull String var1);

    public void stepOut(@NotNull String var1, @NotNull Collection<Integer> var2);

    public void resume(@NotNull String var1);

    public void terminateDebug(@NotNull String var1);

    public void toggleBreakpoint(@NotNull String var1, @NotNull Collection<Integer> var2);

    public void removeAllBreakpoints(@NotNull String var1);

    public void addUserContextVariable(@NotNull String var1, @NotNull String var2);

    public void removeUserContextVariable(@NotNull String var1, @NotNull String var2);

    @Nullable
    public DebugContext getDebugContext(@NotNull String var1);

    public void onMessageArrived(@NotNull PolicyEnforcementContext var1, @NotNull Goid var2);

    public void onMessageFinished(@NotNull PolicyEnforcementContext var1, @Nullable AssertionStatus var2);
}

