@tanayvk/mailer
Version:
@adonisjs/mail without @adonisjs/core dependency.
25 lines (24 loc) • 1.56 kB
TypeScript
import { MailerConfig, MailManagerTransportFactory, ConfigProvider } from './types.js';
import { MailManager } from './mail_manager.js';
import { Constructor, Listener } from './emitter_type.js';
export declare class Emitter<EventsList extends Record<string | symbol | number, any>> {
on<Event extends Constructor<any>>(event: Event, listener: Listener<InstanceType<Event>, any>): void;
on<Name extends keyof EventsList>(event: Name, listener: Listener<EventsList[Name], any>): void;
off<Event extends Constructor<any>>(event: Event, listener: Listener<InstanceType<Event>, any>): void;
off<Name extends keyof EventsList>(event: Name, listener: Listener<EventsList[Name], any>): void;
emit<Event extends Constructor<any>>(event: Event, data: InstanceType<Event>): Promise<void>;
emit<Name extends keyof EventsList>(event: Name, data: EventsList[Name]): Promise<void>;
emitSerial<Event extends Constructor<any>>(event: Event, data: InstanceType<Event>): Promise<void>;
emitSerial<Name extends keyof EventsList>(event: Name, data: EventsList[Name]): Promise<void>;
listenerCount(_event?: keyof EventsList | Constructor<any>): number;
hasListeners(_event?: keyof EventsList | Constructor<any>): boolean;
}
declare const generateMailer: (config: MailerConfig & {
default?: string | undefined;
mailers: {
[x: string]: MailManagerTransportFactory | ConfigProvider<MailManagerTransportFactory>;
};
}) => Promise<MailManager<{
[x: string]: MailManagerTransportFactory;
}>>;
export { generateMailer };