@xylex-group/athena 2.12.0 → 2.13.0

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.
Files changed (96) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +1190 -1184
  3. package/bin/athena-js.js +104 -76
  4. package/dist/admin.cjs +45 -0
  5. package/dist/admin.cjs.map +1 -0
  6. package/dist/admin.d.cts +64 -0
  7. package/dist/admin.d.ts +64 -0
  8. package/dist/admin.js +41 -0
  9. package/dist/admin.js.map +1 -0
  10. package/dist/athena-auth-url-oLux_57a.d.cts +377 -0
  11. package/dist/athena-auth-url-oLux_57a.d.ts +377 -0
  12. package/dist/browser.cjs +33 -46
  13. package/dist/browser.cjs.map +1 -1
  14. package/dist/browser.d.cts +12 -10
  15. package/dist/browser.d.ts +12 -10
  16. package/dist/browser.js +33 -46
  17. package/dist/browser.js.map +1 -1
  18. package/dist/cli/index.cjs +150 -48
  19. package/dist/cli/index.cjs.map +1 -1
  20. package/dist/cli/index.d.cts +14 -5
  21. package/dist/cli/index.d.ts +14 -5
  22. package/dist/cli/index.js +150 -49
  23. package/dist/cli/index.js.map +1 -1
  24. package/dist/{client-QUbAs7E8.d.ts → client-BJjUwDSg.d.cts} +109 -1448
  25. package/dist/{client-C3x75Zgn.d.cts → client-DVOKSYDI.d.ts} +109 -1448
  26. package/dist/cookies.cjs +18 -0
  27. package/dist/cookies.cjs.map +1 -1
  28. package/dist/cookies.d.cts +2 -1
  29. package/dist/cookies.d.ts +2 -1
  30. package/dist/cookies.js +17 -1
  31. package/dist/cookies.js.map +1 -1
  32. package/dist/{index-CVcQCGyG.d.ts → index-CFL9xbFR.d.cts} +2 -0
  33. package/dist/{index-CVcQCGyG.d.cts → index-UKJpunc6.d.ts} +2 -0
  34. package/dist/index.cjs +101 -46
  35. package/dist/index.cjs.map +1 -1
  36. package/dist/index.d.cts +13 -10
  37. package/dist/index.d.ts +13 -10
  38. package/dist/index.js +101 -47
  39. package/dist/index.js.map +1 -1
  40. package/dist/{model-form-CD1uhWSh.d.cts → model-form-Dw4zEL5a.d.cts} +2 -2
  41. package/dist/{model-form-Dm69I-oO.d.ts → model-form-yRg71q3H.d.ts} +2 -2
  42. package/dist/{module-CW3tWJ10.d.ts → module-DBteUIob.d.ts} +12 -9
  43. package/dist/{module-Cxcurfes.d.cts → module-yoX49uQC.d.cts} +12 -9
  44. package/dist/next/client.cjs +452 -46
  45. package/dist/next/client.cjs.map +1 -1
  46. package/dist/next/client.d.cts +7 -4
  47. package/dist/next/client.d.ts +7 -4
  48. package/dist/next/client.js +430 -47
  49. package/dist/next/client.js.map +1 -1
  50. package/dist/next/server.cjs +292 -46
  51. package/dist/next/server.cjs.map +1 -1
  52. package/dist/next/server.d.cts +81 -5
  53. package/dist/next/server.d.ts +81 -5
  54. package/dist/next/server.js +280 -47
  55. package/dist/next/server.js.map +1 -1
  56. package/dist/organization.cjs +72 -0
  57. package/dist/organization.cjs.map +1 -0
  58. package/dist/organization.d.cts +43 -0
  59. package/dist/organization.d.ts +43 -0
  60. package/dist/organization.js +70 -0
  61. package/dist/organization.js.map +1 -0
  62. package/dist/payload-BzVbUgY_.d.cts +219 -0
  63. package/dist/payload-DEOWN_oo.d.ts +219 -0
  64. package/dist/{pipeline-BAwb6Vzm.d.ts → pipeline-Bj6RWt1A.d.ts} +1 -1
  65. package/dist/{pipeline-B14jVK7J.d.cts → pipeline-Dwck-wZO.d.cts} +1 -1
  66. package/dist/react.cjs +2 -10
  67. package/dist/react.cjs.map +1 -1
  68. package/dist/react.d.cts +26 -7
  69. package/dist/react.d.ts +26 -7
  70. package/dist/react.js +2 -10
  71. package/dist/react.js.map +1 -1
  72. package/dist/session-cookie-detection-BqOp9mO6.d.cts +46 -0
  73. package/dist/session-cookie-detection-BqOp9mO6.d.ts +46 -0
  74. package/dist/social-providers.cjs +4189 -0
  75. package/dist/social-providers.cjs.map +1 -0
  76. package/dist/social-providers.d.cts +4948 -0
  77. package/dist/social-providers.d.ts +4948 -0
  78. package/dist/social-providers.js +4117 -0
  79. package/dist/social-providers.js.map +1 -0
  80. package/dist/{types-Cq4-NoB4.d.ts → types-BRP7sfSF.d.ts} +50 -2
  81. package/dist/{types-Dr849HD6.d.cts → types-BU8uJH_b.d.cts} +50 -2
  82. package/dist/{types-CwJCPpLD.d.ts → types-CH78O90i.d.cts} +2 -2
  83. package/dist/{types-CwJCPpLD.d.cts → types-CH78O90i.d.ts} +2 -2
  84. package/dist/{types-DMOoYnPS.d.cts → types-CjC9_5ZQ.d.cts} +3 -3
  85. package/dist/{types-BcVmPBP-.d.ts → types-DPgejxYC.d.ts} +3 -3
  86. package/dist/types-eAKAh71s.d.cts +1476 -0
  87. package/dist/types-eAKAh71s.d.ts +1476 -0
  88. package/dist/utils.cjs +438 -12
  89. package/dist/utils.cjs.map +1 -1
  90. package/dist/utils.d.cts +76 -11
  91. package/dist/utils.d.ts +76 -11
  92. package/dist/utils.js +390 -13
  93. package/dist/utils.js.map +1 -1
  94. package/package.json +49 -22
  95. package/dist/shared-0Kdc74lu.d.ts +0 -35
  96. package/dist/shared-C0wVICRv.d.cts +0 -35
@@ -0,0 +1,1476 @@
1
+ type AthenaAuthMethod = 'GET' | 'POST';
2
+ type AthenaAuthCredentials = 'omit' | 'same-origin' | 'include';
3
+ type AthenaAuthQueryPrimitive = string | number | boolean;
4
+ type AthenaAuthQueryValue = AthenaAuthQueryPrimitive | AthenaAuthQueryPrimitive[] | null | undefined;
5
+ type AthenaAuthEndpointPath = '/sign-in/social' | '/sign-in/email' | '/sign-in/username' | '/sign-up/email' | '/get-session' | '/sign-out' | '/forget-password' | '/reset-password' | '/verify-email' | '/send-verification-email' | '/change-email' | '/change-email/verify' | '/change-password' | '/set-password' | '/update-user' | '/delete-user' | '/delete-user/verify' | '/delete-user/callback' | '/email-list' | '/email/list' | '/list-sessions' | '/revoke-session' | '/revoke-sessions' | '/revoke-other-sessions' | '/link-social' | '/list-accounts' | '/unlink-account' | '/refresh-token' | '/get-access-token' | '/two-factor/get-totp-uri' | '/two-factor/verify-totp' | '/two-factor/send-otp' | '/two-factor/verify-otp' | '/two-factor/verify-backup-code' | '/two-factor/generate-backup-codes' | '/two-factor/enable' | '/two-factor/disable' | '/passkey/generate-register-options' | '/passkey/generate-authenticate-options' | '/passkey/verify-registration' | '/passkey/verify-authentication' | '/passkey/list-user-passkeys' | '/passkey/delete-passkey' | '/passkey/update-passkey' | '/.well-known/webauthn' | '/admin/set-role' | '/admin/list-users' | '/admin/list-user-sessions' | '/admin/create-user' | '/admin/unban-user' | '/admin/ban-user' | '/admin/impersonate-user' | '/admin/stop-impersonating' | '/admin/revoke-user-session' | '/admin/revoke-user-sessions' | '/admin/remove-user' | '/admin/set-user-password' | '/admin/has-permission' | '/admin/api-key/create' | '/admin/athena-client/create' | '/admin/athena-client/list' | '/admin/audit-log/list' | '/admin/email/get' | '/admin/email/create' | '/admin/email/update' | '/admin/email/delete' | '/admin/email-failure/list' | '/admin/email-failure/get' | '/admin/email-failure/create' | '/admin/email-failure/update' | '/admin/email-failure/delete' | '/admin/email-template/get' | '/admin/email-template/create' | '/admin/email-template/delete' | '/admin/email-template/list' | '/admin/email-template/update' | '/admin/email-template/send' | '/admin/email-event-type/list' | '/admin/email/list' | '/api-key/create' | '/api-key/get' | '/api-key/update' | '/api-key/delete' | '/api-key/list' | '/api-key/verify' | '/api-key/delete-all-expired-api-keys' | '/organization/create' | '/organization/check-slug' | '/organization/list' | '/organization/set-active' | '/organization/get-full-organization' | '/organization/update' | '/organization/delete' | '/organization/invite-member' | '/organization/accept-invitation' | '/organization/cancel-invitation' | '/organization/reject-invitation' | '/organization/get-invitation' | '/organization/list-invitations' | '/organization/list-user-invitations' | '/organization/list-members' | '/organization/remove-member' | '/organization/update-member-role' | '/organization/get-active-member' | '/organization/leave' | '/organization/has-permission' | `/callback/${string}` | '/health' | '/ok' | '/error' | `/reset-password/${string}`;
6
+ type AthenaAuthErrorCode = 'NETWORK_ERROR' | 'HTTP_ERROR' | 'INVALID_JSON' | 'UNKNOWN_ERROR';
7
+ interface AthenaAuthErrorDetails {
8
+ code: AthenaAuthErrorCode;
9
+ message: string;
10
+ status: number;
11
+ endpoint?: AthenaAuthEndpointPath;
12
+ method?: AthenaAuthMethod;
13
+ requestId?: string;
14
+ hint?: string;
15
+ cause?: string;
16
+ }
17
+ interface AthenaAuthResult<T = unknown> {
18
+ ok: boolean;
19
+ status: number;
20
+ data: T | null;
21
+ error: string | null;
22
+ errorDetails?: AthenaAuthErrorDetails | null;
23
+ raw: unknown;
24
+ }
25
+ interface AthenaAuthUser {
26
+ id: string;
27
+ email: string;
28
+ name?: string | null;
29
+ image?: string | null;
30
+ emailVerified?: boolean;
31
+ createdAt?: string;
32
+ updatedAt?: string;
33
+ username?: string | null;
34
+ displayUsername?: string | null;
35
+ twoFactorEnabled?: boolean;
36
+ role?: string | null;
37
+ banned?: boolean;
38
+ banReason?: string | null;
39
+ banExpires?: string | null;
40
+ }
41
+ interface AthenaAuthSession {
42
+ id: string;
43
+ expiresAt?: string;
44
+ token?: string;
45
+ createdAt?: string;
46
+ updatedAt?: string;
47
+ ipAddress?: string | null;
48
+ userAgent?: string | null;
49
+ userId?: string;
50
+ impersonatedBy?: string | null;
51
+ activeOrganizationId?: string | null;
52
+ }
53
+ interface AthenaAuthSessionResponse {
54
+ session: AthenaAuthSession;
55
+ user: AthenaAuthUser;
56
+ }
57
+ interface AthenaAuthGetUserResponse {
58
+ user: AthenaAuthUser | null;
59
+ }
60
+ interface AthenaAuthOrganization {
61
+ id: string;
62
+ name: string;
63
+ slug: string;
64
+ logo?: string | null;
65
+ metadata?: Record<string, unknown> | null;
66
+ createdAt?: string;
67
+ updatedAt?: string;
68
+ }
69
+ interface AthenaAuthOrganizationMember {
70
+ id: string;
71
+ organizationId?: string;
72
+ userId?: string;
73
+ role?: string | string[] | null;
74
+ createdAt?: string;
75
+ updatedAt?: string;
76
+ user?: AthenaAuthUser;
77
+ }
78
+ interface AthenaAuthOrganizationInvitation {
79
+ id: string;
80
+ email?: string;
81
+ role?: string | string[] | null;
82
+ organizationId?: string;
83
+ inviterId?: string;
84
+ teamId?: string | null;
85
+ status?: string;
86
+ expiresAt?: string;
87
+ createdAt?: string;
88
+ updatedAt?: string;
89
+ }
90
+ interface AthenaEmailSignInRequest {
91
+ email: string;
92
+ password: string;
93
+ callbackURL?: string;
94
+ rememberMe?: boolean;
95
+ }
96
+ interface AthenaUsernameSignInRequest {
97
+ username: string;
98
+ password: string;
99
+ rememberMe?: boolean;
100
+ }
101
+ /**
102
+ * Declaration-merge hook for app-defined social providers on the auth API.
103
+ *
104
+ * @example
105
+ * ```ts
106
+ * declare module '@xylex-group/athena' {
107
+ * interface AthenaAuthSocialProviderExtensions {
108
+ * figma: true
109
+ * }
110
+ * }
111
+ * ```
112
+ */
113
+ interface AthenaAuthSocialProviderExtensions {
114
+ }
115
+ /**
116
+ * Built-in provider ids accepted by Athena Auth social / SSO routes.
117
+ *
118
+ * Wider OAuth factory registry ids live as {@link SocialProvider} under
119
+ * `@xylex-group/athena/social-providers` — do not confuse the two.
120
+ */
121
+ type AuthSocialProviderBuiltin = 'google' | 'apple' | 'microsoft' | 'github' | 'discord' | 'athena' | 'saml';
122
+ /**
123
+ * Social / identity provider id for auth API calls (`signIn.social`, link, etc.).
124
+ *
125
+ * Defaults to {@link AuthSocialProviderBuiltin}; extend via
126
+ * {@link AthenaAuthSocialProviderExtensions}.
127
+ *
128
+ * @example
129
+ * ```ts
130
+ * import type { AuthSocialProvider } from '@xylex-group/athena'
131
+ * // or from '@xylex-group/athena/social-providers'
132
+ *
133
+ * const provider: AuthSocialProvider = 'google'
134
+ * ```
135
+ */
136
+ type AuthSocialProvider = AuthSocialProviderBuiltin | Extract<keyof AthenaAuthSocialProviderExtensions, string>;
137
+ /**
138
+ * OAuth-only provider id (excludes SAML SSO).
139
+ * Use for pure OAuth link/token flows where SAML is not valid.
140
+ */
141
+ type AuthOAuthProvider = Exclude<AuthSocialProvider, 'saml'>;
142
+ interface AthenaSocialSignInRequest {
143
+ provider: AuthSocialProvider;
144
+ callbackURL?: string;
145
+ newUserCallbackURL?: string;
146
+ errorCallbackURL?: string;
147
+ disableRedirect?: boolean;
148
+ idToken?: string;
149
+ scopes?: string[] | string;
150
+ requestSignUp?: boolean;
151
+ loginHint?: string;
152
+ }
153
+ interface AthenaEmailSignUpRequest {
154
+ name: string;
155
+ email: string;
156
+ password: string;
157
+ callbackURL?: string;
158
+ }
159
+ interface AthenaAuthSignInResponse {
160
+ redirect: false;
161
+ token: string;
162
+ url?: string | null;
163
+ user: AthenaAuthUser;
164
+ }
165
+ interface AthenaAuthSocialRedirectResponse {
166
+ url: string;
167
+ redirect: boolean;
168
+ }
169
+ interface AthenaAuthSignOutResponse {
170
+ success: boolean;
171
+ }
172
+ interface AthenaAuthStatusResponse {
173
+ status: boolean;
174
+ }
175
+ interface AthenaAuthRevokeSessionRequest {
176
+ token: string;
177
+ }
178
+ interface AthenaForgetPasswordRequest {
179
+ email: string;
180
+ redirectTo?: string;
181
+ }
182
+ interface AthenaResetPasswordRequest {
183
+ newPassword: string;
184
+ token?: string;
185
+ }
186
+ interface AthenaVerifyEmailRequest {
187
+ token: string;
188
+ callbackURL?: string;
189
+ }
190
+ interface AthenaSendVerificationEmailRequest {
191
+ email: string;
192
+ callbackURL?: string;
193
+ }
194
+ interface AthenaChangeEmailRequest {
195
+ newEmail: string;
196
+ callbackURL?: string;
197
+ }
198
+ interface AthenaChangePasswordRequest {
199
+ newPassword: string;
200
+ currentPassword: string;
201
+ revokeOtherSessions?: boolean;
202
+ }
203
+ interface AthenaUpdateUserRequest {
204
+ name?: string;
205
+ image?: string;
206
+ }
207
+ interface AthenaDeleteUserRequest {
208
+ callbackURL?: string;
209
+ password?: string;
210
+ token?: string;
211
+ }
212
+ interface AthenaDeleteUserCallbackRequest {
213
+ token?: string;
214
+ callbackURL?: string;
215
+ }
216
+ interface AthenaDeleteUserResponse {
217
+ success: boolean;
218
+ message?: string;
219
+ }
220
+ interface AthenaAuthEmailChangeResponse {
221
+ status: boolean;
222
+ message?: string | null;
223
+ }
224
+ interface AthenaLinkSocialRequest {
225
+ provider: AuthOAuthProvider;
226
+ callbackURL?: string;
227
+ scopes?: string[] | string;
228
+ }
229
+ interface AthenaUnlinkAccountRequest {
230
+ providerId: string;
231
+ accountId?: string;
232
+ }
233
+ interface AthenaOAuthAccountTokenRequest {
234
+ providerId: string;
235
+ accountId?: string;
236
+ userId?: string;
237
+ }
238
+ interface AthenaOAuthTokenBundle {
239
+ tokenType?: string;
240
+ idToken?: string;
241
+ accessToken?: string;
242
+ refreshToken?: string;
243
+ accessTokenExpiresAt?: string;
244
+ refreshTokenExpiresAt?: string;
245
+ }
246
+ interface AthenaAuthLinkedAccount {
247
+ id: string;
248
+ provider?: string;
249
+ accountId?: string;
250
+ scopes?: string[];
251
+ createdAt?: string;
252
+ updatedAt?: string;
253
+ }
254
+ type AthenaAuthPermissionSet = Record<string, unknown> | string[];
255
+ type AthenaAuthLooseRecord = Record<string, unknown>;
256
+ type AthenaAuthReactEmailProps = Record<string, unknown>;
257
+ interface AthenaSetPasswordRequest {
258
+ newPassword: string;
259
+ }
260
+ interface AthenaAuthTokenQuery {
261
+ token: string;
262
+ }
263
+ interface AthenaAuthTokenVerificationResponse {
264
+ status: boolean;
265
+ message: string;
266
+ }
267
+ interface AthenaAuthEmailListQuery {
268
+ limit?: number;
269
+ offset?: number;
270
+ }
271
+ interface AthenaAuthEmailListResponse {
272
+ total: number;
273
+ limit: number;
274
+ offset: number;
275
+ emails: AthenaAuthLooseRecord[];
276
+ }
277
+ interface AthenaAuthHealthResponse {
278
+ status?: string;
279
+ service?: string;
280
+ version?: string;
281
+ }
282
+ interface AthenaAuthOkResponse {
283
+ ok: boolean;
284
+ }
285
+ interface AthenaAuthErrorResponse {
286
+ message: string;
287
+ }
288
+ interface AthenaAuthCallbackProviderRequest {
289
+ provider: string;
290
+ code: string;
291
+ state: string;
292
+ }
293
+ interface AthenaAuthCallbackProviderResponse {
294
+ token?: string;
295
+ user?: AthenaAuthLooseRecord;
296
+ }
297
+ interface AthenaTwoFactorGetTotpUriRequest {
298
+ password: string;
299
+ }
300
+ interface AthenaTwoFactorGetTotpUriResponse {
301
+ totpURI?: string;
302
+ }
303
+ interface AthenaTwoFactorVerifyTotpRequest {
304
+ code: string;
305
+ trustDevice?: string;
306
+ }
307
+ interface AthenaTwoFactorVerifyTotpResponse {
308
+ status?: boolean;
309
+ }
310
+ interface AthenaTwoFactorVerifyOtpRequest {
311
+ code: string;
312
+ trustDevice?: string;
313
+ }
314
+ interface AthenaTwoFactorVerifyOtpResponse {
315
+ token: string;
316
+ user: AthenaAuthUser;
317
+ }
318
+ interface AthenaTwoFactorVerifyBackupCodeRequest {
319
+ code: string;
320
+ disableSession?: string;
321
+ trustDevice?: string;
322
+ }
323
+ interface AthenaTwoFactorSessionSnapshot {
324
+ token: string;
325
+ userId: string;
326
+ createdAt: string;
327
+ expiresAt: string;
328
+ }
329
+ interface AthenaTwoFactorVerifyBackupCodeResponse {
330
+ user: AthenaAuthUser;
331
+ session: AthenaTwoFactorSessionSnapshot;
332
+ }
333
+ interface AthenaTwoFactorGenerateBackupCodesRequest {
334
+ password: string;
335
+ }
336
+ interface AthenaTwoFactorGenerateBackupCodesResponse {
337
+ status: true;
338
+ backupCodes: string[];
339
+ }
340
+ interface AthenaTwoFactorEnableRequest {
341
+ password: string;
342
+ issuer?: string;
343
+ }
344
+ interface AthenaTwoFactorEnableResponse {
345
+ totpURI?: string;
346
+ backupCodes?: string[];
347
+ }
348
+ interface AthenaTwoFactorDisableRequest {
349
+ password: string;
350
+ }
351
+ interface AthenaTwoFactorDisableResponse {
352
+ status?: boolean;
353
+ }
354
+ interface AthenaPasskeyCredentialDescriptor {
355
+ id?: string;
356
+ type?: string;
357
+ transports?: string[];
358
+ }
359
+ interface AthenaPasskeyPublicKeyCredentialParam {
360
+ type?: string;
361
+ alg?: number;
362
+ }
363
+ interface AthenaPasskeyUserDescriptor {
364
+ id?: string;
365
+ name?: string;
366
+ displayName?: string;
367
+ }
368
+ interface AthenaPasskeyRelyingParty {
369
+ name?: string;
370
+ id?: string;
371
+ }
372
+ interface AthenaPasskeyAuthenticatorSelection {
373
+ authenticatorAttachment?: string;
374
+ requireResidentKey?: boolean;
375
+ userVerification?: string;
376
+ }
377
+ interface AthenaPasskeyOptionsResponse {
378
+ challenge?: string;
379
+ rp?: AthenaPasskeyRelyingParty;
380
+ user?: AthenaPasskeyUserDescriptor;
381
+ timeout?: number;
382
+ allowCredentials?: AthenaPasskeyCredentialDescriptor[];
383
+ excludeCredentials?: AthenaPasskeyCredentialDescriptor[];
384
+ pubKeyCredParams?: AthenaPasskeyPublicKeyCredentialParam[];
385
+ userVerification?: string;
386
+ authenticatorSelection?: AthenaPasskeyAuthenticatorSelection;
387
+ attestation?: string;
388
+ extensions?: AthenaAuthLooseRecord;
389
+ }
390
+ interface AthenaPasskeyRecord {
391
+ id: string;
392
+ name?: string | null;
393
+ publicKey?: string;
394
+ userId: string;
395
+ credentialID?: string;
396
+ counter?: number;
397
+ deviceType?: string;
398
+ backedUp?: boolean;
399
+ transports?: string;
400
+ createdAt?: string;
401
+ }
402
+ interface AthenaPasskeyVerifyRegistrationRequest {
403
+ response: string;
404
+ name?: string;
405
+ }
406
+ interface AthenaPasskeyVerifyAuthenticationRequest {
407
+ response: string;
408
+ }
409
+ interface AthenaPasskeyVerifyAuthenticationResponse {
410
+ session: AthenaAuthSession;
411
+ user: AthenaAuthUser;
412
+ }
413
+ interface AthenaPasskeyDeleteRequest {
414
+ id: string;
415
+ }
416
+ interface AthenaPasskeyDeleteResponse {
417
+ status: boolean;
418
+ }
419
+ interface AthenaPasskeyUpdateRequest {
420
+ id: string;
421
+ name: string;
422
+ }
423
+ interface AthenaPasskeyUpdateResponse {
424
+ passkey: AthenaPasskeyRecord;
425
+ }
426
+ interface AthenaAdminSetRoleRequest {
427
+ userId: string;
428
+ role: string;
429
+ }
430
+ interface AthenaAdminCreateUserRequest {
431
+ email: string;
432
+ password: string;
433
+ name: string;
434
+ role?: string;
435
+ data?: string;
436
+ }
437
+ interface AthenaAdminTargetUserRequest {
438
+ userId: string;
439
+ }
440
+ interface AthenaAdminBanUserRequest extends AthenaAdminTargetUserRequest {
441
+ banReason?: string;
442
+ banExpiresIn?: string;
443
+ }
444
+ type AthenaAuthSearchOperator = 'contains' | 'starts_with' | 'ends_with';
445
+ type AthenaAuthFilterOperator = 'eq' | 'ne' | 'lt' | 'lte' | 'gt' | 'gte' | 'in' | 'not_in' | 'contains' | 'starts_with' | 'ends_with';
446
+ type AthenaAdminListUsersSearchOperator = AthenaAuthSearchOperator;
447
+ type AthenaAdminListUsersFilterOperator = AthenaAuthFilterOperator;
448
+ interface AthenaAdminListUsersQuery {
449
+ searchValue?: string;
450
+ searchField?: string;
451
+ searchOperator?: AthenaAdminListUsersSearchOperator;
452
+ limit?: number | string;
453
+ offset?: number | string;
454
+ sortBy?: string;
455
+ sortDirection?: string;
456
+ filterField?: string;
457
+ filterValue?: string;
458
+ filterOperator?: AthenaAdminListUsersFilterOperator;
459
+ }
460
+ interface AthenaAdminListUsersResponse {
461
+ users: AthenaAuthUser[];
462
+ total: number;
463
+ limit?: number;
464
+ offset?: number;
465
+ }
466
+ interface AthenaAdminListUserSessionsRequest {
467
+ userId: string;
468
+ }
469
+ interface AthenaAdminListUserSessionsResponse {
470
+ sessions: AthenaAuthSession[];
471
+ }
472
+ interface AthenaAdminImpersonateResponse {
473
+ session: AthenaAuthSession;
474
+ user: AthenaAuthUser;
475
+ }
476
+ interface AthenaAdminStopImpersonatingRequest {
477
+ userId?: string;
478
+ }
479
+ interface AthenaAdminRevokeUserSessionRequest {
480
+ sessionToken: string;
481
+ userId: string;
482
+ sessionId?: string;
483
+ }
484
+ interface AthenaAdminRevokeUserSessionsRequest {
485
+ userId: string;
486
+ }
487
+ interface AthenaAdminSetUserPasswordRequest {
488
+ userId: string;
489
+ newPassword: string;
490
+ }
491
+ interface AthenaAdminUserResponse {
492
+ user: AthenaAuthUser;
493
+ }
494
+ interface AthenaAdminSuccessResponse {
495
+ success: boolean;
496
+ }
497
+ interface AthenaAdminHasPermissionRequest {
498
+ permission?: AthenaAuthPermissionSet;
499
+ permissions: AthenaAuthPermissionSet;
500
+ }
501
+ interface AthenaAdminHasPermissionResponse {
502
+ success: boolean;
503
+ error?: string;
504
+ }
505
+ interface AthenaAdminApiKeyCreateRequest {
506
+ name?: string;
507
+ expiresIn?: number;
508
+ athenaClientName?: string;
509
+ permissions?: AthenaAuthLooseRecord;
510
+ metadata?: AthenaAuthLooseRecord;
511
+ }
512
+ interface AthenaAdminApiKeyCreateResponse {
513
+ key?: string;
514
+ apiKey?: AthenaAuthLooseRecord;
515
+ }
516
+ interface AthenaAdminAthenaClientCreateRequest {
517
+ clientName: string;
518
+ description?: string;
519
+ isActive?: boolean;
520
+ pgUriEnvVar?: string;
521
+ metadata?: AthenaAuthLooseRecord;
522
+ }
523
+ interface AthenaAdminAthenaClientListResponse {
524
+ athenaClients?: AthenaAuthLooseRecord[];
525
+ }
526
+ interface AthenaAdminAuditLogListQuery {
527
+ limit?: number;
528
+ offset?: number;
529
+ actorUserId?: string;
530
+ action?: string;
531
+ targetType?: string;
532
+ targetId?: string;
533
+ success?: boolean;
534
+ createdAfter?: string;
535
+ createdBefore?: string;
536
+ }
537
+ interface AthenaAdminAuditLogListResponse {
538
+ total?: number;
539
+ limit?: number;
540
+ offset?: number;
541
+ auditLogs?: AthenaAuthLooseRecord[];
542
+ }
543
+ interface AthenaAdminEmailListQuery {
544
+ limit?: number;
545
+ offset?: number;
546
+ recipientEmail?: string;
547
+ provider?: string;
548
+ flow?: string;
549
+ subjectContains?: string;
550
+ createdAfter?: string;
551
+ createdBefore?: string;
552
+ }
553
+ interface AthenaAdminEmailListResponse {
554
+ total?: number;
555
+ limit?: number;
556
+ offset?: number;
557
+ emails?: AthenaAuthLooseRecord[];
558
+ }
559
+ interface AthenaAdminEmailGetQuery {
560
+ id: string;
561
+ }
562
+ interface AthenaAdminEmailGetResponse {
563
+ email?: AthenaAuthLooseRecord;
564
+ }
565
+ interface AthenaAuthReactEmailRenderInput {
566
+ /**
567
+ * React email element instance (for example: `<WelcomeEmail {...props} />`).
568
+ */
569
+ element?: unknown;
570
+ /**
571
+ * React email component function. Use with `props` when you prefer component + props inputs.
572
+ */
573
+ component?: AthenaAuthReactEmailComponent;
574
+ /**
575
+ * Props passed to `component` when `element` is omitted.
576
+ */
577
+ props?: AthenaAuthReactEmailProps;
578
+ /**
579
+ * When true, run `pretty(...)` on rendered HTML when available.
580
+ */
581
+ pretty?: boolean;
582
+ /**
583
+ * Override plain-text output. If omitted, text is auto-derived when possible.
584
+ */
585
+ text?: string;
586
+ /**
587
+ * Disable derived plain-text generation. Defaults to `true`.
588
+ */
589
+ includePlainText?: boolean;
590
+ }
591
+ type AthenaAuthReactEmailComponent<TProps extends AthenaAuthReactEmailProps = AthenaAuthReactEmailProps> = (props: TProps) => unknown;
592
+ interface AthenaAuthReactEmailRenderOptions {
593
+ pretty?: boolean;
594
+ includePlainText?: boolean;
595
+ }
596
+ type AthenaAuthReactEmailEventPhase = 'render:start' | 'render:success' | 'render:error';
597
+ interface AthenaAuthReactEmailRenderEvent {
598
+ phase: AthenaAuthReactEmailEventPhase;
599
+ timestamp: string;
600
+ route?: string;
601
+ durationMs?: number;
602
+ message?: string;
603
+ error?: string;
604
+ }
605
+ interface AthenaAuthReactEmailConfig {
606
+ /**
607
+ * Optional default render settings used when request payloads omit `pretty` or `includePlainText`.
608
+ */
609
+ defaults?: AthenaAuthReactEmailRenderOptions;
610
+ /**
611
+ * Optional observer for render lifecycle events.
612
+ */
613
+ observe?: (event: AthenaAuthReactEmailRenderEvent) => void;
614
+ }
615
+ interface AthenaAdminEmailCreateRequest {
616
+ recipientEmail: string;
617
+ subject: string;
618
+ fromAddress: string;
619
+ fromName?: string;
620
+ textBody?: string;
621
+ htmlBody?: string;
622
+ /**
623
+ * Optional React Email render input. When provided, `htmlBody` is derived automatically.
624
+ */
625
+ react?: AthenaAuthReactEmailRenderInput;
626
+ provider: string;
627
+ flow?: string;
628
+ metadata?: AthenaAuthLooseRecord;
629
+ }
630
+ interface AthenaAdminEmailUpdateRequest {
631
+ id: string;
632
+ recipientEmail?: string;
633
+ subject?: string;
634
+ fromAddress?: string;
635
+ fromName?: string | null;
636
+ textBody?: string | null;
637
+ htmlBody?: string | null;
638
+ /**
639
+ * Optional React Email render input. When provided, `htmlBody` is derived automatically.
640
+ */
641
+ react?: AthenaAuthReactEmailRenderInput;
642
+ provider?: string;
643
+ flow?: string | null;
644
+ metadata?: AthenaAuthLooseRecord;
645
+ }
646
+ interface AthenaAdminEmailUpdateResponse {
647
+ email?: AthenaAuthLooseRecord;
648
+ }
649
+ interface AthenaAdminEmailDeleteRequest {
650
+ id: string;
651
+ }
652
+ interface AthenaAdminEmailFailureListQuery {
653
+ limit?: number;
654
+ offset?: number;
655
+ recipientEmail?: string;
656
+ provider?: string;
657
+ flow?: string;
658
+ resolved?: boolean;
659
+ createdAfter?: string;
660
+ createdBefore?: string;
661
+ }
662
+ interface AthenaAdminEmailFailureListResponse {
663
+ total?: number;
664
+ limit?: number;
665
+ offset?: number;
666
+ emailSendFailures?: AthenaAuthLooseRecord[];
667
+ }
668
+ interface AthenaAdminEmailFailureGetQuery {
669
+ id: string;
670
+ }
671
+ interface AthenaAdminEmailFailureGetResponse {
672
+ emailSendFailure?: AthenaAuthLooseRecord;
673
+ }
674
+ interface AthenaAdminEmailFailureCreateRequest {
675
+ userId?: string;
676
+ recipientEmail: string;
677
+ flow: string;
678
+ provider?: string;
679
+ errorMessage: string;
680
+ metadata?: AthenaAuthLooseRecord;
681
+ }
682
+ interface AthenaAdminEmailFailureUpdateRequest {
683
+ id: string;
684
+ resolved?: boolean;
685
+ resolutionNote?: string | null;
686
+ metadata?: AthenaAuthLooseRecord;
687
+ }
688
+ interface AthenaAdminEmailFailureUpdateResponse {
689
+ emailSendFailure?: AthenaAuthLooseRecord;
690
+ }
691
+ interface AthenaAdminEmailFailureDeleteRequest {
692
+ id: string;
693
+ }
694
+ interface AthenaAdminEmailTemplateListQuery {
695
+ limit?: number;
696
+ offset?: number;
697
+ template_key?: string;
698
+ event_type?: string;
699
+ locale?: string;
700
+ is_active?: boolean;
701
+ }
702
+ interface AthenaAuthEmailTemplateVariableBinding {
703
+ name: string;
704
+ source: string;
705
+ required?: boolean;
706
+ }
707
+ interface AthenaAuthEmailTemplateAttachment {
708
+ file_url: string;
709
+ filename?: string;
710
+ }
711
+ interface AthenaAdminEmailTemplateRecord {
712
+ id?: string;
713
+ template_key: string;
714
+ event_type?: string | null;
715
+ subject_template?: string | null;
716
+ text_template?: string | null;
717
+ html_template?: string | null;
718
+ variables?: string[];
719
+ variable_bindings?: AthenaAuthEmailTemplateVariableBinding[];
720
+ attachments?: AthenaAuthEmailTemplateAttachment[];
721
+ attachment_failure_mode?: 'fail' | 'skip' | null;
722
+ is_active?: boolean;
723
+ metadata?: AthenaAuthLooseRecord;
724
+ created_at?: string;
725
+ updated_at?: string;
726
+ }
727
+ interface AthenaAdminEmailTemplateListResponse {
728
+ total?: number;
729
+ limit?: number;
730
+ offset?: number;
731
+ email_templates?: AthenaAdminEmailTemplateRecord[];
732
+ }
733
+ interface AthenaAdminEmailTemplateCreateRequest {
734
+ template_key: string;
735
+ event_type?: string;
736
+ locale?: string;
737
+ subject_template?: string;
738
+ text_template?: string;
739
+ html_template?: string;
740
+ /**
741
+ * Optional React Email render input. When provided, `html_template` is derived automatically.
742
+ */
743
+ react?: AthenaAuthReactEmailRenderInput;
744
+ variables?: string[];
745
+ variable_bindings?: AthenaAuthEmailTemplateVariableBinding[];
746
+ attachments?: string | AthenaAuthEmailTemplateAttachment | AthenaAuthEmailTemplateAttachment[];
747
+ attachment_failure_mode?: 'fail' | 'skip';
748
+ is_active?: boolean;
749
+ metadata?: AthenaAuthLooseRecord;
750
+ }
751
+ interface AthenaAdminEmailTemplateUpdateRequest {
752
+ id: string;
753
+ template_key?: string;
754
+ event_type?: string;
755
+ locale?: string;
756
+ subject_template?: string;
757
+ text_template?: string | null;
758
+ html_template?: string | null;
759
+ /**
760
+ * Optional React Email render input. When provided, `html_template` is derived automatically.
761
+ */
762
+ react?: AthenaAuthReactEmailRenderInput;
763
+ variables?: string[];
764
+ variable_bindings?: AthenaAuthEmailTemplateVariableBinding[];
765
+ attachments?: string | AthenaAuthEmailTemplateAttachment | AthenaAuthEmailTemplateAttachment[];
766
+ attachment_failure_mode?: 'fail' | 'skip';
767
+ is_active?: boolean;
768
+ metadata?: AthenaAuthLooseRecord;
769
+ }
770
+ interface AthenaAdminEmailTemplateDeleteRequest {
771
+ id: string;
772
+ }
773
+ interface AthenaAdminEmailTemplateGetQuery {
774
+ id: string;
775
+ }
776
+ interface AthenaAdminEmailTemplateGetResponse {
777
+ email_template?: AthenaAdminEmailTemplateRecord;
778
+ }
779
+ interface AthenaAdminEmailTemplateSendRequest {
780
+ template_id: string;
781
+ recipient_email: string;
782
+ render_variables?: AthenaAuthLooseRecord;
783
+ user_id?: string;
784
+ organization_id?: string;
785
+ session_token?: string;
786
+ attachments?: string | AthenaAuthEmailTemplateAttachment | AthenaAuthEmailTemplateAttachment[];
787
+ attachment_failure_mode?: 'fail' | 'skip';
788
+ metadata?: AthenaAuthLooseRecord;
789
+ }
790
+ interface AthenaAdminEmailTemplateSendResponse {
791
+ success: boolean;
792
+ flow?: string | null;
793
+ template_id?: string | null;
794
+ template_key?: string | null;
795
+ event_type?: string | null;
796
+ recipient_email?: string | null;
797
+ subject?: string | null;
798
+ attachment_count?: number | null;
799
+ delivery_metadata?: AthenaAuthLooseRecord | null;
800
+ email_send_failure_id?: string | null;
801
+ error?: string | null;
802
+ }
803
+ interface AthenaAdminEmailEventTypeRecord {
804
+ event_type: string;
805
+ label?: string | null;
806
+ description?: string | null;
807
+ }
808
+ interface AthenaAdminEmailEventTypeListResponse {
809
+ event_types?: AthenaAdminEmailEventTypeRecord[];
810
+ }
811
+ interface AthenaApiKeyCreateRequest {
812
+ name?: string;
813
+ expiresIn: string;
814
+ userId?: string;
815
+ prefix?: string;
816
+ remaining: string;
817
+ metadata?: string;
818
+ refillAmount?: string;
819
+ refillInterval?: string;
820
+ rateLimitTimeWindow?: string;
821
+ rateLimitMax?: string;
822
+ rateLimitEnabled?: string;
823
+ permissions?: string;
824
+ }
825
+ interface AthenaApiKeyRecord {
826
+ id: string;
827
+ name?: string | null;
828
+ start?: string | null;
829
+ prefix?: string | null;
830
+ userId: string;
831
+ refillInterval?: number | null;
832
+ refillAmount?: number | null;
833
+ lastRefillAt?: string | null;
834
+ enabled: boolean;
835
+ rateLimitEnabled: boolean;
836
+ rateLimitTimeWindow?: number | null;
837
+ rateLimitMax?: number | null;
838
+ requestCount: number;
839
+ remaining?: number | null;
840
+ lastRequest?: string | null;
841
+ expiresAt?: string | null;
842
+ createdAt: string;
843
+ updatedAt: string;
844
+ metadata?: AthenaAuthLooseRecord | null;
845
+ permissions?: string | null;
846
+ key?: string;
847
+ }
848
+ interface AthenaApiKeyGetQuery {
849
+ id?: string;
850
+ }
851
+ interface AthenaApiKeyUpdateRequest {
852
+ keyId: string;
853
+ userId?: string;
854
+ name?: string;
855
+ enabled?: string;
856
+ remaining?: string;
857
+ refillAmount?: string;
858
+ refillInterval?: string;
859
+ metadata?: string;
860
+ expiresIn: string;
861
+ rateLimitEnabled?: string;
862
+ rateLimitTimeWindow?: string;
863
+ rateLimitMax?: string;
864
+ permissions: string;
865
+ }
866
+ interface AthenaApiKeyDeleteRequest {
867
+ keyId: string;
868
+ }
869
+ interface AthenaApiKeyVerifyRequest {
870
+ key: string;
871
+ permissions?: AthenaAuthLooseRecord;
872
+ }
873
+ interface AthenaApiKeyVerifyResponse {
874
+ valid?: boolean;
875
+ error?: {
876
+ message?: string;
877
+ code?: string;
878
+ } | null;
879
+ key?: AthenaAuthLooseRecord | null;
880
+ }
881
+ interface AthenaApiKeyDeleteAllExpiredResponse {
882
+ deleted?: number;
883
+ }
884
+ interface AthenaAuthOrganizationCreateRequest {
885
+ name: string;
886
+ slug: string;
887
+ logo?: string;
888
+ metadata?: Record<string, unknown>;
889
+ userId?: string;
890
+ keepCurrentActiveOrganization?: boolean;
891
+ }
892
+ interface AthenaAuthOrganizationCheckSlugRequest {
893
+ slug: string;
894
+ }
895
+ interface AthenaAuthOrganizationSetActiveRequest {
896
+ organizationId?: string | null;
897
+ organizationSlug?: string | null;
898
+ }
899
+ interface AthenaAuthOrganizationGetFullQuery {
900
+ organizationId?: string;
901
+ organizationSlug?: string;
902
+ membersLimit?: number;
903
+ membersOffset?: number;
904
+ invitationsLimit?: number;
905
+ invitationsOffset?: number;
906
+ }
907
+ interface AthenaAuthOrganizationUpdateRequest {
908
+ data: {
909
+ name?: string;
910
+ slug?: string;
911
+ logo?: string;
912
+ metadata?: Record<string, unknown> | null;
913
+ };
914
+ organizationId?: string;
915
+ }
916
+ interface AthenaAuthOrganizationDeleteRequest {
917
+ organizationId: string;
918
+ }
919
+ interface AthenaAuthOrganizationInviteMemberRequest {
920
+ email: string;
921
+ role: string | string[];
922
+ organizationId?: string;
923
+ resend?: boolean;
924
+ teamId?: string;
925
+ }
926
+ interface AthenaAuthOrganizationInvitationActionRequest {
927
+ invitationId: string;
928
+ }
929
+ interface AthenaAuthOrganizationGetInvitationQuery {
930
+ id: string;
931
+ }
932
+ interface AthenaAuthOrganizationListInvitationsQuery {
933
+ organizationId?: string;
934
+ limit?: number;
935
+ offset?: number;
936
+ }
937
+ interface AthenaAuthOrganizationListUserInvitationsQuery {
938
+ email?: string;
939
+ }
940
+ type AthenaAuthOrganizationListMembersFilterOperator = AthenaAuthFilterOperator;
941
+ interface AthenaAuthOrganizationListMembersQuery {
942
+ organizationId?: string;
943
+ limit?: number;
944
+ offset?: number;
945
+ sortBy?: string;
946
+ sortDirection?: 'asc' | 'desc';
947
+ filterField?: string;
948
+ filterOperator?: AthenaAuthOrganizationListMembersFilterOperator;
949
+ filterValue?: string | number | boolean | string[] | number[];
950
+ }
951
+ interface AthenaAuthOrganizationRemoveMemberRequest {
952
+ memberIdOrEmail: string;
953
+ organizationId?: string;
954
+ }
955
+ interface AthenaAuthOrganizationUpdateMemberRoleRequest {
956
+ role: string | string[];
957
+ memberId: string;
958
+ organizationId?: string;
959
+ }
960
+ interface AthenaAuthOrganizationLeaveRequest {
961
+ organizationId: string;
962
+ }
963
+ interface AthenaAuthRequestInput {
964
+ endpoint: AthenaAuthEndpointPath;
965
+ method?: AthenaAuthMethod;
966
+ body?: unknown;
967
+ query?: Record<string, AthenaAuthQueryValue>;
968
+ fetchOptions?: AthenaAuthCallOptions;
969
+ }
970
+ interface AthenaAuthCallOptions {
971
+ baseUrl?: string;
972
+ apiKey?: string;
973
+ bearerToken?: string;
974
+ cookie?: string;
975
+ sessionToken?: string;
976
+ forceNoCache?: boolean;
977
+ headers?: Record<string, string>;
978
+ credentials?: AthenaAuthCredentials;
979
+ signal?: AbortSignal;
980
+ }
981
+ interface AthenaAuthFetchCompatibleInput {
982
+ fetchOptions?: AthenaAuthCallOptions;
983
+ }
984
+ interface AthenaAuthClientConfig extends AthenaAuthCallOptions {
985
+ fetch?: typeof fetch;
986
+ reactEmail?: AthenaAuthReactEmailConfig;
987
+ }
988
+ type AthenaAuthGuardReason = 'unauthorized' | 'forbidden' | 'upstream_error';
989
+ interface AthenaAuthGuardSuccess {
990
+ ok: true;
991
+ session: AthenaAuthSessionResponse;
992
+ }
993
+ interface AthenaAuthGuardFailure {
994
+ ok: false;
995
+ reason: AthenaAuthGuardReason;
996
+ status: number;
997
+ error: string;
998
+ sessionResult?: AthenaAuthResult<AthenaAuthSessionResponse>;
999
+ permissionResult?: AthenaAuthResult<AthenaAdminHasPermissionResponse>;
1000
+ }
1001
+ type AthenaAuthGuardResult = AthenaAuthGuardSuccess | AthenaAuthGuardFailure;
1002
+ interface AthenaAuthEmailTemplateDefinition<TProps extends AthenaAuthReactEmailProps = AthenaAuthReactEmailProps> {
1003
+ component: AthenaAuthReactEmailComponent<TProps>;
1004
+ templateKey?: string;
1005
+ subjectTemplate?: string;
1006
+ defaults?: AthenaAuthReactEmailRenderOptions;
1007
+ }
1008
+ interface AthenaAuthEmailTemplateReactOverrides {
1009
+ pretty?: boolean;
1010
+ text?: string;
1011
+ includePlainText?: boolean;
1012
+ }
1013
+ interface AthenaAuthEmailTemplateCreateFromDefinitionInput<TProps extends AthenaAuthReactEmailProps = AthenaAuthReactEmailProps> extends Omit<AthenaAdminEmailTemplateCreateRequest, 'react' | 'htmlTemplate' | 'textTemplate' | 'variables' | 'templateKey' | 'subjectTemplate'> {
1014
+ props: TProps;
1015
+ templateKey?: string;
1016
+ subjectTemplate?: string;
1017
+ react?: AthenaAuthEmailTemplateReactOverrides;
1018
+ }
1019
+ interface AthenaAuthEmailTemplateUpdateFromDefinitionInput<TProps extends AthenaAuthReactEmailProps = AthenaAuthReactEmailProps> extends Omit<AthenaAdminEmailTemplateUpdateRequest, 'react' | 'htmlTemplate' | 'textTemplate' | 'variables'> {
1020
+ props: TProps;
1021
+ react?: AthenaAuthEmailTemplateReactOverrides;
1022
+ }
1023
+ interface AthenaAuthEmailTemplateBuilder<TProps extends AthenaAuthReactEmailProps = AthenaAuthReactEmailProps> {
1024
+ component: AthenaAuthReactEmailComponent<TProps>;
1025
+ react: (props: TProps, overrides?: AthenaAuthEmailTemplateReactOverrides) => AthenaAuthReactEmailRenderInput;
1026
+ toTemplateCreate: (input: AthenaAuthEmailTemplateCreateFromDefinitionInput<TProps>) => AthenaAdminEmailTemplateCreateRequest;
1027
+ toTemplateUpdate: (input: AthenaAuthEmailTemplateUpdateFromDefinitionInput<TProps>) => AthenaAdminEmailTemplateUpdateRequest;
1028
+ }
1029
+ type AthenaAuthGenericInput = AthenaAuthFetchCompatibleInput & Record<string, unknown>;
1030
+ type AthenaAuthGenericQueryInput = AthenaAuthFetchCompatibleInput & {
1031
+ query?: Record<string, AthenaAuthQueryValue>;
1032
+ };
1033
+ type AthenaAuthResetPasswordBinding = ((input: AthenaResetPasswordRequest & AthenaAuthFetchCompatibleInput, options?: AthenaAuthCallOptions) => Promise<AthenaAuthResult<AthenaAuthStatusResponse>>) & {
1034
+ token: (input: {
1035
+ token: string;
1036
+ callbackURL?: string;
1037
+ } & AthenaAuthFetchCompatibleInput, options?: AthenaAuthCallOptions) => Promise<AthenaAuthResult<{
1038
+ token?: string;
1039
+ }>>;
1040
+ };
1041
+ type AthenaAuthSessionRevokeBinding = (input: (AthenaAuthRevokeSessionRequest & AthenaAuthFetchCompatibleInput) | (AthenaAuthRevokeSessionRequest[] & AthenaAuthFetchCompatibleInput), options?: AthenaAuthCallOptions) => Promise<AthenaAuthResult<AthenaAuthStatusResponse>>;
1042
+ type AthenaAuthAdminUserSessionRevokeBinding = (input: (AthenaAdminRevokeUserSessionRequest & AthenaAuthFetchCompatibleInput) | (AthenaAdminRevokeUserSessionsRequest & AthenaAuthFetchCompatibleInput) | ({
1043
+ sessions: AthenaAdminRevokeUserSessionRequest[];
1044
+ } & AthenaAuthFetchCompatibleInput) | ((AthenaAdminRevokeUserSessionRequest & AthenaAuthFetchCompatibleInput)[]), options?: AthenaAuthCallOptions) => Promise<AthenaAuthResult<AthenaAdminSuccessResponse>>;
1045
+ interface AthenaAuthOrganizationBindings {
1046
+ /** Create an organization. Route: `POST /organization/create`. */
1047
+ create: (input: AthenaAuthOrganizationCreateRequest & AthenaAuthFetchCompatibleInput, options?: AthenaAuthCallOptions) => Promise<AthenaAuthResult<AthenaAuthOrganization>>;
1048
+ /** Update an organization. Route: `POST /organization/update`. */
1049
+ update: (input: AthenaAuthOrganizationUpdateRequest & AthenaAuthFetchCompatibleInput, options?: AthenaAuthCallOptions) => Promise<AthenaAuthResult<AthenaAuthOrganization>>;
1050
+ /** Delete an organization. Route: `POST /organization/delete`. */
1051
+ delete: (input: AthenaAuthOrganizationDeleteRequest & AthenaAuthFetchCompatibleInput, options?: AthenaAuthCallOptions) => Promise<AthenaAuthResult<AthenaAuthStatusResponse>>;
1052
+ /** Set active organization for current session. Route: `POST /organization/set-active`. */
1053
+ setActive: (input: AthenaAuthOrganizationSetActiveRequest & AthenaAuthFetchCompatibleInput, options?: AthenaAuthCallOptions) => Promise<AthenaAuthResult<AthenaAuthStatusResponse>>;
1054
+ /** List organizations visible to the current user. Route: `GET /organization/list`. */
1055
+ list: (input?: AthenaAuthFetchCompatibleInput, options?: AthenaAuthCallOptions) => Promise<AthenaAuthResult<AthenaAuthOrganization[]>>;
1056
+ /** Get organization details including related members/invitations. Route: `GET /organization/get-full-organization`. */
1057
+ getFull: (input?: {
1058
+ query?: AthenaAuthOrganizationGetFullQuery;
1059
+ } & AthenaAuthFetchCompatibleInput, options?: AthenaAuthCallOptions) => Promise<AthenaAuthResult<{
1060
+ organization: AthenaAuthOrganization;
1061
+ members?: AthenaAuthOrganizationMember[];
1062
+ invitations?: AthenaAuthOrganizationInvitation[];
1063
+ }>>;
1064
+ /** Check if an organization slug is available. Route: `POST /organization/check-slug`. */
1065
+ checkSlug: (input: AthenaAuthOrganizationCheckSlugRequest & AthenaAuthFetchCompatibleInput, options?: AthenaAuthCallOptions) => Promise<AthenaAuthResult<{
1066
+ available: boolean;
1067
+ }>>;
1068
+ /** Leave an organization. Route: `POST /organization/leave`. */
1069
+ leave: (input: AthenaAuthOrganizationLeaveRequest & AthenaAuthFetchCompatibleInput, options?: AthenaAuthCallOptions) => Promise<AthenaAuthResult<AthenaAuthStatusResponse>>;
1070
+ /** List invitations for the current user. Route: `GET /organization/list-user-invitations`. */
1071
+ listUserInvitations: (input?: {
1072
+ query?: AthenaAuthOrganizationListUserInvitationsQuery;
1073
+ } & AthenaAuthFetchCompatibleInput, options?: AthenaAuthCallOptions) => Promise<AthenaAuthResult<AthenaAuthOrganizationInvitation[]>>;
1074
+ /** Check organization-level permissions for the current principal. Route: `POST /organization/has-permission`. */
1075
+ hasPermission: (input: AthenaAdminHasPermissionRequest & AthenaAuthFetchCompatibleInput, options?: AthenaAuthCallOptions) => Promise<AthenaAuthResult<AthenaAdminHasPermissionResponse>>;
1076
+ /** Resolve the current session and require organization-level permissions in one call. */
1077
+ requirePermission: (input: AthenaAdminHasPermissionRequest & AthenaAuthFetchCompatibleInput, options?: AthenaAuthCallOptions) => Promise<AthenaAuthGuardResult>;
1078
+ invitation: {
1079
+ /** Cancel an organization invitation. Route: `POST /organization/cancel-invitation`. */
1080
+ cancel: (input: AthenaAuthOrganizationInvitationActionRequest & AthenaAuthFetchCompatibleInput, options?: AthenaAuthCallOptions) => Promise<AthenaAuthResult<AthenaAuthStatusResponse>>;
1081
+ /** Accept an organization invitation. Route: `POST /organization/accept-invitation`. */
1082
+ accept: (input: AthenaAuthOrganizationInvitationActionRequest & AthenaAuthFetchCompatibleInput, options?: AthenaAuthCallOptions) => Promise<AthenaAuthResult<AthenaAuthStatusResponse>>;
1083
+ /** Get an invitation by id. Route: `GET /organization/get-invitation`. */
1084
+ get: (input: {
1085
+ query: AthenaAuthOrganizationGetInvitationQuery;
1086
+ } & AthenaAuthFetchCompatibleInput, options?: AthenaAuthCallOptions) => Promise<AthenaAuthResult<AthenaAuthOrganizationInvitation>>;
1087
+ /** Reject an organization invitation. Route: `POST /organization/reject-invitation`. */
1088
+ reject: (input: AthenaAuthOrganizationInvitationActionRequest & AthenaAuthFetchCompatibleInput, options?: AthenaAuthCallOptions) => Promise<AthenaAuthResult<AthenaAuthStatusResponse>>;
1089
+ /** List invitations for an organization. Route: `GET /organization/list-invitations`. */
1090
+ list: (input?: {
1091
+ query?: AthenaAuthOrganizationListInvitationsQuery;
1092
+ } & AthenaAuthFetchCompatibleInput, options?: AthenaAuthCallOptions) => Promise<AthenaAuthResult<AthenaAuthOrganizationInvitation[]>>;
1093
+ };
1094
+ member: {
1095
+ /** Remove an organization member. Route: `POST /organization/remove-member`. */
1096
+ remove: (input: AthenaAuthOrganizationRemoveMemberRequest & AthenaAuthFetchCompatibleInput, options?: AthenaAuthCallOptions) => Promise<AthenaAuthResult<AthenaAuthStatusResponse>>;
1097
+ /** Update a member role. Route: `POST /organization/update-member-role`. */
1098
+ updateRole: (input: AthenaAuthOrganizationUpdateMemberRoleRequest & AthenaAuthFetchCompatibleInput, options?: AthenaAuthCallOptions) => Promise<AthenaAuthResult<AthenaAuthStatusResponse>>;
1099
+ /** Invite a member to an organization. Route: `POST /organization/invite-member`. */
1100
+ invite: (input: AthenaAuthOrganizationInviteMemberRequest & AthenaAuthFetchCompatibleInput, options?: AthenaAuthCallOptions) => Promise<AthenaAuthResult<AthenaAuthOrganizationInvitation>>;
1101
+ /** Get the active organization member context for the current session. Route: `GET /organization/get-active-member`. */
1102
+ getActive: (input?: AthenaAuthFetchCompatibleInput, options?: AthenaAuthCallOptions) => Promise<AthenaAuthResult<AthenaAuthOrganizationMember>>;
1103
+ /** List organization members. Route: `GET /organization/list-members`. */
1104
+ list: (input?: {
1105
+ query?: AthenaAuthOrganizationListMembersQuery;
1106
+ } & AthenaAuthFetchCompatibleInput, options?: AthenaAuthCallOptions) => Promise<AthenaAuthResult<AthenaAuthOrganizationMember[]>>;
1107
+ };
1108
+ }
1109
+ interface AthenaAuthBindings {
1110
+ /** Get current session. Route: `GET /get-session`. */
1111
+ getSession: AthenaAuthSdkClient['getSession'];
1112
+ /** Get current user as a Better Auth-style compatibility projection. Route: `GET /get-session`. */
1113
+ getUser: AthenaAuthSdkClient['getUser'];
1114
+ /** Resolve the current session into a typed guard result. */
1115
+ requireSession: AthenaAuthSdkClient['requireSession'];
1116
+ /** Sign out current session. Route: `POST /sign-out`. */
1117
+ signOut: AthenaAuthSdkClient['signOut'];
1118
+ /** Trigger password reset email flow. Route: `POST /forget-password`. */
1119
+ forgetPassword: AthenaAuthSdkClient['forgetPassword'];
1120
+ /** Reset password (`POST /reset-password`) and token resolver (`GET /reset-password/{token}`). */
1121
+ resetPassword: AthenaAuthResetPasswordBinding;
1122
+ /** Set password for the current authenticated user. Route: `POST /set-password`. */
1123
+ setPassword: (input: AthenaSetPasswordRequest & AthenaAuthFetchCompatibleInput, options?: AthenaAuthCallOptions) => Promise<AthenaAuthResult<AthenaAuthStatusResponse>>;
1124
+ /** Verify email token. Route: `GET /verify-email`. */
1125
+ verifyEmail: AthenaAuthSdkClient['verifyEmail'];
1126
+ /** Send verification email. Route: `POST /send-verification-email`. */
1127
+ sendVerificationEmail: AthenaAuthSdkClient['sendVerificationEmail'];
1128
+ /** Start change-email flow. Route: `POST /change-email`. */
1129
+ changeEmail: AthenaAuthSdkClient['changeEmail'];
1130
+ /** Verify pending email change. Route: `GET /change-email/verify`. */
1131
+ changeEmailVerify: (input: {
1132
+ query: AthenaAuthTokenQuery;
1133
+ } & AthenaAuthFetchCompatibleInput, options?: AthenaAuthCallOptions) => Promise<AthenaAuthResult<AthenaAuthTokenVerificationResponse>>;
1134
+ /** Verify pending delete-user flow. Route: `GET /delete-user/verify`. */
1135
+ deleteUserVerify: (input: {
1136
+ query: AthenaAuthTokenQuery;
1137
+ } & AthenaAuthFetchCompatibleInput, options?: AthenaAuthCallOptions) => Promise<AthenaAuthResult<AthenaAuthTokenVerificationResponse>>;
1138
+ /** Change current user password. Route: `POST /change-password`. */
1139
+ changePassword: AthenaAuthSdkClient['changePassword'];
1140
+ user: {
1141
+ /** Update current user profile fields. Route: `POST /update-user`. */
1142
+ update: AthenaAuthSdkClient['updateUser'];
1143
+ /** Delete current user. Route: `POST /delete-user`. */
1144
+ delete: AthenaAuthSdkClient['deleteUser'];
1145
+ email: {
1146
+ /**
1147
+ * List email identities for current user.
1148
+ * Routes: primary `GET /email/list`; falls back to `GET /email-list` on `404`.
1149
+ */
1150
+ list: (input?: {
1151
+ query?: AthenaAuthEmailListQuery;
1152
+ } & AthenaAuthFetchCompatibleInput, options?: AthenaAuthCallOptions) => Promise<AthenaAuthResult<AthenaAuthEmailListResponse>>;
1153
+ };
1154
+ };
1155
+ session: {
1156
+ /** List user sessions. Route: `GET /list-sessions`. */
1157
+ list: AthenaAuthSdkClient['listSessions'];
1158
+ /** Revoke one or multiple sessions; collapses to `/revoke-session` or `/revoke-sessions` by payload shape. */
1159
+ revoke: AthenaAuthSessionRevokeBinding;
1160
+ /** Revoke all other sessions for current user. Route: `POST /revoke-other-sessions`. */
1161
+ revokeOther: AthenaAuthSdkClient['revokeOtherSessions'];
1162
+ };
1163
+ social: {
1164
+ /** Link a social provider to current user. Route: `POST /link-social`. */
1165
+ link: AthenaAuthSdkClient['linkSocial'];
1166
+ };
1167
+ account: {
1168
+ /** List linked provider accounts. Route: `GET /list-accounts`. */
1169
+ list: AthenaAuthSdkClient['listAccounts'];
1170
+ /** Unlink a provider account. Route: `POST /unlink-account`. */
1171
+ unlink: AthenaAuthSdkClient['unlinkAccount'];
1172
+ };
1173
+ deleteUser: {
1174
+ /** Callback endpoint for delete-user verification flows. Route: `GET /delete-user/callback`. */
1175
+ callback: AthenaAuthSdkClient['deleteUserCallback'];
1176
+ };
1177
+ /** Refresh provider token. Route: `POST /refresh-token`. */
1178
+ refreshToken: AthenaAuthSdkClient['refreshToken'];
1179
+ /** Get provider access token. Route: `POST /get-access-token`. */
1180
+ getAccessToken: AthenaAuthSdkClient['getAccessToken'];
1181
+ /** Auth health route. Primary `GET /health`; falls back to `GET /ok` on `404`. */
1182
+ health: (input?: AthenaAuthFetchCompatibleInput, options?: AthenaAuthCallOptions) => Promise<AthenaAuthResult<AthenaAuthHealthResponse>>;
1183
+ /** Health route passthrough. Route: `GET /ok`. */
1184
+ ok: (input?: AthenaAuthFetchCompatibleInput, options?: AthenaAuthCallOptions) => Promise<AthenaAuthResult<AthenaAuthOkResponse>>;
1185
+ /** Error route passthrough. Route: `GET /error`. */
1186
+ error: (input?: AthenaAuthFetchCompatibleInput, options?: AthenaAuthCallOptions) => Promise<AthenaAuthResult<AthenaAuthErrorResponse | string>>;
1187
+ twoFactor: {
1188
+ /** Get TOTP URI for setup. Route: `POST /two-factor/get-totp-uri`. */
1189
+ getTotpUri: (input: AthenaTwoFactorGetTotpUriRequest & AthenaAuthFetchCompatibleInput, options?: AthenaAuthCallOptions) => Promise<AthenaAuthResult<AthenaTwoFactorGetTotpUriResponse>>;
1190
+ /** Verify TOTP code. Route: `POST /two-factor/verify-totp`. */
1191
+ verifyTotp: (input: AthenaTwoFactorVerifyTotpRequest & AthenaAuthFetchCompatibleInput, options?: AthenaAuthCallOptions) => Promise<AthenaAuthResult<AthenaTwoFactorVerifyTotpResponse>>;
1192
+ /** Send one-time passcode (OTP). Route: `POST /two-factor/send-otp`. */
1193
+ sendOtp: (input?: AthenaAuthFetchCompatibleInput, options?: AthenaAuthCallOptions) => Promise<AthenaAuthResult<AthenaAuthStatusResponse>>;
1194
+ /** Verify OTP code. Route: `POST /two-factor/verify-otp`. */
1195
+ verifyOtp: (input: AthenaTwoFactorVerifyOtpRequest & AthenaAuthFetchCompatibleInput, options?: AthenaAuthCallOptions) => Promise<AthenaAuthResult<AthenaTwoFactorVerifyOtpResponse>>;
1196
+ /** Verify backup code. Route: `POST /two-factor/verify-backup-code`. */
1197
+ verifyBackupCode: (input: AthenaTwoFactorVerifyBackupCodeRequest & AthenaAuthFetchCompatibleInput, options?: AthenaAuthCallOptions) => Promise<AthenaAuthResult<AthenaTwoFactorVerifyBackupCodeResponse>>;
1198
+ /** Generate backup codes. Route: `POST /two-factor/generate-backup-codes`. */
1199
+ generateBackupCodes: (input: AthenaTwoFactorGenerateBackupCodesRequest & AthenaAuthFetchCompatibleInput, options?: AthenaAuthCallOptions) => Promise<AthenaAuthResult<AthenaTwoFactorGenerateBackupCodesResponse>>;
1200
+ /** Enable two-factor auth. Route: `POST /two-factor/enable`. */
1201
+ enable: (input: AthenaTwoFactorEnableRequest & AthenaAuthFetchCompatibleInput, options?: AthenaAuthCallOptions) => Promise<AthenaAuthResult<AthenaTwoFactorEnableResponse>>;
1202
+ /** Disable two-factor auth. Route: `POST /two-factor/disable`. */
1203
+ disable: (input: AthenaTwoFactorDisableRequest & AthenaAuthFetchCompatibleInput, options?: AthenaAuthCallOptions) => Promise<AthenaAuthResult<AthenaTwoFactorDisableResponse>>;
1204
+ };
1205
+ passkey: {
1206
+ /** Generate WebAuthn registration options. Route: `GET /passkey/generate-register-options`. */
1207
+ generateRegisterOptions: (input?: AthenaAuthFetchCompatibleInput, options?: AthenaAuthCallOptions) => Promise<AthenaAuthResult<AthenaPasskeyOptionsResponse>>;
1208
+ /** Generate WebAuthn authentication options. Route: `POST /passkey/generate-authenticate-options`. */
1209
+ generateAuthenticateOptions: (input?: AthenaAuthFetchCompatibleInput, options?: AthenaAuthCallOptions) => Promise<AthenaAuthResult<AthenaPasskeyOptionsResponse>>;
1210
+ /** Verify passkey registration response. Route: `POST /passkey/verify-registration`. */
1211
+ verifyRegistration: (input: AthenaPasskeyVerifyRegistrationRequest & AthenaAuthFetchCompatibleInput, options?: AthenaAuthCallOptions) => Promise<AthenaAuthResult<AthenaPasskeyRecord>>;
1212
+ /** Verify passkey authentication response. Route: `POST /passkey/verify-authentication`. */
1213
+ verifyAuthentication: (input: AthenaPasskeyVerifyAuthenticationRequest & AthenaAuthFetchCompatibleInput, options?: AthenaAuthCallOptions) => Promise<AthenaAuthResult<AthenaPasskeyVerifyAuthenticationResponse>>;
1214
+ /** List current user's passkeys. Route: `GET /passkey/list-user-passkeys`. */
1215
+ listUserPasskeys: (input?: AthenaAuthFetchCompatibleInput, options?: AthenaAuthCallOptions) => Promise<AthenaAuthResult<AthenaPasskeyRecord[]>>;
1216
+ /** Delete a passkey. Route: `POST /passkey/delete-passkey`. */
1217
+ deletePasskey: (input: AthenaPasskeyDeleteRequest & AthenaAuthFetchCompatibleInput, options?: AthenaAuthCallOptions) => Promise<AthenaAuthResult<AthenaPasskeyDeleteResponse>>;
1218
+ /** Update a passkey metadata record. Route: `POST /passkey/update-passkey`. */
1219
+ updatePasskey: (input: AthenaPasskeyUpdateRequest & AthenaAuthFetchCompatibleInput, options?: AthenaAuthCallOptions) => Promise<AthenaAuthResult<AthenaPasskeyUpdateResponse>>;
1220
+ /** Return related origins for WebAuthn. Route: `GET /.well-known/webauthn`. */
1221
+ getRelatedOrigins: (input?: AthenaAuthFetchCompatibleInput, options?: AthenaAuthCallOptions) => Promise<AthenaAuthResult<{
1222
+ origins?: string[];
1223
+ }>>;
1224
+ };
1225
+ admin: {
1226
+ role: {
1227
+ /** Set a user role. Route: `POST /admin/set-role`. */
1228
+ set: (input: AthenaAdminSetRoleRequest & AthenaAuthFetchCompatibleInput, options?: AthenaAuthCallOptions) => Promise<AthenaAuthResult<AthenaAdminUserResponse>>;
1229
+ };
1230
+ user: {
1231
+ /** List users. Route: `GET /admin/list-users`. */
1232
+ list: (input?: {
1233
+ query?: AthenaAdminListUsersQuery;
1234
+ } & AthenaAuthFetchCompatibleInput, options?: AthenaAuthCallOptions) => Promise<AthenaAuthResult<AthenaAdminListUsersResponse>>;
1235
+ /** Create user. Route: `POST /admin/create-user`. */
1236
+ create: (input: AthenaAdminCreateUserRequest & AthenaAuthFetchCompatibleInput, options?: AthenaAuthCallOptions) => Promise<AthenaAuthResult<AthenaAdminUserResponse>>;
1237
+ /** Unban user. Route: `POST /admin/unban-user`. */
1238
+ unban: (input: AthenaAdminTargetUserRequest & AthenaAuthFetchCompatibleInput, options?: AthenaAuthCallOptions) => Promise<AthenaAuthResult<AthenaAdminUserResponse>>;
1239
+ /** Ban user. Route: `POST /admin/ban-user`. */
1240
+ ban: (input: AthenaAdminBanUserRequest & AthenaAuthFetchCompatibleInput, options?: AthenaAuthCallOptions) => Promise<AthenaAuthResult<AthenaAdminUserResponse>>;
1241
+ /** Start impersonation. Route: `POST /admin/impersonate-user`. */
1242
+ impersonate: (input: AthenaAdminTargetUserRequest & AthenaAuthFetchCompatibleInput, options?: AthenaAuthCallOptions) => Promise<AthenaAuthResult<AthenaAdminImpersonateResponse>>;
1243
+ /** Stop impersonation. Route: `POST /admin/stop-impersonating`. */
1244
+ stopImpersonating: (input?: AthenaAdminStopImpersonatingRequest & AthenaAuthFetchCompatibleInput, options?: AthenaAuthCallOptions) => Promise<AthenaAuthResult<AthenaAuthLooseRecord>>;
1245
+ /** Remove user. Route: `POST /admin/remove-user`. */
1246
+ remove: (input: AthenaAdminTargetUserRequest & AthenaAuthFetchCompatibleInput, options?: AthenaAuthCallOptions) => Promise<AthenaAuthResult<AthenaAdminSuccessResponse>>;
1247
+ /** Set user password. Route: `POST /admin/set-user-password`. */
1248
+ setPassword: (input: AthenaAdminSetUserPasswordRequest & AthenaAuthFetchCompatibleInput, options?: AthenaAuthCallOptions) => Promise<AthenaAuthResult<AthenaAuthStatusResponse>>;
1249
+ session: {
1250
+ /** List sessions for a target user. Route: `POST /admin/list-user-sessions`. */
1251
+ list: (input: AthenaAdminListUserSessionsRequest & AthenaAuthFetchCompatibleInput, options?: AthenaAuthCallOptions) => Promise<AthenaAuthResult<AthenaAdminListUserSessionsResponse>>;
1252
+ /**
1253
+ * Revoke one or multiple sessions; collapses to `/admin/revoke-user-session` or
1254
+ * `/admin/revoke-user-sessions`. `userId` is required and plural payloads must share one `userId`.
1255
+ */
1256
+ revoke: AthenaAuthAdminUserSessionRevokeBinding;
1257
+ };
1258
+ };
1259
+ /** Check permission under admin policy. Route: `POST /admin/has-permission`. */
1260
+ hasPermission: (input: AthenaAdminHasPermissionRequest & AthenaAuthFetchCompatibleInput, options?: AthenaAuthCallOptions) => Promise<AthenaAuthResult<AthenaAdminHasPermissionResponse>>;
1261
+ /** Resolve the current session and require admin permissions in one call. */
1262
+ requirePermission: (input: AthenaAdminHasPermissionRequest & AthenaAuthFetchCompatibleInput, options?: AthenaAuthCallOptions) => Promise<AthenaAuthGuardResult>;
1263
+ apiKey: {
1264
+ /** Create admin-scoped API key. Route: `POST /admin/api-key/create`. */
1265
+ create: (input?: AthenaAdminApiKeyCreateRequest & AthenaAuthFetchCompatibleInput, options?: AthenaAuthCallOptions) => Promise<AthenaAuthResult<AthenaAdminApiKeyCreateResponse>>;
1266
+ };
1267
+ athenaClient: {
1268
+ /** Create Athena client credentials. Route: `POST /admin/athena-client/create`. */
1269
+ create: (input: AthenaAdminAthenaClientCreateRequest & AthenaAuthFetchCompatibleInput, options?: AthenaAuthCallOptions) => Promise<AthenaAuthResult<AthenaAuthLooseRecord>>;
1270
+ /** List Athena client credentials. Route: `GET /admin/athena-client/list`. */
1271
+ list: (input?: AthenaAuthFetchCompatibleInput, options?: AthenaAuthCallOptions) => Promise<AthenaAuthResult<AthenaAdminAthenaClientListResponse>>;
1272
+ };
1273
+ auditLog: {
1274
+ /** List auth audit events. Route: `GET /admin/audit-log/list`. */
1275
+ list: (input?: {
1276
+ query?: AthenaAdminAuditLogListQuery;
1277
+ } & AthenaAuthFetchCompatibleInput, options?: AthenaAuthCallOptions) => Promise<AthenaAuthResult<AthenaAdminAuditLogListResponse>>;
1278
+ };
1279
+ email: {
1280
+ /** List emails. Route: `GET /admin/email/list`. */
1281
+ list: (input?: {
1282
+ query?: AthenaAdminEmailListQuery;
1283
+ } & AthenaAuthFetchCompatibleInput, options?: AthenaAuthCallOptions) => Promise<AthenaAuthResult<AthenaAdminEmailListResponse>>;
1284
+ /** Get a specific email record. Route: `GET /admin/email/get`. */
1285
+ get: (input: {
1286
+ query: AthenaAdminEmailGetQuery;
1287
+ } & AthenaAuthFetchCompatibleInput, options?: AthenaAuthCallOptions) => Promise<AthenaAuthResult<AthenaAdminEmailGetResponse>>;
1288
+ /** Create an email record. Route: `POST /admin/email/create`. */
1289
+ create: (input: AthenaAdminEmailCreateRequest & AthenaAuthFetchCompatibleInput, options?: AthenaAuthCallOptions) => Promise<AthenaAuthResult<AthenaAdminSuccessResponse>>;
1290
+ /** Update an email record. Route: `POST /admin/email/update`. */
1291
+ update: (input: AthenaAdminEmailUpdateRequest & AthenaAuthFetchCompatibleInput, options?: AthenaAuthCallOptions) => Promise<AthenaAuthResult<AthenaAdminEmailUpdateResponse>>;
1292
+ /** Delete an email record. Route: `POST /admin/email/delete`. */
1293
+ delete: (input: AthenaAdminEmailDeleteRequest & AthenaAuthFetchCompatibleInput, options?: AthenaAuthCallOptions) => Promise<AthenaAuthResult<AthenaAdminSuccessResponse>>;
1294
+ failure: {
1295
+ /** List email failure records. Route: `GET /admin/email-failure/list`. */
1296
+ list: (input?: {
1297
+ query?: AthenaAdminEmailFailureListQuery;
1298
+ } & AthenaAuthFetchCompatibleInput, options?: AthenaAuthCallOptions) => Promise<AthenaAuthResult<AthenaAdminEmailFailureListResponse>>;
1299
+ /** Get an email failure record. Route: `GET /admin/email-failure/get`. */
1300
+ get: (input: {
1301
+ query: AthenaAdminEmailFailureGetQuery;
1302
+ } & AthenaAuthFetchCompatibleInput, options?: AthenaAuthCallOptions) => Promise<AthenaAuthResult<AthenaAdminEmailFailureGetResponse>>;
1303
+ /** Create an email failure record. Route: `POST /admin/email-failure/create`. */
1304
+ create: (input: AthenaAdminEmailFailureCreateRequest & AthenaAuthFetchCompatibleInput, options?: AthenaAuthCallOptions) => Promise<AthenaAuthResult<AthenaAdminSuccessResponse>>;
1305
+ /** Update an email failure record. Route: `POST /admin/email-failure/update`. */
1306
+ update: (input: AthenaAdminEmailFailureUpdateRequest & AthenaAuthFetchCompatibleInput, options?: AthenaAuthCallOptions) => Promise<AthenaAuthResult<AthenaAdminEmailFailureUpdateResponse>>;
1307
+ /** Delete an email failure record. Route: `POST /admin/email-failure/delete`. */
1308
+ delete: (input: AthenaAdminEmailFailureDeleteRequest & AthenaAuthFetchCompatibleInput, options?: AthenaAuthCallOptions) => Promise<AthenaAuthResult<AthenaAdminSuccessResponse>>;
1309
+ };
1310
+ template: {
1311
+ /** List email templates. Route: `GET /admin/email-template/list`. */
1312
+ list: (input?: {
1313
+ query?: AthenaAdminEmailTemplateListQuery;
1314
+ } & AthenaAuthFetchCompatibleInput, options?: AthenaAuthCallOptions) => Promise<AthenaAuthResult<AthenaAdminEmailTemplateListResponse>>;
1315
+ /** Get email template by ID. Route: `GET /admin/email-template/get`. */
1316
+ get: (input: {
1317
+ query: AthenaAdminEmailTemplateGetQuery;
1318
+ } & AthenaAuthFetchCompatibleInput, options?: AthenaAuthCallOptions) => Promise<AthenaAuthResult<AthenaAdminEmailTemplateGetResponse>>;
1319
+ /** Create email template. Route: `POST /admin/email-template/create`. */
1320
+ create: (input: AthenaAdminEmailTemplateCreateRequest & AthenaAuthFetchCompatibleInput, options?: AthenaAuthCallOptions) => Promise<AthenaAuthResult<AthenaAdminEmailTemplateRecord>>;
1321
+ /** Update email template. Route: `POST /admin/email-template/update`. */
1322
+ update: (input: AthenaAdminEmailTemplateUpdateRequest & AthenaAuthFetchCompatibleInput, options?: AthenaAuthCallOptions) => Promise<AthenaAuthResult<AthenaAdminEmailTemplateRecord>>;
1323
+ /** Delete email template. Route: `POST /admin/email-template/delete`. */
1324
+ delete: (input: AthenaAdminEmailTemplateDeleteRequest & AthenaAuthFetchCompatibleInput, options?: AthenaAuthCallOptions) => Promise<AthenaAuthResult<AthenaAdminSuccessResponse>>;
1325
+ /** Send one stored email template. Route: `POST /admin/email-template/send`. */
1326
+ send: (input: AthenaAdminEmailTemplateSendRequest & AthenaAuthFetchCompatibleInput, options?: AthenaAuthCallOptions) => Promise<AthenaAuthResult<AthenaAdminEmailTemplateSendResponse>>;
1327
+ };
1328
+ eventType: {
1329
+ /** List canonical admin email event types. Route: `GET /admin/email-event-type/list`. */
1330
+ list: (input?: AthenaAuthFetchCompatibleInput, options?: AthenaAuthCallOptions) => Promise<AthenaAuthResult<AthenaAdminEmailEventTypeListResponse>>;
1331
+ };
1332
+ };
1333
+ emailTemplate: {
1334
+ /** Get email template by ID. Route: `GET /admin/email-template/get`. */
1335
+ get: (input: {
1336
+ query: AthenaAdminEmailTemplateGetQuery;
1337
+ } & AthenaAuthFetchCompatibleInput, options?: AthenaAuthCallOptions) => Promise<AthenaAuthResult<AthenaAdminEmailTemplateGetResponse>>;
1338
+ /** Create email template. Route: `POST /admin/email-template/create`. */
1339
+ create: (input: AthenaAdminEmailTemplateCreateRequest & AthenaAuthFetchCompatibleInput, options?: AthenaAuthCallOptions) => Promise<AthenaAuthResult<AthenaAdminEmailTemplateRecord>>;
1340
+ /** Delete email template. Route: `POST /admin/email-template/delete`. */
1341
+ delete: (input: AthenaAdminEmailTemplateDeleteRequest & AthenaAuthFetchCompatibleInput, options?: AthenaAuthCallOptions) => Promise<AthenaAuthResult<AthenaAdminSuccessResponse>>;
1342
+ /** List email templates. Route: `GET /admin/email-template/list`. */
1343
+ list: (input?: {
1344
+ query?: AthenaAdminEmailTemplateListQuery;
1345
+ } & AthenaAuthFetchCompatibleInput, options?: AthenaAuthCallOptions) => Promise<AthenaAuthResult<AthenaAdminEmailTemplateListResponse>>;
1346
+ /** Update email template. Route: `POST /admin/email-template/update`. */
1347
+ update: (input: AthenaAdminEmailTemplateUpdateRequest & AthenaAuthFetchCompatibleInput, options?: AthenaAuthCallOptions) => Promise<AthenaAuthResult<AthenaAdminEmailTemplateRecord>>;
1348
+ /** Send one stored email template. Route: `POST /admin/email-template/send`. */
1349
+ send: (input: AthenaAdminEmailTemplateSendRequest & AthenaAuthFetchCompatibleInput, options?: AthenaAuthCallOptions) => Promise<AthenaAuthResult<AthenaAdminEmailTemplateSendResponse>>;
1350
+ };
1351
+ emailEventType: {
1352
+ /** List canonical admin email event types. Route: `GET /admin/email-event-type/list`. */
1353
+ list: (input?: AthenaAuthFetchCompatibleInput, options?: AthenaAuthCallOptions) => Promise<AthenaAuthResult<AthenaAdminEmailEventTypeListResponse>>;
1354
+ };
1355
+ };
1356
+ apiKey: {
1357
+ /** Create API key. Route: `POST /api-key/create`. */
1358
+ create: (input: AthenaApiKeyCreateRequest & AthenaAuthFetchCompatibleInput, options?: AthenaAuthCallOptions) => Promise<AthenaAuthResult<AthenaApiKeyRecord>>;
1359
+ /** Get API key metadata. Route: `GET /api-key/get`. */
1360
+ get: (input?: {
1361
+ query?: AthenaApiKeyGetQuery;
1362
+ } & AthenaAuthFetchCompatibleInput, options?: AthenaAuthCallOptions) => Promise<AthenaAuthResult<AthenaApiKeyRecord>>;
1363
+ /** Update API key metadata. Route: `POST /api-key/update`. */
1364
+ update: (input: AthenaApiKeyUpdateRequest & AthenaAuthFetchCompatibleInput, options?: AthenaAuthCallOptions) => Promise<AthenaAuthResult<AthenaApiKeyRecord>>;
1365
+ /** Delete API key. Route: `POST /api-key/delete`. */
1366
+ delete: (input: AthenaApiKeyDeleteRequest & AthenaAuthFetchCompatibleInput, options?: AthenaAuthCallOptions) => Promise<AthenaAuthResult<AthenaAdminSuccessResponse>>;
1367
+ /** List API keys. Route: `GET /api-key/list`. */
1368
+ list: (input?: AthenaAuthFetchCompatibleInput, options?: AthenaAuthCallOptions) => Promise<AthenaAuthResult<AthenaApiKeyRecord[]>>;
1369
+ /** Verify an API key. Route: `POST /api-key/verify`. */
1370
+ verify: (input: AthenaApiKeyVerifyRequest & AthenaAuthFetchCompatibleInput, options?: AthenaAuthCallOptions) => Promise<AthenaAuthResult<AthenaApiKeyVerifyResponse>>;
1371
+ /** Delete all expired API keys. Route: `POST /api-key/delete-all-expired-api-keys`. */
1372
+ deleteAllExpired: (input?: AthenaAuthFetchCompatibleInput, options?: AthenaAuthCallOptions) => Promise<AthenaAuthResult<AthenaApiKeyDeleteAllExpiredResponse>>;
1373
+ };
1374
+ signIn: {
1375
+ /** Sign in with email and password. Route: `POST /sign-in/email`. */
1376
+ email: AthenaAuthSdkClient['signIn']['email'];
1377
+ /** Sign in with username and password. Route: `POST /sign-in/username`. */
1378
+ username: AthenaAuthSdkClient['signIn']['username'];
1379
+ /** Sign in with social provider. Route: `POST /sign-in/social`. */
1380
+ social: AthenaAuthSdkClient['signIn']['social'];
1381
+ };
1382
+ signUp: {
1383
+ /** Sign up with email/password identity. Route: `POST /sign-up/email`. */
1384
+ email: AthenaAuthSdkClient['signUp']['email'];
1385
+ };
1386
+ /** Organization plugin helper surface. Routes: `/organization/*`. */
1387
+ organization: AthenaAuthOrganizationBindings;
1388
+ callback: {
1389
+ /** OAuth provider callback passthrough. Route: `GET /callback/{provider}`. */
1390
+ provider: (input: AthenaAuthCallbackProviderRequest & AthenaAuthFetchCompatibleInput, options?: AthenaAuthCallOptions) => Promise<AthenaAuthResult<AthenaAuthCallbackProviderResponse>>;
1391
+ };
1392
+ }
1393
+ /**
1394
+ * Full Athena Auth client instance (return type of {@link createAuthClient}).
1395
+ *
1396
+ * Prefer the short alias {@link AuthClient} when typing React props/hooks
1397
+ * (same role as `AuthClient` from `@better-auth-ui/react`).
1398
+ *
1399
+ * For `createClient(...).auth` only, use {@link AthenaAuthBindings} /
1400
+ * {@link AuthBindings}.
1401
+ */
1402
+ interface AthenaAuthSdkClient {
1403
+ baseUrl: string;
1404
+ request: <T = unknown>(input: AthenaAuthRequestInput, options?: AthenaAuthCallOptions) => Promise<AthenaAuthResult<T>>;
1405
+ signIn: {
1406
+ email: (input: AthenaEmailSignInRequest & AthenaAuthFetchCompatibleInput, options?: AthenaAuthCallOptions) => Promise<AthenaAuthResult<AthenaAuthSignInResponse>>;
1407
+ username: (input: AthenaUsernameSignInRequest & AthenaAuthFetchCompatibleInput, options?: AthenaAuthCallOptions) => Promise<AthenaAuthResult<AthenaAuthSignInResponse>>;
1408
+ social: (input: AthenaSocialSignInRequest & AthenaAuthFetchCompatibleInput, options?: AthenaAuthCallOptions) => Promise<AthenaAuthResult<AthenaAuthSocialRedirectResponse | AthenaAuthSignInResponse>>;
1409
+ };
1410
+ signUp: {
1411
+ email: (input: AthenaEmailSignUpRequest & AthenaAuthFetchCompatibleInput, options?: AthenaAuthCallOptions) => Promise<AthenaAuthResult<AthenaAuthSignInResponse>>;
1412
+ };
1413
+ signOut: (input?: AthenaAuthFetchCompatibleInput, options?: AthenaAuthCallOptions) => Promise<AthenaAuthResult<AthenaAuthSignOutResponse>>;
1414
+ logout: (input?: AthenaAuthFetchCompatibleInput, options?: AthenaAuthCallOptions) => Promise<AthenaAuthResult<AthenaAuthSignOutResponse>>;
1415
+ getSession: (input?: AthenaAuthFetchCompatibleInput, options?: AthenaAuthCallOptions) => Promise<AthenaAuthResult<AthenaAuthSessionResponse>>;
1416
+ getUser: (input?: AthenaAuthFetchCompatibleInput, options?: AthenaAuthCallOptions) => Promise<AthenaAuthResult<AthenaAuthGetUserResponse>>;
1417
+ requireSession: (input?: AthenaAuthFetchCompatibleInput, options?: AthenaAuthCallOptions) => Promise<AthenaAuthGuardResult>;
1418
+ listSessions: (input?: AthenaAuthFetchCompatibleInput, options?: AthenaAuthCallOptions) => Promise<AthenaAuthResult<AthenaAuthSession[]>>;
1419
+ revokeSession: (input: AthenaAuthRevokeSessionRequest & AthenaAuthFetchCompatibleInput, options?: AthenaAuthCallOptions) => Promise<AthenaAuthResult<AthenaAuthStatusResponse>>;
1420
+ clearSession: (input: AthenaAuthRevokeSessionRequest & AthenaAuthFetchCompatibleInput, options?: AthenaAuthCallOptions) => Promise<AthenaAuthResult<AthenaAuthStatusResponse>>;
1421
+ revokeSessions: (input?: AthenaAuthFetchCompatibleInput, options?: AthenaAuthCallOptions) => Promise<AthenaAuthResult<AthenaAuthStatusResponse>>;
1422
+ clearSessions: (input?: AthenaAuthFetchCompatibleInput, options?: AthenaAuthCallOptions) => Promise<AthenaAuthResult<AthenaAuthStatusResponse>>;
1423
+ revokeOtherSessions: (input?: AthenaAuthFetchCompatibleInput, options?: AthenaAuthCallOptions) => Promise<AthenaAuthResult<AthenaAuthStatusResponse>>;
1424
+ clearOtherSessions: (input?: AthenaAuthFetchCompatibleInput, options?: AthenaAuthCallOptions) => Promise<AthenaAuthResult<AthenaAuthStatusResponse>>;
1425
+ forgetPassword: (input: AthenaForgetPasswordRequest & AthenaAuthFetchCompatibleInput, options?: AthenaAuthCallOptions) => Promise<AthenaAuthResult<AthenaAuthStatusResponse>>;
1426
+ resetPassword: (input: AthenaResetPasswordRequest & AthenaAuthFetchCompatibleInput, options?: AthenaAuthCallOptions) => Promise<AthenaAuthResult<AthenaAuthStatusResponse>>;
1427
+ resolveResetPasswordToken: (input: {
1428
+ token: string;
1429
+ callbackURL?: string;
1430
+ } & AthenaAuthFetchCompatibleInput, options?: AthenaAuthCallOptions) => Promise<AthenaAuthResult<{
1431
+ token?: string;
1432
+ }>>;
1433
+ verifyEmail: (input: AthenaVerifyEmailRequest & AthenaAuthFetchCompatibleInput, options?: AthenaAuthCallOptions) => Promise<AthenaAuthResult<{
1434
+ user: AthenaAuthUser;
1435
+ status: boolean;
1436
+ }>>;
1437
+ sendVerificationEmail: (input: AthenaSendVerificationEmailRequest & AthenaAuthFetchCompatibleInput, options?: AthenaAuthCallOptions) => Promise<AthenaAuthResult<AthenaAuthStatusResponse>>;
1438
+ changeEmail: (input: AthenaChangeEmailRequest & AthenaAuthFetchCompatibleInput, options?: AthenaAuthCallOptions) => Promise<AthenaAuthResult<AthenaAuthEmailChangeResponse>>;
1439
+ changePassword: (input: AthenaChangePasswordRequest & AthenaAuthFetchCompatibleInput, options?: AthenaAuthCallOptions) => Promise<AthenaAuthResult<{
1440
+ token?: string | null;
1441
+ user: AthenaAuthUser;
1442
+ }>>;
1443
+ updateUser: (input: AthenaUpdateUserRequest & AthenaAuthFetchCompatibleInput, options?: AthenaAuthCallOptions) => Promise<AthenaAuthResult<AthenaAuthStatusResponse>>;
1444
+ deleteUser: (input?: AthenaDeleteUserRequest & AthenaAuthFetchCompatibleInput, options?: AthenaAuthCallOptions) => Promise<AthenaAuthResult<AthenaDeleteUserResponse>>;
1445
+ deleteUserCallback: (input?: AthenaDeleteUserCallbackRequest & AthenaAuthFetchCompatibleInput, options?: AthenaAuthCallOptions) => Promise<AthenaAuthResult<AthenaDeleteUserResponse>>;
1446
+ linkSocial: (input: AthenaLinkSocialRequest & AthenaAuthFetchCompatibleInput, options?: AthenaAuthCallOptions) => Promise<AthenaAuthResult<AthenaAuthSocialRedirectResponse>>;
1447
+ listAccounts: (input?: AthenaAuthFetchCompatibleInput, options?: AthenaAuthCallOptions) => Promise<AthenaAuthResult<AthenaAuthLinkedAccount[]>>;
1448
+ unlinkAccount: (input: AthenaUnlinkAccountRequest & AthenaAuthFetchCompatibleInput, options?: AthenaAuthCallOptions) => Promise<AthenaAuthResult<AthenaAuthStatusResponse>>;
1449
+ refreshToken: (input: AthenaOAuthAccountTokenRequest & AthenaAuthFetchCompatibleInput, options?: AthenaAuthCallOptions) => Promise<AthenaAuthResult<AthenaOAuthTokenBundle>>;
1450
+ getAccessToken: (input: AthenaOAuthAccountTokenRequest & AthenaAuthFetchCompatibleInput, options?: AthenaAuthCallOptions) => Promise<AthenaAuthResult<AthenaOAuthTokenBundle>>;
1451
+ organization: AthenaAuthOrganizationBindings;
1452
+ auth: AthenaAuthBindings;
1453
+ }
1454
+ /**
1455
+ * Auth client instance type — drop-in naming parity with
1456
+ * `import type { AuthClient } from "@better-auth-ui/react"`.
1457
+ *
1458
+ * ```ts
1459
+ * import type { AuthClient } from "@xylex-group/athena/react"
1460
+ * // or
1461
+ * import type { AuthClient } from "@xylex-group/athena"
1462
+ *
1463
+ * const authClient: AuthClient = createAuthClient({ baseUrl: "…" })
1464
+ * // also assignable from createClient(...).auth when only bindings are needed:
1465
+ * // use AuthBindings for that narrower surface
1466
+ * ```
1467
+ */
1468
+ type AuthClient = AthenaAuthSdkClient;
1469
+ /**
1470
+ * Bindings surface of `createClient(...).auth` (no standalone `baseUrl`/`request`
1471
+ * wrapper). Prefer {@link AuthClient} when you hold a full `createAuthClient()`
1472
+ * instance.
1473
+ */
1474
+ type AuthBindings = AthenaAuthBindings;
1475
+
1476
+ export type { AthenaAuthQueryPrimitive as $, AthenaAdminEmailCreateRequest as A, AthenaAdminEmailUpdateResponse as B, AthenaAuthAdminUserSessionRevokeBinding as C, AthenaAuthBindings as D, AthenaAuthCallOptions as E, AthenaAuthClientConfig as F, AthenaAuthCredentials as G, AthenaAuthEmailChangeResponse as H, AthenaAuthEmailTemplateAttachment as I, AthenaAuthEmailTemplateBuilder as J, AthenaAuthEmailTemplateCreateFromDefinitionInput as K, AthenaAuthEmailTemplateDefinition as L, AthenaAuthEmailTemplateReactOverrides as M, AthenaAuthEmailTemplateUpdateFromDefinitionInput as N, AthenaAuthEmailTemplateVariableBinding as O, AthenaAuthEndpointPath as P, AthenaAuthErrorCode as Q, AthenaAuthErrorDetails as R, AthenaAuthGenericInput as S, AthenaAuthGenericQueryInput as T, AthenaAuthGetUserResponse as U, AthenaAuthLinkedAccount as V, AthenaAuthMethod as W, AthenaAuthOrganization as X, AthenaAuthOrganizationBindings as Y, AthenaAuthOrganizationInvitation as Z, AthenaAuthOrganizationMember as _, AthenaAdminEmailDeleteRequest as a, AthenaAuthQueryValue as a0, AthenaAuthReactEmailComponent as a1, AthenaAuthReactEmailConfig as a2, AthenaAuthReactEmailEventPhase as a3, AthenaAuthReactEmailProps as a4, AthenaAuthReactEmailRenderEvent as a5, AthenaAuthReactEmailRenderInput as a6, AthenaAuthReactEmailRenderOptions as a7, AthenaAuthRequestInput as a8, AthenaAuthResetPasswordBinding as a9, AthenaUpdateUserRequest as aA, AthenaUsernameSignInRequest as aB, AthenaVerifyEmailRequest as aC, AuthBindings as aD, AuthClient as aE, AthenaAdminHasPermissionRequest as aF, AthenaAuthFetchCompatibleInput as aG, AthenaAdminListUsersFilterOperator as aH, AthenaAdminListUsersQuery as aI, AthenaAdminListUsersSearchOperator as aJ, AthenaAuthFilterOperator as aK, AthenaAuthGuardFailure as aL, AthenaAuthGuardReason as aM, AthenaAuthGuardResult as aN, AthenaAuthGuardSuccess as aO, AthenaAuthSearchOperator as aP, AthenaAuthSocialProviderExtensions as aQ, AuthOAuthProvider as aR, AuthSocialProvider as aS, AuthSocialProviderBuiltin as aT, AthenaAuthResult as aa, AthenaAuthRevokeSessionRequest as ab, AthenaAuthSdkClient as ac, AthenaAuthSession as ad, AthenaAuthSessionResponse as ae, AthenaAuthSessionRevokeBinding as af, AthenaAuthSignInResponse as ag, AthenaAuthSignOutResponse as ah, AthenaAuthSocialRedirectResponse as ai, AthenaAuthStatusResponse as aj, AthenaAuthUser as ak, AthenaChangeEmailRequest as al, AthenaChangePasswordRequest as am, AthenaDeleteUserCallbackRequest as an, AthenaDeleteUserRequest as ao, AthenaDeleteUserResponse as ap, AthenaEmailSignInRequest as aq, AthenaEmailSignUpRequest as ar, AthenaForgetPasswordRequest as as, AthenaLinkSocialRequest as at, AthenaOAuthAccountTokenRequest as au, AthenaOAuthTokenBundle as av, AthenaResetPasswordRequest as aw, AthenaSendVerificationEmailRequest as ax, AthenaSocialSignInRequest as ay, AthenaUnlinkAccountRequest as az, AthenaAdminEmailEventTypeListResponse as b, AthenaAdminEmailEventTypeRecord as c, AthenaAdminEmailFailureCreateRequest as d, AthenaAdminEmailFailureDeleteRequest as e, AthenaAdminEmailFailureGetQuery as f, AthenaAdminEmailFailureGetResponse as g, AthenaAdminEmailFailureListQuery as h, AthenaAdminEmailFailureListResponse as i, AthenaAdminEmailFailureUpdateRequest as j, AthenaAdminEmailFailureUpdateResponse as k, AthenaAdminEmailGetQuery as l, AthenaAdminEmailGetResponse as m, AthenaAdminEmailListQuery as n, AthenaAdminEmailListResponse as o, AthenaAdminEmailTemplateCreateRequest as p, AthenaAdminEmailTemplateDeleteRequest as q, AthenaAdminEmailTemplateGetQuery as r, AthenaAdminEmailTemplateGetResponse as s, AthenaAdminEmailTemplateListQuery as t, AthenaAdminEmailTemplateListResponse as u, AthenaAdminEmailTemplateRecord as v, AthenaAdminEmailTemplateSendRequest as w, AthenaAdminEmailTemplateSendResponse as x, AthenaAdminEmailTemplateUpdateRequest as y, AthenaAdminEmailUpdateRequest as z };