/*
 * Decompiled with CFR 0.152.
 * 
 * Could not load the following classes:
 *  com.l7tech.gateway.common.service.MetricsSummaryBin
 *  com.l7tech.objectmodel.DeleteException
 *  com.l7tech.objectmodel.EntityHeader
 *  com.l7tech.objectmodel.EntityManager
 *  com.l7tech.objectmodel.FindException
 *  com.l7tech.objectmodel.Goid
 *  com.l7tech.objectmodel.UpdateException
 *  com.l7tech.util.Pair
 *  org.springframework.transaction.annotation.Transactional
 */
package com.l7tech.server.wsdm.subscription;

import com.l7tech.gateway.common.service.MetricsSummaryBin;
import com.l7tech.objectmodel.DeleteException;
import com.l7tech.objectmodel.EntityHeader;
import com.l7tech.objectmodel.EntityManager;
import com.l7tech.objectmodel.FindException;
import com.l7tech.objectmodel.Goid;
import com.l7tech.objectmodel.UpdateException;
import com.l7tech.server.wsdm.Aggregator;
import com.l7tech.server.wsdm.faults.ResourceUnknownFault;
import com.l7tech.server.wsdm.faults.UnacceptableTerminationTimeFault;
import com.l7tech.server.wsdm.subscription.Subscription;
import com.l7tech.server.wsdm.subscription.SubscriptionKey;
import com.l7tech.util.Pair;
import java.util.Collection;
import java.util.Map;
import org.springframework.transaction.annotation.Transactional;

@Transactional(rollbackFor={Throwable.class})
public interface SubscriptionManager
extends EntityManager<Subscription, EntityHeader> {
    @Transactional(readOnly=true, rollbackFor={Throwable.class})
    public Subscription findByUuid(String var1) throws FindException;

    public void deleteByUuid(String var1) throws FindException, DeleteException, ResourceUnknownFault;

    public void deleteExpiredSubscriptions() throws DeleteException;

    @Transactional(readOnly=true, rollbackFor={Throwable.class})
    public void renewSubscription(String var1, long var2, String var4) throws FindException, UpdateException, ResourceUnknownFault, UnacceptableTerminationTimeFault;

    @Transactional(readOnly=true, rollbackFor={Throwable.class})
    public Collection<Subscription> findByNodeAndServiceGoid(String var1, Goid var2) throws FindException;

    @Transactional(readOnly=true, rollbackFor={Throwable.class})
    public Collection<Subscription> findBySubscriptionKey(SubscriptionKey var1) throws FindException;

    public void notified(String var1) throws UpdateException;

    @Transactional(readOnly=true, rollbackFor={Throwable.class})
    public Map<SubscriptionKey, Pair<Subscription, MetricsSummaryBin>> findNotifiableMetricsForNode(String var1, long var2) throws FindException;

    public void stealSubscriptionsFromDeadNodes(String var1, long var2);

    public void setAggregator(Aggregator var1);
}

