@tanayvk/mailer
Version:
@adonisjs/mail without @adonisjs/core dependency.
23 lines (22 loc) • 858 B
TypeScript
import type { ConfigProvider } from './types.js';
import type { MailerConfig, MailManagerTransportFactory } from './types.js';
/**
* Helper to remap known mailers to factory functions
*/
type ResolvedConfig<KnownMailers extends Record<string, MailManagerTransportFactory>> = MailerConfig & {
default?: keyof KnownMailers;
mailers: {
[K in keyof KnownMailers]: KnownMailers[K] extends ConfigProvider<infer A> ? A : KnownMailers[K];
};
};
/**
* Helper function to define config for the mail
* service
*/
export declare function defineConfig<KnownMailers extends Record<string, MailManagerTransportFactory>>(config: MailerConfig & {
default?: keyof KnownMailers;
mailers: {
[K in keyof KnownMailers]: ConfigProvider<KnownMailers[K]> | KnownMailers[K];
};
}): ConfigProvider<ResolvedConfig<KnownMailers>>;
export {};