import { ServiceProvider } from '@pearl-framework/core'; import type { Event } from '../events/Event.js'; import type { Listener } from '../listeners/Listener.js'; type EventConstructor = new (...args: never[]) => T; type ListenerConstructor = new () => Listener; export type EventMap = Map; /** * EventServiceProvider registers the EventDispatcher into the container * and wires up all event → listener mappings. * * Usage — extend this in your app: * * export class AppEventServiceProvider extends EventServiceProvider { * protected listen: EventMap = new Map([ * [UserRegistered, [SendWelcomeEmail, NotifyAdmins]], * [OrderPlaced, [SendOrderConfirmation]], * ]) * } */ export declare class EventServiceProvider extends ServiceProvider { /** * Override in your app to define event → listener mappings. */ protected listen: EventMap; register(): void; boot(): void; } export {}; //# sourceMappingURL=EventServiceProvider.d.ts.map