/**
 * Event Bus Controller
 *
 * HTTP request handlers for event subscription management.
 * Provides endpoints for creating, listing, and deleting event subscriptions.
 *
 * @module controllers/event-bus/event-bus.controller
 */
import type { Request, Response, NextFunction } from 'express';
import type { EventBusService } from '../../services/event-bus/event-bus.service.js';
/**
 * Set the EventBusService instance.
 * Called during server initialization.
 *
 * @param service - The EventBusService instance
 */
export declare function setEventBusService(service: EventBusService): void;
/**
 * POST /api/events/subscribe
 *
 * Create a new event subscription.
 *
 * @param req - Request with CreateSubscriptionInput body
 * @param res - Response with the created subscription
 */
export declare function createSubscription(req: Request, res: Response, next: NextFunction): Promise<void>;
/**
 * DELETE /api/events/subscribe/:subscriptionId
 *
 * Delete an existing subscription.
 *
 * @param req - Request with subscriptionId param
 * @param res - Response indicating success or not found
 */
export declare function deleteSubscription(req: Request, res: Response, next: NextFunction): Promise<void>;
/**
 * GET /api/events/subscriptions
 *
 * List all subscriptions, optionally filtered by subscriberSession query param.
 *
 * @param req - Request with optional ?subscriberSession= query
 * @param res - Response with array of subscriptions
 */
export declare function listSubscriptions(req: Request, res: Response, next: NextFunction): Promise<void>;
/**
 * GET /api/events/subscriptions/:subscriptionId
 *
 * Get a single subscription by ID.
 *
 * @param req - Request with subscriptionId param
 * @param res - Response with the subscription or 404
 */
export declare function getSubscription(req: Request, res: Response, next: NextFunction): Promise<void>;
//# sourceMappingURL=event-bus.controller.d.ts.map