{"_id":"@artatol/artamail-sdk","_rev":"5-5230055913b105f030aec0155aa66573","name":"@artatol/artamail-sdk","dist-tags":{"latest":"0.3.4"},"versions":{"0.1.0":{"name":"@artatol/artamail-sdk","version":"0.1.0","keywords":["email","transactional","marketing","artamail","artatol","ses"],"author":{"url":"https://www.artatol.com","name":"Artatol"},"license":"MIT","_id":"@artatol/artamail-sdk@0.1.0","maintainers":[{"name":"vdejl","email":"vlastimil.dejl@artatol.com"},{"name":"machar","email":"martin@charouzkovi.cz"}],"homepage":"https://artamail.artatol.net/docs","bugs":{"url":"https://gitlab.com/artatol/acp/artamail/-/issues"},"dist":{"shasum":"b8479c336567331b5b8db4619b7880feb2877634","tarball":"https://registry.npmjs.org/@artatol/artamail-sdk/-/artamail-sdk-0.1.0.tgz","fileCount":8,"integrity":"sha512-QHoPLxVyI9uSATqRFF+jtb2t/4leOfWtrg5grJJcSlQv0ocsF6P/oKUylvmEXfvEwOoqLY+GCe/i/0k8bKraNQ==","signatures":[{"sig":"MEQCIE2/U+WthOrpswjEJySgd4C+BltQaUVatEH8MBwWS4WgAiAP3EDQCU7tq1yw/qFnGFkRCylkkqv7QfrTRrMKkQSx7w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":156919},"main":"./dist/index.js","type":"module","_from":"file:artatol-artamail-sdk-0.1.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","clean":"rm -rf dist","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"vdejl","email":"vlastimil.dejl@artatol.com"},"_resolved":"/private/var/folders/8j/tsn7kjzn7g37432x6nbm5xtm0000gn/T/e5b1563526e49ed41ca6698e6d848606/artatol-artamail-sdk-0.1.0.tgz","_integrity":"sha512-QHoPLxVyI9uSATqRFF+jtb2t/4leOfWtrg5grJJcSlQv0ocsF6P/oKUylvmEXfvEwOoqLY+GCe/i/0k8bKraNQ==","repository":{"url":"git+https://gitlab.com/artatol/acp/artamail.git","type":"git","directory":"packages/sdk"},"_npmVersion":"11.8.0","description":"Official ArtaMail SDK for sending transactional and marketing emails","directories":{},"sideEffects":false,"_nodeVersion":"24.13.1","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","vitest":"^3.0.0","typescript":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/artamail-sdk_0.1.0_1781621677508_0.059116357977902156","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@artatol/artamail-sdk","version":"0.2.0","keywords":["email","transactional","marketing","artamail","artatol","ses"],"author":{"url":"https://www.artatol.com","name":"Artatol"},"license":"MIT","_id":"@artatol/artamail-sdk@0.2.0","maintainers":[{"name":"vdejl","email":"vlastimil.dejl@artatol.com"},{"name":"machar","email":"martin@charouzkovi.cz"}],"homepage":"https://artamail.artatol.net/docs","bugs":{"url":"https://gitlab.com/artatol/acp/artamail/-/issues"},"dist":{"shasum":"d794f9a4a425255cfb6bc9fa18db4c1b7c1a9929","tarball":"https://registry.npmjs.org/@artatol/artamail-sdk/-/artamail-sdk-0.2.0.tgz","fileCount":8,"integrity":"sha512-lSAyygPQEP3JVw45Bn3xes595Tr1z0E0bhZchQZBqSGytxflDuY0EyfMkBXLr+NkR0Xn13Obn9hyGwj4xFmqUA==","signatures":[{"sig":"MEQCICRYYMha+hymkQ1VdDCxbF2fk+y2MUwYcuSnmaIGtE/GAiB/WIvThNd4mJtczbuewxG8eFxqfcvm9q6cTL8UIOtZLA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":167814},"main":"./dist/index.js","type":"module","_from":"file:artatol-artamail-sdk-0.2.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","clean":"rm -rf dist","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"vdejl","email":"vlastimil.dejl@artatol.com"},"_resolved":"/private/var/folders/8j/tsn7kjzn7g37432x6nbm5xtm0000gn/T/b0bae9dd2940c8ba40fd11d7a35cda9c/artatol-artamail-sdk-0.2.0.tgz","_integrity":"sha512-lSAyygPQEP3JVw45Bn3xes595Tr1z0E0bhZchQZBqSGytxflDuY0EyfMkBXLr+NkR0Xn13Obn9hyGwj4xFmqUA==","repository":{"url":"git+https://gitlab.com/artatol/acp/artamail.git","type":"git","directory":"packages/sdk"},"_npmVersion":"11.8.0","description":"Official ArtaMail SDK for sending transactional and marketing emails","directories":{},"sideEffects":false,"_nodeVersion":"24.13.1","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","vitest":"^3.0.0","typescript":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/artamail-sdk_0.2.0_1781644127734_0.41964750421578745","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@artatol/artamail-sdk","version":"0.3.1","keywords":["email","transactional","marketing","artamail","artatol","ses"],"author":{"url":"https://www.artatol.com","name":"Artatol"},"license":"MIT","_id":"@artatol/artamail-sdk@0.3.1","maintainers":[{"name":"vdejl","email":"vlastimil.dejl@artatol.com"},{"name":"machar","email":"martin@charouzkovi.cz"}],"homepage":"https://artamail.artatol.net/docs","bugs":{"url":"https://gitlab.com/artatol/acp/artamail/-/issues"},"dist":{"shasum":"8b2d00eb157c40dc7cafde9f56ad8ee607f0a2f2","tarball":"https://registry.npmjs.org/@artatol/artamail-sdk/-/artamail-sdk-0.3.1.tgz","fileCount":8,"integrity":"sha512-9CIgTFJL/O768wcm/U6KcZ57ri9/ALsiLKJpRkh1x5gtz882yaPIwZ0FgvKTRJ03tuZB0BzoXyIoHuxMJH6pEg==","signatures":[{"sig":"MEYCIQDaFDRS67WdWjd0EZ6ieGopYwvwfHLY4AwvSaSlHF5rTgIhAJFtK/hmv1Rpxl+Km/PBnTFkGV3CJb5xYzpWFv1uf7pu","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":191767},"main":"./dist/index.js","type":"module","_from":"file:artatol-artamail-sdk-0.3.1.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","clean":"rm -rf dist","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"vdejl","email":"vlastimil.dejl@artatol.com"},"_resolved":"/private/var/folders/8j/tsn7kjzn7g37432x6nbm5xtm0000gn/T/9bcaf6ed25745ab1c93c186c6a753e70/artatol-artamail-sdk-0.3.1.tgz","_integrity":"sha512-9CIgTFJL/O768wcm/U6KcZ57ri9/ALsiLKJpRkh1x5gtz882yaPIwZ0FgvKTRJ03tuZB0BzoXyIoHuxMJH6pEg==","repository":{"url":"git+https://gitlab.com/artatol/acp/artamail.git","type":"git","directory":"packages/sdk"},"_npmVersion":"11.8.0","description":"Official ArtaMail SDK for sending transactional and marketing emails","directories":{},"sideEffects":false,"_nodeVersion":"24.13.1","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","vitest":"^3.0.0","typescript":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/artamail-sdk_0.3.1_1781651653625_0.40834112123985644","host":"s3://npm-registry-packages-npm-production"}},"0.3.3":{"name":"@artatol/artamail-sdk","version":"0.3.3","keywords":["email","transactional","marketing","artamail","artatol","ses"],"author":{"url":"https://www.artatol.com","name":"Artatol"},"license":"MIT","_id":"@artatol/artamail-sdk@0.3.3","maintainers":[{"name":"vdejl","email":"vlastimil.dejl@artatol.com"},{"name":"machar","email":"martin@charouzkovi.cz"}],"homepage":"https://artamail.artatol.net/docs","bugs":{"url":"https://gitlab.com/artatol/acp/artamail/-/issues"},"dist":{"shasum":"f53b24e04be65ca3de7b616830d9f5dec69fb8da","tarball":"https://registry.npmjs.org/@artatol/artamail-sdk/-/artamail-sdk-0.3.3.tgz","fileCount":8,"integrity":"sha512-J91a2mqjNLJEyhT24lQOMIAf/kXcDk7r7aGuK4rxQ/Y3QCEH+x0SwTcqhwREYl2rvLMQYOzDIG1leiCVAPRqIg==","signatures":[{"sig":"MEYCIQDSce5CHxiJdiVqamS8pCu6vH8GoOi0+YtnospCyndVsgIhAOSNUaEKeu+ZJ1AgWTzBcpmPZ8Ay6s8pmnFOfyzHW2aq","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":200429},"main":"./dist/index.js","type":"module","_from":"file:artatol-artamail-sdk-0.3.3.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","clean":"rm -rf dist","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"vdejl","email":"vlastimil.dejl@artatol.com"},"_resolved":"/private/var/folders/8j/tsn7kjzn7g37432x6nbm5xtm0000gn/T/0d0f57708ab3287990ec770d65307013/artatol-artamail-sdk-0.3.3.tgz","_integrity":"sha512-J91a2mqjNLJEyhT24lQOMIAf/kXcDk7r7aGuK4rxQ/Y3QCEH+x0SwTcqhwREYl2rvLMQYOzDIG1leiCVAPRqIg==","repository":{"url":"git+https://gitlab.com/artatol/acp/artamail.git","type":"git","directory":"packages/sdk"},"_npmVersion":"11.8.0","description":"Official ArtaMail SDK for sending transactional and marketing emails","directories":{},"sideEffects":false,"_nodeVersion":"24.13.1","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","vitest":"^3.0.0","typescript":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/artamail-sdk_0.3.3_1781818757104_0.8166757876897004","host":"s3://npm-registry-packages-npm-production"}},"0.3.4":{"name":"@artatol/artamail-sdk","version":"0.3.4","description":"Official ArtaMail SDK for sending transactional and marketing emails","type":"module","main":"./dist/index.js","module":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"keywords":["email","transactional","marketing","artamail","artatol","ses"],"author":{"name":"Artatol","url":"https://www.artatol.com"},"license":"MIT","repository":{"type":"git","url":"git+https://gitlab.com/artatol/acp/artamail.git","directory":"packages/sdk"},"homepage":"https://artamail.artatol.net/docs","bugs":{"url":"https://gitlab.com/artatol/acp/artamail/-/issues"},"sideEffects":false,"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"devDependencies":{"tsup":"^8.0.0","typescript":"^5.0.0","vitest":"^3.0.0"},"engines":{"node":">=18.0.0"},"scripts":{"build":"tsup","dev":"tsup --watch","typecheck":"tsc --noEmit","clean":"rm -rf dist","test":"vitest run","test:watch":"vitest"},"_id":"@artatol/artamail-sdk@0.3.4","_integrity":"sha512-AfSkASY32eaeUqL+BDWkBBoneaVlOWeJcDQolB+f3hC2SvFIytwhpH+UUA4/dE95txMdaZtO4HeL/t7soOpGqg==","_resolved":"/private/var/folders/8j/tsn7kjzn7g37432x6nbm5xtm0000gn/T/7e680a982aeb8ad1ebc13fc458e50f2c/artatol-artamail-sdk-0.3.4.tgz","_from":"file:artatol-artamail-sdk-0.3.4.tgz","_nodeVersion":"24.13.1","_npmVersion":"11.8.0","dist":{"integrity":"sha512-AfSkASY32eaeUqL+BDWkBBoneaVlOWeJcDQolB+f3hC2SvFIytwhpH+UUA4/dE95txMdaZtO4HeL/t7soOpGqg==","shasum":"5dfbd09b0d2d059114e99ead20e5511ffb4f19f3","tarball":"https://registry.npmjs.org/@artatol/artamail-sdk/-/artamail-sdk-0.3.4.tgz","fileCount":8,"unpackedSize":201588,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIEIqE8KZvIXodLwaGpRHwlj6QJ8V3YklX5ywP2B0sDq8AiAlQ2jFElNUQXLUWDuMPT4kzTm5txmiYg/jBZItCosyfA=="}]},"_npmUser":{"name":"vdejl","email":"vlastimil.dejl@artatol.com"},"directories":{},"maintainers":[{"name":"vdejl","email":"vlastimil.dejl@artatol.com"},{"name":"machar","email":"martin@charouzkovi.cz"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/artamail-sdk_0.3.4_1781855314604_0.341064151469753"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-16T14:54:37.327Z","modified":"2026-06-19T07:48:34.871Z","0.1.0":"2026-06-16T14:54:37.674Z","0.2.0":"2026-06-16T21:08:47.898Z","0.3.1":"2026-06-16T23:14:13.765Z","0.3.3":"2026-06-18T21:39:17.243Z","0.3.4":"2026-06-19T07:48:34.754Z"},"bugs":{"url":"https://gitlab.com/artatol/acp/artamail/-/issues"},"author":{"name":"Artatol","url":"https://www.artatol.com"},"license":"MIT","homepage":"https://artamail.artatol.net/docs","keywords":["email","transactional","marketing","artamail","artatol","ses"],"repository":{"type":"git","url":"git+https://gitlab.com/artatol/acp/artamail.git","directory":"packages/sdk"},"description":"Official ArtaMail SDK for sending transactional and marketing emails","maintainers":[{"name":"vdejl","email":"vlastimil.dejl@artatol.com"},{"name":"machar","email":"martin@charouzkovi.cz"}],"readme":"# @artatol/artamail-sdk\n\nOfficial ArtaMail SDK for Node.js and browsers. Send transactional and marketing emails with ease.\n\n## Installation\n\n```bash\npnpm add @artatol/artamail-sdk\n# or\nnpm install @artatol/artamail-sdk\n```\n\n## Quick Start\n\n```typescript\nimport { ArtaMail } from '@artatol/artamail-sdk';\n\nconst artamail = new ArtaMail({\n  apiKey: 'am_live_sk_xxx' // Get your API key from the dashboard\n});\n\n// Send a transactional email\nconst result = await artamail.send({\n  to: 'user@example.com',\n  template: 'welcome',\n  data: {\n    name: 'John',\n    verifyUrl: 'https://example.com/verify?token=xxx'\n  }\n});\n\nconsole.log('Email queued:', result.id);\n```\n\n## API Reference\n\n### Configuration\n\n```typescript\nconst artamail = new ArtaMail({\n  apiKey: 'am_live_sk_xxx',  // Required\n  baseUrl: 'https://artamail.artatol.net', // Optional\n  timeout: 30000,  // Request timeout in ms (default: 30000)\n  retries: 3,      // Retry attempts (default: 3)\n});\n```\n\n**Identity variables:** `brand`, `legal_entity`, `legal_address`, and `legal_details` are auto-injected at send from Settings → Brand & compliance. Omit them in `data` unless overriding.\n\n> **Legacy:** `company` / `{{company}}` is a deprecated alias for `brand`. It still works today but may be removed in a future release.\n\n### Sending Emails\n\n#### Single Email\n\n```typescript\nconst result = await artamail.send({\n  to: 'user@example.com',\n  template: 'welcome',\n  data: { name: 'John' },\n\n  // Optional\n  from: 'custom@yourdomain.com',\n  fromName: 'Your Company',\n  replyTo: 'support@yourdomain.com',\n  priority: 'high', // 'high' | 'normal' | 'low'\n  subtypeSlug: 'product-updates', // operational subtype — enforces consent\n  addToContacts: true,\n  metadata: { userId: '123' }\n});\n```\n\n#### Batch Emails\n\n```typescript\nconst result = await artamail.sendBatch({\n  emails: [\n    { to: 'user1@example.com', template: 'notification', data: { ... } },\n    { to: 'user2@example.com', template: 'notification', data: { ... } },\n  ],\n  addToContacts: false\n});\n\nconsole.log(`Queued: ${result.queued}, Failed: ${result.failed}`);\n```\n\n#### Get Email Status\n\n```typescript\nconst email = await artamail.getEmail('email-id');\nconsole.log(email.status); // 'queued' | 'sent' | 'delivered' | 'bounced' | ...\n```\n\n### Contacts\n\n```typescript\n// Create or update a contact\nconst contact = await artamail.upsertContact({\n  email: 'user@example.com',\n  name: 'John Doe',\n  locale: 'en',\n  data: { plan: 'premium', role: 'Developer' },\n  lists: ['customers'], // segmentation only — does not grant consent\n  optInSubtypeSlugs: ['weekly-digest'],\n});\n\n// When org double opt-in is enabled, send the confirm email yourself\nif (contact.confirmUrl) {\n  await artamail.sendConsentConfirmEmail({\n    to: contact.email,\n    confirmUrl: contact.confirmUrl,\n    name: contact.name,\n    // brand / legal_entity auto-injected from account Settings\n  });\n}\n\n// One account per product (recommended): separate API key + consent-confirm per brand\nawait artamail.upsertContact({\n  email: 'user@example.com',\n  optInSubtypeSlugs: ['weekly-digest'],\n  confirmTemplate: 'consent-confirm',\n});\n\n// Or opt-in + send confirm in one call\nawait artamail.optInContact({\n  email: 'user@example.com',\n  optInSubtypeSlugs: ['weekly-digest'],\n  sendConfirmEmail: true,\n});\n\n// Skip double opt-in (import, admin override)\nawait artamail.upsertContact({\n  email: 'user@example.com',\n  optInSubtypeSlugs: ['weekly-digest'],\n  doubleOptIn: false,\n});\n\n// Get a contact\nconst contact = await artamail.getContact('user@example.com');\n\n// Update a contact\nawait artamail.updateContact('user@example.com', {\n  name: 'Jane Doe',\n  subscribed: false,\n  customAttributes: { plan: 'enterprise' },\n});\n\n// In-app subscription toggles (immediate confirm)\nconst prefs = await artamail.getContactSubscriptionPreferences('user@example.com');\nawait artamail.updateContactSubscriptionPreferences('user@example.com', {\n  preferences: { 'newsletter/weekly-digest': true },\n});\n\n// Permanent delete — profile, subscriptions, list memberships; email content anonymized\nawait artamail.deleteContact('user@example.com');\n```\n\nCannot be undone. Use `upsertContact` to add the person again as a new contact.\n\n`lists` on contact responses are **static list slugs** only (not smart-list membership). Use `POST .../lists` for explicit add/remove with validation errors.\n\n### Contact lists\n\n```typescript\n// List all lists (static and smart metadata)\nconst lists = await artamail.listContactLists();\n\n// Get one list by slug\nconst vip = await artamail.getContactList('vip');\n\n// Create a static list (smart lists: dashboard only)\nawait artamail.createContactList({\n  name: 'VIP customers',\n  slug: 'vip',\n});\n\n// Add or remove static list membership by slug\nconst updated = await artamail.modifyContactLists('user@example.com', {\n  add: ['vip'],\n  remove: ['trial'],\n});\nconsole.log(updated.lists);\n\n// Or use helpers\nawait artamail.addContactToLists('user@example.com', ['newsletter']);\nawait artamail.removeContactFromLists('user@example.com', ['trial']);\n```\n\nSee [Contact Lists API](https://artamail.artatol.net/docs/api/contact-lists).\n\n### Subscription types & consent\n\n```typescript\n// List subscription types and subtypes (includes locale-aware copy metadata)\nconst types = await artamail.listSubscriptionTypes();\nconst newsletter = await artamail.getSubscriptionType('newsletter');\n\n// labelI18n / descriptionI18n — per-locale subtype labels on preference pages\nconsole.log(newsletter.subtypes[0].labelI18n?.cs);\n\n// Read per-subtype consent for a contact\nconst prefs = await artamail.getContactSubscriptionPreferences('user@example.com');\n```\n\nPreference page text is resolved from `contacts.locale` at render time. Configure copy in Dashboard → Settings → Preference page (global). Subtype toggle labels use locale tabs on Subscription Types. For custom UIs, `GET /api/u/{token}/data` returns resolved `copy`, `locale`, and localized subtype labels.\n\nSee [Subscriptions & Consent](https://artamail.artatol.net/docs/guides/subscriptions) and [Preferences Data API](https://artamail.artatol.net/docs/api/preferences-data).\n\n### Templates\n\n```typescript\n// List all templates\nconst templates = await artamail.listTemplates();\n\n// Get template details\nconst template = await artamail.getTemplate('welcome');\nconsole.log(template.variables); // ['name', 'verifyUrl']\n```\n\n## Error Handling\n\n```typescript\nimport {\n  ArtaMailError,\n  ValidationError,\n  AuthenticationError,\n  RateLimitError\n} from '@artatol/artamail-sdk';\n\ntry {\n  await artamail.send({ ... });\n} catch (error) {\n  if (error instanceof ValidationError) {\n    console.error('Invalid input:', error.message);\n  } else if (error instanceof AuthenticationError) {\n    console.error('Invalid API key');\n  } else if (error instanceof RateLimitError) {\n    console.error('Rate limited, retry after:', error.retryAfter);\n  } else if (error instanceof ArtaMailError) {\n    console.error('API error:', error.code, error.message);\n  }\n}\n```\n\n## TypeScript\n\nThis package is written in TypeScript and includes full type definitions.\n\n```typescript\nimport type {\n  SendEmailOptions,\n  SendEmailResult,\n  Contact,\n  ContactList,\n  ContactListMembershipResult,\n  CreateContactListOptions,\n  ModifyContactListsOptions,\n  Template,\n  SubscriptionType,\n  ContactSubscriptionPreference,\n  OptInContactOptions,\n  SendConsentConfirmEmailOptions\n} from '@artatol/artamail-sdk';\n```\n\n## Framework Integrations\n\n- **Next.js**: Use `@artatol/artamail-nextjs` for server-side helpers\n- **Nuxt**: Use `@artatol/artamail-nuxt` for Nuxt 3 plugin\n\n## License\n\nMIT\n\n## Changelog\n\nSee [CHANGELOG.md](./CHANGELOG.md).\n","readmeFilename":"README.md"}