UNPKG

payload-plugin-newsletter

Version:

Complete newsletter management plugin for Payload CMS with subscriber management, magic link authentication, and email service integration

53 lines (47 loc) 2.03 kB
import { SignupFormProps, PreferencesFormProps, Subscriber } from './types.cjs'; import React from 'react'; import 'payload'; declare const NewsletterForm: React.FC<SignupFormProps>; declare function createNewsletterForm(defaultProps: Partial<SignupFormProps>): React.FC<SignupFormProps>; declare const PreferencesForm: React.FC<PreferencesFormProps>; declare function createPreferencesForm(defaultProps: Partial<PreferencesFormProps>): React.FC<PreferencesFormProps>; interface MagicLinkVerifyProps { token?: string; onSuccess?: (sessionToken: string, subscriber: any) => void; onError?: (error: Error) => void; apiEndpoint?: string; className?: string; styles?: { container?: React.CSSProperties; heading?: React.CSSProperties; message?: React.CSSProperties; error?: React.CSSProperties; button?: React.CSSProperties; }; labels?: { verifying?: string; success?: string; error?: string; expired?: string; invalid?: string; redirecting?: string; tryAgain?: string; }; } declare const MagicLinkVerify: React.FC<MagicLinkVerifyProps>; declare function createMagicLinkVerify(defaultProps: Partial<MagicLinkVerifyProps>): React.FC<MagicLinkVerifyProps>; interface UseNewsletterAuthOptions { sessionTokenKey?: string; apiEndpoint?: string; } interface UseNewsletterAuthReturn { subscriber: Subscriber | null; loading: boolean; error: Error | null; isAuthenticated: boolean; login: (token: string) => Promise<void>; logout: () => void; refreshSubscriber: () => Promise<void>; } declare function useNewsletterAuth(options?: UseNewsletterAuthOptions): UseNewsletterAuthReturn; export { MagicLinkVerify, type MagicLinkVerifyProps, NewsletterForm, PreferencesForm, PreferencesFormProps, SignupFormProps, Subscriber, type UseNewsletterAuthOptions, type UseNewsletterAuthReturn, createMagicLinkVerify, createNewsletterForm, createPreferencesForm, useNewsletterAuth };