import type { TsCodeFragment } from '@baseplate-dev/core-generators';
declare const emailConfigProvider: import("@baseplate-dev/sync").ProviderType<Omit<import("@baseplate-dev/utils").FieldMap<{
    emailAdapter: import("@baseplate-dev/utils").ScalarContainer<TsCodeFragment | undefined>;
}>, "getValues">>;
export { emailConfigProvider };
/**
 * Provider for transactional library configuration
 */
export interface TransactionalLibConfigProvider {
    getTransactionalLibPackageName(): string;
}
export declare const transactionalLibConfigProvider: import("@baseplate-dev/sync").ProviderType<TransactionalLibConfigProvider>;
/**
 * Generator for email/core/email-module
 */
export declare const emailModuleGenerator: import("@baseplate-dev/sync").GeneratorBundleCreator<{
    transactionalLibPackageName: string;
}, {
    paths: import("@baseplate-dev/sync").GeneratorTask<{
        emailCoreEmailModulePaths: import("@baseplate-dev/sync").ProviderExport<import("./generated/template-paths.js").EmailCoreEmailModulePaths>;
    }, {
        appModule: import("@baseplate-dev/sync").ProviderType<import("@baseplate-dev/fastify-generators/src/index.js").AppModuleProvider>;
    }, undefined>;
    renderers: import("@baseplate-dev/sync").GeneratorTask<{
        emailCoreEmailModuleRenderers: import("@baseplate-dev/sync").ProviderExport<import("./generated/template-renderers.js").EmailCoreEmailModuleRenderers>;
    }, {
        configServiceImports: import("@baseplate-dev/sync").ProviderType<import("@baseplate-dev/core-generators").InferTsImportMapFromSchema<{
            config: {};
        }>>;
        loggerServiceImports: import("@baseplate-dev/sync").ProviderType<import("@baseplate-dev/core-generators").InferTsImportMapFromSchema<{
            logger: {};
        }>>;
        paths: import("@baseplate-dev/sync").ProviderType<import("./generated/template-paths.js").EmailCoreEmailModulePaths>;
        queueServiceImports: import("@baseplate-dev/sync").ProviderType<import("@baseplate-dev/core-generators").InferTsImportMapFromSchema<{
            createQueue: {};
        }>>;
        queuesImports: import("@baseplate-dev/sync").ProviderType<import("@baseplate-dev/core-generators").InferTsImportMapFromSchema<{
            EnqueueOptions: {
                isTypeOnly: true;
            };
            Queue: {
                isTypeOnly: true;
            };
            QUEUE_REGISTRY: {};
            QueueDefinition: {
                isTypeOnly: true;
            };
            QueueJob: {
                isTypeOnly: true;
            };
            RepeatableConfig: {
                isTypeOnly: true;
            };
        }>>;
        typescriptFile: import("@baseplate-dev/sync").ProviderType<import("@baseplate-dev/core-generators").TypescriptFileProvider>;
    }, undefined>;
    imports: import("@baseplate-dev/sync").GeneratorTask<{
        emailModuleImports: import("@baseplate-dev/sync").ProviderExport<import("@baseplate-dev/core-generators").InferTsImportMapFromSchema<{
            EmailAdapter: {
                isTypeOnly: true;
            };
            EmailAttachment: {
                isTypeOnly: true;
            };
            EmailRawOptions: {
                isTypeOnly: true;
            };
            EmailSendOptions: {
                isTypeOnly: true;
            };
            sendEmail: {};
            sendEmailQueue: {};
            sendRawEmail: {};
            TransformedEmailMessage: {
                isTypeOnly: true;
            };
        }>>;
    }, {
        paths: import("@baseplate-dev/sync").ProviderType<import("./generated/template-paths.js").EmailCoreEmailModulePaths>;
    }, undefined>;
    emailConfig: import("@baseplate-dev/sync").GeneratorTask<import("@baseplate-dev/sync").ProviderExportMap<Record<string, import("@baseplate-dev/sync").Provider>> | undefined, import("@baseplate-dev/sync").ProviderDependencyMap<Record<string, import("@baseplate-dev/sync").Provider>>, import("@baseplate-dev/sync").ProviderExportMap<Record<string, import("@baseplate-dev/sync").Provider>> | undefined>;
    transactionalLibConfigTask: import("@baseplate-dev/sync").GeneratorTask<any, any, {
        transactionalLibConfig: import("@baseplate-dev/sync").ProviderExport<TransactionalLibConfigProvider>;
    }>;
    nodePackages: import("@baseplate-dev/sync").AnyGeneratorTask;
    configService: import("@baseplate-dev/sync").GeneratorTask<undefined, {
        provider: import("@baseplate-dev/sync").ProviderType<Omit<import("@baseplate-dev/utils").FieldMap<{
            configFields: import("@baseplate-dev/utils").MapContainer<string, import("@baseplate-dev/fastify-generators/src/index.js").ConfigServiceField>;
        }>, "getValues">>;
    }, undefined>;
    queueConfig: import("@baseplate-dev/sync").GeneratorTask<any, {
        paths: import("@baseplate-dev/sync").ProviderType<import("./generated/template-paths.js").EmailCoreEmailModulePaths>;
        queueConfig: import("@baseplate-dev/sync").ProviderType<Omit<import("@baseplate-dev/utils").FieldMap<{
            queues: import("@baseplate-dev/utils").MapContainer<string, TsCodeFragment>;
        }>, "getValues">>;
    }, any>;
    main: import("@baseplate-dev/sync").GeneratorTask<any, {
        renderers: import("@baseplate-dev/sync").ProviderType<import("./generated/template-renderers.js").EmailCoreEmailModuleRenderers>;
        emailConfigValues: import("@baseplate-dev/sync").ProviderType<import("@baseplate-dev/utils").FieldMapValues<{
            emailAdapter: import("@baseplate-dev/utils").ScalarContainer<TsCodeFragment | undefined>;
        }>>;
    }, any>;
}>;
//# sourceMappingURL=email-module.generator.d.ts.map