package template // Spec defines how a notification kind is rendered for one locale. // Prefer EmailSubjectFile / EmailBodyFile / SMSTextFile (go:embed) over inline strings. type Spec struct { RequiredVars []string // Embedded asset paths (relative to template package), e.g. "html/verify_email.zh-tw.html". EmailSubjectFile string EmailBodyFile string SMSTextFile string // Inline fallbacks (optional); used when *File fields are empty. EmailSubject string EmailBody string SMSText string // EmailProviderTemplateID is optional (e.g. SendGrid dynamic template); future use. EmailProviderTemplateID string } // Rendered is the output passed to email/SMS providers. type Rendered struct { Subject string Body string // HTML for email SMSText string }