using System;
using System.Collections.Generic;
namespace Volo.Abp.EventBus.Local;
///
/// Defines interface of the event bus.
///
public interface ILocalEventBus : IEventBus
{
///
/// Registers to an event.
/// Same (given) instance of the handler is used for all event occurrences.
///
/// Event type
/// Object to handle the event
IDisposable Subscribe(ILocalEventHandler handler)
where TEvent : class;
///
/// Gets the list of event handler factories for the given event type.
///
/// Event type
///
List GetEventHandlerFactories(Type eventType);
///
/// Gets the list of event handler factories for the given string-based event name.
///
/// Name of the event
/// List of event handler factories registered for the given event name
List GetDynamicEventHandlerFactories(string eventName);
}