import { IdObjectSkeletonInterface } from '../api/ApiTypes'; import { State } from '../shared/State'; import { ExportMetaData } from './OpsTypes'; export type EmailTemplate = { /** * Email template type key used to build the IDM id: 'emailTemplate/' */ EMAIL_TEMPLATE_TYPE: string; /** * Create an empty email template export template * @returns {EmailTemplateExportInterface} an empty email template export template */ createEmailTemplateExportTemplate(): EmailTemplateExportInterface; /** * Get all email templates * @returns {Promise} a promise that resolves to an array of email template objects */ readEmailTemplates(): Promise; /** * Get email template * @param {string} templateId id/name of the email template without the type prefix * @returns {Promise} a promise that resolves an email template object */ readEmailTemplate(templateId: string): Promise; /** * Export all email templates. The response can be saved to file as is. * @returns {Promise} Promise resolving to a EmailTemplateExportInterface object. */ exportEmailTemplates(): Promise; /** * Create email template * @param {string} templateId id/name of the email template without the type prefix * @param {EmailTemplateSkeleton} templateData email template object * @returns {Promise} a promise that resolves to an email template object */ createEmailTemplate(templateId: string, templateData: EmailTemplateSkeleton): Promise; /** * Update or create email template * @param {string} templateId id/name of the email template without the type prefix * @param {EmailTemplateSkeleton} templateData email template object * @returns {Promise} a promise that resolves to an email template object */ updateEmailTemplate(templateId: string, templateData: EmailTemplateSkeleton): Promise; /** * Import all email templates * @param {EmailTemplateExportInterface} importData import data * @returns {Promise} a promise resolving to an array of email template objects */ importEmailTemplates(importData: EmailTemplateExportInterface): Promise; /** * Delete all email templates * @returns {Promise} a promise that resolves to an array of email template objects */ deleteEmailTemplates(): Promise; /** * Delete email template * @param {string} templateId id/name of the email template without the type prefix 'emailTemplate/' * @returns {Promise} a promise that resolves an email template object */ deleteEmailTemplate(templateId: string): Promise; /** * Get all email templates * @returns {Promise} a promise that resolves to an array of email template objects * @deprecated since v2.0.0 use {@link EmailTemplate.readEmailTemplates | readEmailTemplates} instead * ```javascript * readEmailTemplates(): Promise * ``` * @group Deprecated */ getEmailTemplates(): Promise; /** * Get email template * @param {string} templateId id/name of the email template without the type prefix * @returns {Promise} a promise that resolves an email template object * @deprecated since v2.0.0 use {@link EmailTemplate.readEmailTemplate | readEmailTemplate} instead * ```javascript * readEmailTemplate(templateId: string): Promise * ``` * @group Deprecated */ getEmailTemplate(templateId: string): Promise; /** * Put email template * @param {string} templateId id/name of the email template without the type prefix * @param {Object} templateData email template object * @returns {Promise} a promise that resolves to an email template object * @deprecated since v2.0.0 use {@link EmailTemplate.updateEmailTemplate | updateEmailTemplate} or {@link EmailTemplate.createEmailTemplate | createEmailTemplate} instead * ```javascript * updateEmailTemplate(templateId: string, templateData: EmailTemplateSkeleton): Promise * createEmailTemplate(templateId: string, templateData: EmailTemplateSkeleton): Promise * ``` * @group Deprecated */ putEmailTemplate(templateId: string, templateData: EmailTemplateSkeleton): Promise; }; declare const _default: (state: State) => EmailTemplate; export default _default; /** * Email template type key used to build the IDM id: 'emailTemplate/' */ export declare const EMAIL_TEMPLATE_TYPE = "emailTemplate"; export type EmailTemplateSkeleton = IdObjectSkeletonInterface & { defaultLocale?: string; displayName?: string; enabled?: boolean; from: string; subject: Record; message?: Record; html?: Record; }; export interface EmailTemplateExportInterface { meta?: ExportMetaData; emailTemplate: Record; } export declare function createEmailTemplateExportTemplate({ state, }: { state: State; }): EmailTemplateExportInterface; /** * Get all email templates * @returns {Promise} a promise that resolves to an array of email template objects */ export declare function readEmailTemplates({ state, }: { state: State; }): Promise; /** * Get email template * @param {string} templateId id/name of the email template without the type prefix * @returns {Promise} a promise that resolves an email template object */ export declare function readEmailTemplate({ templateId, state, }: { templateId: string; state: State; }): Promise; /** * Export all email templates. The response can be saved to file as is. * @returns {Promise} Promise resolving to a EmailTemplateExportInterface object. */ export declare function exportEmailTemplates({ state, }: { state: State; }): Promise; /** * Create email template * @param {string} templateId id/name of the email template without the type prefix * @param {EmailTemplateSkeleton} templateData email template object * @returns {Promise} a promise that resolves to an email template object */ export declare function createEmailTemplate({ templateId, templateData, state, }: { templateId: string; templateData: EmailTemplateSkeleton; state: State; }): Promise; /** * Update or create email template * @param {string} templateId id/name of the email template without the type prefix * @param {EmailTemplateSkeleton} templateData email template object * @returns {Promise} a promise that resolves to an email template object */ export declare function updateEmailTemplate({ templateId, templateData, state, }: { templateId: string; templateData: EmailTemplateSkeleton; state: State; }): Promise; /** * Import email templates. * @param {EmailTemplateExportInterface} importData email template import data. * @returns {Promise} a promise resolving to an array of email template objects */ export declare function importEmailTemplates({ importData, state, }: { importData: EmailTemplateExportInterface; state: State; }): Promise; /** * Delete all email templates * @returns {Promise} a promise that resolves to an array of email template objects */ export declare function deleteEmailTemplates({ state, }: { state: State; }): Promise; /** * Delete email template * @param {string} templateId id/name of the email template without the type prefix 'emailTemplate/' * @returns {Promise} a promise that resolves an email template object */ export declare function deleteEmailTemplate({ templateId, state, }: { templateId: string; state: State; }): Promise; //# sourceMappingURL=EmailTemplateOps.d.ts.map