@djangocfg/ext-newsletter 1.0.2 → 1.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,268 @@
1
+ import { BulkEmailRequest, API, BulkEmailResponse, NewsletterCampaignRequest as NewsletterCampaignRequest$1, NewsletterCampaign as NewsletterCampaign$1, SendCampaignRequest, SendCampaignResponse as SendCampaignResponse$1, SubscribeRequest as SubscribeRequest$1, SubscribeResponse as SubscribeResponse$1, UnsubscribeRequest as UnsubscribeRequest$1, SuccessResponse as SuccessResponse$1, TestEmailRequest, PatchedNewsletterCampaignRequest as PatchedNewsletterCampaignRequest$1, Unsubscribe, PatchedUnsubscribeRequest, HeroProps } from './index.cjs';
2
+ export { APIClient, APIError, APILogger, APIOptions, BulkEmailRequestSchema, BulkEmailResponseSchema, CookieStorageAdapter, DEFAULT_RETRY_CONFIG, EmailLog, EmailLogSchema, Enums, ErrorLog, ErrorResponse, ErrorResponseSchema, ExtNewsletterBulkEmailTypes, ExtNewsletterCampaignsTypes, ExtNewsletterLogsTypes, ExtNewsletterNewsletterTypes, ExtNewsletterNewslettersTypes, ExtNewsletterSubscriptionsTypes, ExtNewsletterTestingTypes, FailedAttemptInfo, FetchAdapter, Fetchers, HeroAction, HttpClientAdapter, HttpRequest, HttpResponse, LocalStorageAdapter, LoggerConfig, MemoryStorageAdapter, NetworkError, Newsletter, NewsletterCampaignRequestSchema, NewsletterCampaignSchema, NewsletterSchema, NewsletterSubscription, NewsletterSubscriptionSchema, PaginatedEmailLogList, PaginatedEmailLogListSchema, PaginatedNewsletterCampaignList, PaginatedNewsletterCampaignListSchema, PaginatedNewsletterList, PaginatedNewsletterListSchema, PaginatedNewsletterSubscriptionList, PaginatedNewsletterSubscriptionListSchema, PatchedNewsletterCampaignRequestSchema, PatchedUnsubscribeRequestSchema, REFRESH_TOKEN_KEY, RequestLog, ResponseLog, RetryConfig, Schemas, SendCampaignRequestSchema, SendCampaignResponseSchema, StorageAdapter, SubscribeRequestSchema, SubscribeResponseSchema, SuccessResponseSchema, TOKEN_KEY, TestEmailRequestSchema, UnsubscribeRequestSchema, UnsubscribeSchema, ValidationErrorDetail, ValidationErrorEvent, apiNewsletter, clearAPITokens, configureAPI, createNewsletterBulkCreate, createNewsletterCampaignsCreate, createNewsletterCampaignsSendCreate, createNewsletterSubscribeCreate, createNewsletterTestCreate, createNewsletterUnsubscribeCreate, deleteNewsletterCampaignsDestroy, dispatchValidationError, extensionConfig, formatZodError, getAPIInstance, getNewsletterCampaignsList, getNewsletterCampaignsRetrieve, getNewsletterLogsList, getNewsletterNewslettersList, getNewsletterNewslettersRetrieve, getNewsletterSubscriptionsList, isAPIConfigured, onValidationError, partialUpdateNewsletterCampaignsPartialUpdate, partialUpdateNewsletterUnsubscribePartialUpdate, reconfigureAPI, resetAPI, shouldRetry, updateNewsletterCampaignsUpdate, updateNewsletterUnsubscribeUpdate, withRetry } from './index.cjs';
3
+ import useSWR from 'swr';
4
+ import * as react_jsx_runtime from 'react/jsx-runtime';
5
+ import { ReactNode } from 'react';
6
+ import 'consola';
7
+ import '@djangocfg/ext-base';
8
+ import 'zod';
9
+
10
+ /**
11
+ * Send Bulk Email
12
+ *
13
+ * @method POST
14
+ * @path /cfg/newsletter/bulk/
15
+ */
16
+ declare function useCreateNewsletterBulkCreate(): (data: BulkEmailRequest, client?: API) => Promise<BulkEmailResponse>;
17
+
18
+ /**
19
+ * SWR Hooks for Campaigns
20
+ *
21
+ * React hooks powered by SWR for data fetching with automatic caching,
22
+ * revalidation, and optimistic updates.
23
+ *
24
+ * Usage:
25
+ * ```typescript
26
+ * // Query hooks (GET)
27
+ * const { data, error, isLoading } = useUsers({ page: 1 })
28
+ *
29
+ * // Mutation hooks (POST/PUT/PATCH/DELETE)
30
+ * const createUser = useCreateUser()
31
+ * await createUser({ name: 'John', email: 'john@example.com' })
32
+ * ```
33
+ */
34
+
35
+ /**
36
+ * List Newsletter Campaigns
37
+ *
38
+ * @method GET
39
+ * @path /cfg/newsletter/campaigns/
40
+ */
41
+ declare function useNewsletterCampaignsList(params?: {
42
+ page?: number;
43
+ page_size?: number;
44
+ }, client?: API): ReturnType<typeof useSWR<PaginatedNewsletterCampaignList>>;
45
+ /**
46
+ * Create Newsletter Campaign
47
+ *
48
+ * @method POST
49
+ * @path /cfg/newsletter/campaigns/
50
+ */
51
+ declare function useCreateNewsletterCampaignsCreate(): (data: NewsletterCampaignRequest$1, client?: API) => Promise<NewsletterCampaign$1>;
52
+ /**
53
+ * Get Campaign Details
54
+ *
55
+ * @method GET
56
+ * @path /cfg/newsletter/campaigns/{id}/
57
+ */
58
+ declare function useNewsletterCampaignsRetrieve(id: number, client?: API): ReturnType<typeof useSWR<NewsletterCampaign>>;
59
+ /**
60
+ * Update Campaign
61
+ *
62
+ * @method PUT
63
+ * @path /cfg/newsletter/campaigns/{id}/
64
+ */
65
+ declare function useUpdateNewsletterCampaignsUpdate(): (id: number, data: NewsletterCampaignRequest$1, client?: API) => Promise<NewsletterCampaign$1>;
66
+ /**
67
+ * Delete Campaign
68
+ *
69
+ * @method DELETE
70
+ * @path /cfg/newsletter/campaigns/{id}/
71
+ */
72
+ declare function useDeleteNewsletterCampaignsDestroy(): (id: number, client?: API) => Promise<void>;
73
+ /**
74
+ * Send Newsletter Campaign
75
+ *
76
+ * @method POST
77
+ * @path /cfg/newsletter/campaigns/send/
78
+ */
79
+ declare function useCreateNewsletterCampaignsSendCreate(): (data: SendCampaignRequest, client?: API) => Promise<SendCampaignResponse$1>;
80
+
81
+ /**
82
+ * SWR Hooks for Logs
83
+ *
84
+ * React hooks powered by SWR for data fetching with automatic caching,
85
+ * revalidation, and optimistic updates.
86
+ *
87
+ * Usage:
88
+ * ```typescript
89
+ * // Query hooks (GET)
90
+ * const { data, error, isLoading } = useUsers({ page: 1 })
91
+ *
92
+ * // Mutation hooks (POST/PUT/PATCH/DELETE)
93
+ * const createUser = useCreateUser()
94
+ * await createUser({ name: 'John', email: 'john@example.com' })
95
+ * ```
96
+ */
97
+
98
+ /**
99
+ * List Email Logs
100
+ *
101
+ * @method GET
102
+ * @path /cfg/newsletter/logs/
103
+ */
104
+ declare function useNewsletterLogsList(params?: {
105
+ page?: number;
106
+ page_size?: number;
107
+ }, client?: API): ReturnType<typeof useSWR<PaginatedEmailLogList>>;
108
+
109
+ /**
110
+ * SWR Hooks for Newsletters
111
+ *
112
+ * React hooks powered by SWR for data fetching with automatic caching,
113
+ * revalidation, and optimistic updates.
114
+ *
115
+ * Usage:
116
+ * ```typescript
117
+ * // Query hooks (GET)
118
+ * const { data, error, isLoading } = useUsers({ page: 1 })
119
+ *
120
+ * // Mutation hooks (POST/PUT/PATCH/DELETE)
121
+ * const createUser = useCreateUser()
122
+ * await createUser({ name: 'John', email: 'john@example.com' })
123
+ * ```
124
+ */
125
+
126
+ /**
127
+ * List Active Newsletters
128
+ *
129
+ * @method GET
130
+ * @path /cfg/newsletter/newsletters/
131
+ */
132
+ declare function useNewsletterNewslettersList(params?: {
133
+ page?: number;
134
+ page_size?: number;
135
+ }, client?: API): ReturnType<typeof useSWR<PaginatedNewsletterList>>;
136
+ /**
137
+ * Get Newsletter Details
138
+ *
139
+ * @method GET
140
+ * @path /cfg/newsletter/newsletters/{id}/
141
+ */
142
+ declare function useNewsletterNewslettersRetrieve(id: number, client?: API): ReturnType<typeof useSWR<Newsletter>>;
143
+
144
+ /**
145
+ * SWR Hooks for Subscriptions
146
+ *
147
+ * React hooks powered by SWR for data fetching with automatic caching,
148
+ * revalidation, and optimistic updates.
149
+ *
150
+ * Usage:
151
+ * ```typescript
152
+ * // Query hooks (GET)
153
+ * const { data, error, isLoading } = useUsers({ page: 1 })
154
+ *
155
+ * // Mutation hooks (POST/PUT/PATCH/DELETE)
156
+ * const createUser = useCreateUser()
157
+ * await createUser({ name: 'John', email: 'john@example.com' })
158
+ * ```
159
+ */
160
+
161
+ /**
162
+ * Subscribe to Newsletter
163
+ *
164
+ * @method POST
165
+ * @path /cfg/newsletter/subscribe/
166
+ */
167
+ declare function useCreateNewsletterSubscribeCreate(): (data: SubscribeRequest$1, client?: API) => Promise<SubscribeResponse$1>;
168
+ /**
169
+ * List User Subscriptions
170
+ *
171
+ * @method GET
172
+ * @path /cfg/newsletter/subscriptions/
173
+ */
174
+ declare function useNewsletterSubscriptionsList(params?: {
175
+ page?: number;
176
+ page_size?: number;
177
+ }, client?: API): ReturnType<typeof useSWR<PaginatedNewsletterSubscriptionList>>;
178
+ /**
179
+ * Unsubscribe from Newsletter
180
+ *
181
+ * @method POST
182
+ * @path /cfg/newsletter/unsubscribe/
183
+ */
184
+ declare function useCreateNewsletterUnsubscribeCreate(): (data: UnsubscribeRequest$1, client?: API) => Promise<SuccessResponse$1>;
185
+
186
+ /**
187
+ * Test Email Sending
188
+ *
189
+ * @method POST
190
+ * @path /cfg/newsletter/test/
191
+ */
192
+ declare function useCreateNewsletterTestCreate(): (data: TestEmailRequest, client?: API) => Promise<BulkEmailResponse>;
193
+
194
+ /**
195
+ * API operation
196
+ *
197
+ * @method PATCH
198
+ * @path /cfg/newsletter/campaigns/{id}/
199
+ */
200
+ declare function usePartialUpdateNewsletterCampaignsPartialUpdate(): (id: number, data?: PatchedNewsletterCampaignRequest$1, client?: API) => Promise<NewsletterCampaign$1>;
201
+ /**
202
+ * API operation
203
+ *
204
+ * @method PUT
205
+ * @path /cfg/newsletter/unsubscribe/
206
+ */
207
+ declare function useUpdateNewsletterUnsubscribeUpdate(): (data: UnsubscribeRequest$1, client?: API) => Promise<Unsubscribe>;
208
+ /**
209
+ * API operation
210
+ *
211
+ * @method PATCH
212
+ * @path /cfg/newsletter/unsubscribe/
213
+ */
214
+ declare function usePartialUpdateNewsletterUnsubscribePartialUpdate(): (data?: PatchedUnsubscribeRequest, client?: API) => Promise<Unsubscribe>;
215
+
216
+ /**
217
+ * Newsletter Types
218
+ * Centralized type definitions for newsletter context
219
+ */
220
+
221
+ type NewsletterCampaign = NonNullable<Awaited<ReturnType<typeof useNewsletterCampaignsRetrieve>>['data']>;
222
+ type NewsletterCampaignRequest = Parameters<ReturnType<typeof useUpdateNewsletterCampaignsUpdate>>[1];
223
+ type PatchedNewsletterCampaignRequest = Parameters<ReturnType<typeof usePartialUpdateNewsletterCampaignsPartialUpdate>>[1];
224
+ type NewsletterSubscription = NonNullable<Awaited<ReturnType<typeof useNewsletterSubscriptionsList>>['data']> extends {
225
+ results: infer T;
226
+ } ? T extends Array<infer U> ? U : never : never;
227
+ type SubscribeRequest = Parameters<ReturnType<typeof useCreateNewsletterSubscribeCreate>>[0];
228
+ type SubscribeResponse = Awaited<ReturnType<ReturnType<typeof useCreateNewsletterSubscribeCreate>>>;
229
+ type UnsubscribeRequest = Parameters<ReturnType<typeof useCreateNewsletterUnsubscribeCreate>>[0];
230
+ type SuccessResponse = Awaited<ReturnType<ReturnType<typeof useCreateNewsletterUnsubscribeCreate>>>;
231
+ type SendCampaignResponse = Awaited<ReturnType<ReturnType<typeof useCreateNewsletterCampaignsSendCreate>>>;
232
+
233
+ interface NewsletterContextValue {
234
+ campaigns: NewsletterCampaign[];
235
+ isLoadingCampaigns: boolean;
236
+ campaignsError: Error | null;
237
+ pagination?: {
238
+ count: number;
239
+ next: number | null;
240
+ previous: number | null;
241
+ };
242
+ getCampaign: (id: number) => {
243
+ data?: NewsletterCampaign;
244
+ error?: Error;
245
+ isLoading: boolean;
246
+ };
247
+ createCampaign: (data: NewsletterCampaignRequest) => Promise<NewsletterCampaign>;
248
+ updateCampaign: (id: number, data: NewsletterCampaignRequest) => Promise<NewsletterCampaign>;
249
+ partialUpdateCampaign: (id: number, data: PatchedNewsletterCampaignRequest) => Promise<NewsletterCampaign>;
250
+ deleteCampaign: (id: number) => Promise<void>;
251
+ sendCampaign: (campaignId: number) => Promise<SendCampaignResponse>;
252
+ subscriptions: NewsletterSubscription[];
253
+ isLoadingSubscriptions: boolean;
254
+ subscriptionsError: Error | null;
255
+ subscribe: (data: SubscribeRequest) => Promise<SubscribeResponse>;
256
+ unsubscribe: (data: UnsubscribeRequest) => Promise<SuccessResponse>;
257
+ }
258
+ interface NewsletterProviderProps {
259
+ children: ReactNode;
260
+ page?: number;
261
+ pageSize?: number;
262
+ }
263
+ declare function NewsletterProvider({ children, page, pageSize }: NewsletterProviderProps): react_jsx_runtime.JSX.Element;
264
+ declare function useNewsletterContext(): NewsletterContextValue;
265
+
266
+ declare function Hero({ title, description, primaryAction, secondaryAction, showNewsletter, newsletterPlaceholder, newsletterButtonText, onNewsletterSubmit, className, }: HeroProps): react_jsx_runtime.JSX.Element;
267
+
268
+ export { API, BulkEmailRequest, BulkEmailResponse, Hero, HeroProps, NewsletterCampaign$1 as NewsletterCampaign, NewsletterCampaignRequest$1 as NewsletterCampaignRequest, Hero as NewsletterHero, NewsletterProvider, PatchedNewsletterCampaignRequest$1 as PatchedNewsletterCampaignRequest, PatchedUnsubscribeRequest, SendCampaignRequest, SendCampaignResponse$1 as SendCampaignResponse, SubscribeRequest$1 as SubscribeRequest, SubscribeResponse$1 as SubscribeResponse, SuccessResponse$1 as SuccessResponse, TestEmailRequest, Unsubscribe, UnsubscribeRequest$1 as UnsubscribeRequest, useCreateNewsletterBulkCreate, useCreateNewsletterCampaignsCreate, useCreateNewsletterCampaignsSendCreate, useCreateNewsletterSubscribeCreate, useCreateNewsletterTestCreate, useCreateNewsletterUnsubscribeCreate, useDeleteNewsletterCampaignsDestroy, useNewsletterCampaignsList, useNewsletterCampaignsRetrieve, useNewsletterContext, useNewsletterLogsList, useNewsletterNewslettersList, useNewsletterNewslettersRetrieve, useNewsletterSubscriptionsList, usePartialUpdateNewsletterCampaignsPartialUpdate, usePartialUpdateNewsletterUnsubscribePartialUpdate, useUpdateNewsletterCampaignsUpdate, useUpdateNewsletterUnsubscribeUpdate };
@@ -0,0 +1,268 @@
1
+ import { BulkEmailRequest, API, BulkEmailResponse, NewsletterCampaignRequest as NewsletterCampaignRequest$1, NewsletterCampaign as NewsletterCampaign$1, SendCampaignRequest, SendCampaignResponse as SendCampaignResponse$1, SubscribeRequest as SubscribeRequest$1, SubscribeResponse as SubscribeResponse$1, UnsubscribeRequest as UnsubscribeRequest$1, SuccessResponse as SuccessResponse$1, TestEmailRequest, PatchedNewsletterCampaignRequest as PatchedNewsletterCampaignRequest$1, Unsubscribe, PatchedUnsubscribeRequest, HeroProps } from './index.js';
2
+ export { APIClient, APIError, APILogger, APIOptions, BulkEmailRequestSchema, BulkEmailResponseSchema, CookieStorageAdapter, DEFAULT_RETRY_CONFIG, EmailLog, EmailLogSchema, Enums, ErrorLog, ErrorResponse, ErrorResponseSchema, ExtNewsletterBulkEmailTypes, ExtNewsletterCampaignsTypes, ExtNewsletterLogsTypes, ExtNewsletterNewsletterTypes, ExtNewsletterNewslettersTypes, ExtNewsletterSubscriptionsTypes, ExtNewsletterTestingTypes, FailedAttemptInfo, FetchAdapter, Fetchers, HeroAction, HttpClientAdapter, HttpRequest, HttpResponse, LocalStorageAdapter, LoggerConfig, MemoryStorageAdapter, NetworkError, Newsletter, NewsletterCampaignRequestSchema, NewsletterCampaignSchema, NewsletterSchema, NewsletterSubscription, NewsletterSubscriptionSchema, PaginatedEmailLogList, PaginatedEmailLogListSchema, PaginatedNewsletterCampaignList, PaginatedNewsletterCampaignListSchema, PaginatedNewsletterList, PaginatedNewsletterListSchema, PaginatedNewsletterSubscriptionList, PaginatedNewsletterSubscriptionListSchema, PatchedNewsletterCampaignRequestSchema, PatchedUnsubscribeRequestSchema, REFRESH_TOKEN_KEY, RequestLog, ResponseLog, RetryConfig, Schemas, SendCampaignRequestSchema, SendCampaignResponseSchema, StorageAdapter, SubscribeRequestSchema, SubscribeResponseSchema, SuccessResponseSchema, TOKEN_KEY, TestEmailRequestSchema, UnsubscribeRequestSchema, UnsubscribeSchema, ValidationErrorDetail, ValidationErrorEvent, apiNewsletter, clearAPITokens, configureAPI, createNewsletterBulkCreate, createNewsletterCampaignsCreate, createNewsletterCampaignsSendCreate, createNewsletterSubscribeCreate, createNewsletterTestCreate, createNewsletterUnsubscribeCreate, deleteNewsletterCampaignsDestroy, dispatchValidationError, extensionConfig, formatZodError, getAPIInstance, getNewsletterCampaignsList, getNewsletterCampaignsRetrieve, getNewsletterLogsList, getNewsletterNewslettersList, getNewsletterNewslettersRetrieve, getNewsletterSubscriptionsList, isAPIConfigured, onValidationError, partialUpdateNewsletterCampaignsPartialUpdate, partialUpdateNewsletterUnsubscribePartialUpdate, reconfigureAPI, resetAPI, shouldRetry, updateNewsletterCampaignsUpdate, updateNewsletterUnsubscribeUpdate, withRetry } from './index.js';
3
+ import useSWR from 'swr';
4
+ import * as react_jsx_runtime from 'react/jsx-runtime';
5
+ import { ReactNode } from 'react';
6
+ import 'consola';
7
+ import '@djangocfg/ext-base';
8
+ import 'zod';
9
+
10
+ /**
11
+ * Send Bulk Email
12
+ *
13
+ * @method POST
14
+ * @path /cfg/newsletter/bulk/
15
+ */
16
+ declare function useCreateNewsletterBulkCreate(): (data: BulkEmailRequest, client?: API) => Promise<BulkEmailResponse>;
17
+
18
+ /**
19
+ * SWR Hooks for Campaigns
20
+ *
21
+ * React hooks powered by SWR for data fetching with automatic caching,
22
+ * revalidation, and optimistic updates.
23
+ *
24
+ * Usage:
25
+ * ```typescript
26
+ * // Query hooks (GET)
27
+ * const { data, error, isLoading } = useUsers({ page: 1 })
28
+ *
29
+ * // Mutation hooks (POST/PUT/PATCH/DELETE)
30
+ * const createUser = useCreateUser()
31
+ * await createUser({ name: 'John', email: 'john@example.com' })
32
+ * ```
33
+ */
34
+
35
+ /**
36
+ * List Newsletter Campaigns
37
+ *
38
+ * @method GET
39
+ * @path /cfg/newsletter/campaigns/
40
+ */
41
+ declare function useNewsletterCampaignsList(params?: {
42
+ page?: number;
43
+ page_size?: number;
44
+ }, client?: API): ReturnType<typeof useSWR<PaginatedNewsletterCampaignList>>;
45
+ /**
46
+ * Create Newsletter Campaign
47
+ *
48
+ * @method POST
49
+ * @path /cfg/newsletter/campaigns/
50
+ */
51
+ declare function useCreateNewsletterCampaignsCreate(): (data: NewsletterCampaignRequest$1, client?: API) => Promise<NewsletterCampaign$1>;
52
+ /**
53
+ * Get Campaign Details
54
+ *
55
+ * @method GET
56
+ * @path /cfg/newsletter/campaigns/{id}/
57
+ */
58
+ declare function useNewsletterCampaignsRetrieve(id: number, client?: API): ReturnType<typeof useSWR<NewsletterCampaign>>;
59
+ /**
60
+ * Update Campaign
61
+ *
62
+ * @method PUT
63
+ * @path /cfg/newsletter/campaigns/{id}/
64
+ */
65
+ declare function useUpdateNewsletterCampaignsUpdate(): (id: number, data: NewsletterCampaignRequest$1, client?: API) => Promise<NewsletterCampaign$1>;
66
+ /**
67
+ * Delete Campaign
68
+ *
69
+ * @method DELETE
70
+ * @path /cfg/newsletter/campaigns/{id}/
71
+ */
72
+ declare function useDeleteNewsletterCampaignsDestroy(): (id: number, client?: API) => Promise<void>;
73
+ /**
74
+ * Send Newsletter Campaign
75
+ *
76
+ * @method POST
77
+ * @path /cfg/newsletter/campaigns/send/
78
+ */
79
+ declare function useCreateNewsletterCampaignsSendCreate(): (data: SendCampaignRequest, client?: API) => Promise<SendCampaignResponse$1>;
80
+
81
+ /**
82
+ * SWR Hooks for Logs
83
+ *
84
+ * React hooks powered by SWR for data fetching with automatic caching,
85
+ * revalidation, and optimistic updates.
86
+ *
87
+ * Usage:
88
+ * ```typescript
89
+ * // Query hooks (GET)
90
+ * const { data, error, isLoading } = useUsers({ page: 1 })
91
+ *
92
+ * // Mutation hooks (POST/PUT/PATCH/DELETE)
93
+ * const createUser = useCreateUser()
94
+ * await createUser({ name: 'John', email: 'john@example.com' })
95
+ * ```
96
+ */
97
+
98
+ /**
99
+ * List Email Logs
100
+ *
101
+ * @method GET
102
+ * @path /cfg/newsletter/logs/
103
+ */
104
+ declare function useNewsletterLogsList(params?: {
105
+ page?: number;
106
+ page_size?: number;
107
+ }, client?: API): ReturnType<typeof useSWR<PaginatedEmailLogList>>;
108
+
109
+ /**
110
+ * SWR Hooks for Newsletters
111
+ *
112
+ * React hooks powered by SWR for data fetching with automatic caching,
113
+ * revalidation, and optimistic updates.
114
+ *
115
+ * Usage:
116
+ * ```typescript
117
+ * // Query hooks (GET)
118
+ * const { data, error, isLoading } = useUsers({ page: 1 })
119
+ *
120
+ * // Mutation hooks (POST/PUT/PATCH/DELETE)
121
+ * const createUser = useCreateUser()
122
+ * await createUser({ name: 'John', email: 'john@example.com' })
123
+ * ```
124
+ */
125
+
126
+ /**
127
+ * List Active Newsletters
128
+ *
129
+ * @method GET
130
+ * @path /cfg/newsletter/newsletters/
131
+ */
132
+ declare function useNewsletterNewslettersList(params?: {
133
+ page?: number;
134
+ page_size?: number;
135
+ }, client?: API): ReturnType<typeof useSWR<PaginatedNewsletterList>>;
136
+ /**
137
+ * Get Newsletter Details
138
+ *
139
+ * @method GET
140
+ * @path /cfg/newsletter/newsletters/{id}/
141
+ */
142
+ declare function useNewsletterNewslettersRetrieve(id: number, client?: API): ReturnType<typeof useSWR<Newsletter>>;
143
+
144
+ /**
145
+ * SWR Hooks for Subscriptions
146
+ *
147
+ * React hooks powered by SWR for data fetching with automatic caching,
148
+ * revalidation, and optimistic updates.
149
+ *
150
+ * Usage:
151
+ * ```typescript
152
+ * // Query hooks (GET)
153
+ * const { data, error, isLoading } = useUsers({ page: 1 })
154
+ *
155
+ * // Mutation hooks (POST/PUT/PATCH/DELETE)
156
+ * const createUser = useCreateUser()
157
+ * await createUser({ name: 'John', email: 'john@example.com' })
158
+ * ```
159
+ */
160
+
161
+ /**
162
+ * Subscribe to Newsletter
163
+ *
164
+ * @method POST
165
+ * @path /cfg/newsletter/subscribe/
166
+ */
167
+ declare function useCreateNewsletterSubscribeCreate(): (data: SubscribeRequest$1, client?: API) => Promise<SubscribeResponse$1>;
168
+ /**
169
+ * List User Subscriptions
170
+ *
171
+ * @method GET
172
+ * @path /cfg/newsletter/subscriptions/
173
+ */
174
+ declare function useNewsletterSubscriptionsList(params?: {
175
+ page?: number;
176
+ page_size?: number;
177
+ }, client?: API): ReturnType<typeof useSWR<PaginatedNewsletterSubscriptionList>>;
178
+ /**
179
+ * Unsubscribe from Newsletter
180
+ *
181
+ * @method POST
182
+ * @path /cfg/newsletter/unsubscribe/
183
+ */
184
+ declare function useCreateNewsletterUnsubscribeCreate(): (data: UnsubscribeRequest$1, client?: API) => Promise<SuccessResponse$1>;
185
+
186
+ /**
187
+ * Test Email Sending
188
+ *
189
+ * @method POST
190
+ * @path /cfg/newsletter/test/
191
+ */
192
+ declare function useCreateNewsletterTestCreate(): (data: TestEmailRequest, client?: API) => Promise<BulkEmailResponse>;
193
+
194
+ /**
195
+ * API operation
196
+ *
197
+ * @method PATCH
198
+ * @path /cfg/newsletter/campaigns/{id}/
199
+ */
200
+ declare function usePartialUpdateNewsletterCampaignsPartialUpdate(): (id: number, data?: PatchedNewsletterCampaignRequest$1, client?: API) => Promise<NewsletterCampaign$1>;
201
+ /**
202
+ * API operation
203
+ *
204
+ * @method PUT
205
+ * @path /cfg/newsletter/unsubscribe/
206
+ */
207
+ declare function useUpdateNewsletterUnsubscribeUpdate(): (data: UnsubscribeRequest$1, client?: API) => Promise<Unsubscribe>;
208
+ /**
209
+ * API operation
210
+ *
211
+ * @method PATCH
212
+ * @path /cfg/newsletter/unsubscribe/
213
+ */
214
+ declare function usePartialUpdateNewsletterUnsubscribePartialUpdate(): (data?: PatchedUnsubscribeRequest, client?: API) => Promise<Unsubscribe>;
215
+
216
+ /**
217
+ * Newsletter Types
218
+ * Centralized type definitions for newsletter context
219
+ */
220
+
221
+ type NewsletterCampaign = NonNullable<Awaited<ReturnType<typeof useNewsletterCampaignsRetrieve>>['data']>;
222
+ type NewsletterCampaignRequest = Parameters<ReturnType<typeof useUpdateNewsletterCampaignsUpdate>>[1];
223
+ type PatchedNewsletterCampaignRequest = Parameters<ReturnType<typeof usePartialUpdateNewsletterCampaignsPartialUpdate>>[1];
224
+ type NewsletterSubscription = NonNullable<Awaited<ReturnType<typeof useNewsletterSubscriptionsList>>['data']> extends {
225
+ results: infer T;
226
+ } ? T extends Array<infer U> ? U : never : never;
227
+ type SubscribeRequest = Parameters<ReturnType<typeof useCreateNewsletterSubscribeCreate>>[0];
228
+ type SubscribeResponse = Awaited<ReturnType<ReturnType<typeof useCreateNewsletterSubscribeCreate>>>;
229
+ type UnsubscribeRequest = Parameters<ReturnType<typeof useCreateNewsletterUnsubscribeCreate>>[0];
230
+ type SuccessResponse = Awaited<ReturnType<ReturnType<typeof useCreateNewsletterUnsubscribeCreate>>>;
231
+ type SendCampaignResponse = Awaited<ReturnType<ReturnType<typeof useCreateNewsletterCampaignsSendCreate>>>;
232
+
233
+ interface NewsletterContextValue {
234
+ campaigns: NewsletterCampaign[];
235
+ isLoadingCampaigns: boolean;
236
+ campaignsError: Error | null;
237
+ pagination?: {
238
+ count: number;
239
+ next: number | null;
240
+ previous: number | null;
241
+ };
242
+ getCampaign: (id: number) => {
243
+ data?: NewsletterCampaign;
244
+ error?: Error;
245
+ isLoading: boolean;
246
+ };
247
+ createCampaign: (data: NewsletterCampaignRequest) => Promise<NewsletterCampaign>;
248
+ updateCampaign: (id: number, data: NewsletterCampaignRequest) => Promise<NewsletterCampaign>;
249
+ partialUpdateCampaign: (id: number, data: PatchedNewsletterCampaignRequest) => Promise<NewsletterCampaign>;
250
+ deleteCampaign: (id: number) => Promise<void>;
251
+ sendCampaign: (campaignId: number) => Promise<SendCampaignResponse>;
252
+ subscriptions: NewsletterSubscription[];
253
+ isLoadingSubscriptions: boolean;
254
+ subscriptionsError: Error | null;
255
+ subscribe: (data: SubscribeRequest) => Promise<SubscribeResponse>;
256
+ unsubscribe: (data: UnsubscribeRequest) => Promise<SuccessResponse>;
257
+ }
258
+ interface NewsletterProviderProps {
259
+ children: ReactNode;
260
+ page?: number;
261
+ pageSize?: number;
262
+ }
263
+ declare function NewsletterProvider({ children, page, pageSize }: NewsletterProviderProps): react_jsx_runtime.JSX.Element;
264
+ declare function useNewsletterContext(): NewsletterContextValue;
265
+
266
+ declare function Hero({ title, description, primaryAction, secondaryAction, showNewsletter, newsletterPlaceholder, newsletterButtonText, onNewsletterSubmit, className, }: HeroProps): react_jsx_runtime.JSX.Element;
267
+
268
+ export { API, BulkEmailRequest, BulkEmailResponse, Hero, HeroProps, NewsletterCampaign$1 as NewsletterCampaign, NewsletterCampaignRequest$1 as NewsletterCampaignRequest, Hero as NewsletterHero, NewsletterProvider, PatchedNewsletterCampaignRequest$1 as PatchedNewsletterCampaignRequest, PatchedUnsubscribeRequest, SendCampaignRequest, SendCampaignResponse$1 as SendCampaignResponse, SubscribeRequest$1 as SubscribeRequest, SubscribeResponse$1 as SubscribeResponse, SuccessResponse$1 as SuccessResponse, TestEmailRequest, Unsubscribe, UnsubscribeRequest$1 as UnsubscribeRequest, useCreateNewsletterBulkCreate, useCreateNewsletterCampaignsCreate, useCreateNewsletterCampaignsSendCreate, useCreateNewsletterSubscribeCreate, useCreateNewsletterTestCreate, useCreateNewsletterUnsubscribeCreate, useDeleteNewsletterCampaignsDestroy, useNewsletterCampaignsList, useNewsletterCampaignsRetrieve, useNewsletterContext, useNewsletterLogsList, useNewsletterNewslettersList, useNewsletterNewslettersRetrieve, useNewsletterSubscriptionsList, usePartialUpdateNewsletterCampaignsPartialUpdate, usePartialUpdateNewsletterUnsubscribePartialUpdate, useUpdateNewsletterCampaignsUpdate, useUpdateNewsletterUnsubscribeUpdate };