import { SagaEvent } from '../types';
/**
 * Interface for publishing events in a Saga
 */
export interface EventPublisher {
    /**
     * Publishes an event
     * @param topic Topic to publish to
     * @param event Event to publish
     */
    publish(topic: string, event: SagaEvent): Promise<void>;
}
/**
 * Base implementation of EventPublisher
 */
export declare abstract class BaseEventPublisher implements EventPublisher {
    /**
     * Publishes an event
     * @param topic Topic to publish to
     * @param event Event to publish
     */
    abstract publish(topic: string, event: SagaEvent): Promise<void>;
}
