better-auth 0.0.2-beta.7 → 0.0.2

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/dist/access.d.ts +4 -0
  2. package/dist/access.js +126 -0
  3. package/dist/access.js.map +1 -0
  4. package/dist/cli.d.ts +2 -0
  5. package/dist/cli.js +553 -0
  6. package/dist/cli.js.map +1 -0
  7. package/dist/client/plugins.d.ts +2436 -0
  8. package/dist/client/plugins.js +411 -0
  9. package/dist/client/plugins.js.map +1 -0
  10. package/dist/client-A2Mt04KQ.d.ts +3503 -0
  11. package/dist/client.d.ts +1433 -0
  12. package/dist/client.js +693 -0
  13. package/dist/client.js.map +1 -0
  14. package/dist/helper-B5_2Vzba.d.ts +14 -0
  15. package/dist/index-Dg4eEXZW.d.ts +24 -0
  16. package/dist/index-W5nXvJ-p.d.ts +1498 -0
  17. package/dist/index.d.ts +6 -4
  18. package/dist/index.js +2195 -1191
  19. package/dist/index.js.map +1 -1
  20. package/dist/next-js.d.ts +14 -0
  21. package/dist/next-js.js +14 -0
  22. package/dist/next-js.js.map +1 -0
  23. package/dist/plugins.d.ts +892 -49
  24. package/dist/plugins.js +3951 -253
  25. package/dist/plugins.js.map +1 -1
  26. package/dist/preact.d.ts +8 -0
  27. package/dist/preact.js +294 -0
  28. package/dist/preact.js.map +1 -0
  29. package/dist/react.d.ts +14 -0
  30. package/dist/react.js +314 -0
  31. package/dist/react.js.map +1 -0
  32. package/dist/schema-BOszzrbQ.d.ts +792 -0
  33. package/dist/social.d.ts +4 -0
  34. package/dist/social.js +509 -0
  35. package/dist/social.js.map +1 -0
  36. package/dist/solid-start.d.ts +18 -0
  37. package/dist/solid-start.js +14 -0
  38. package/dist/solid-start.js.map +1 -0
  39. package/dist/solid.d.ts +2790 -0
  40. package/dist/solid.js +306 -0
  41. package/dist/solid.js.map +1 -0
  42. package/dist/statement-COylZd3J.d.ts +81 -0
  43. package/dist/svelte-kit.d.ts +10 -7
  44. package/dist/svelte-kit.js +12 -17
  45. package/dist/svelte-kit.js.map +1 -1
  46. package/dist/svelte.d.ts +2791 -0
  47. package/dist/svelte.js +304 -0
  48. package/dist/svelte.js.map +1 -0
  49. package/dist/type-DbMyI3b5.d.ts +5724 -0
  50. package/dist/types.d.ts +7 -0
  51. package/dist/types.js +1 -0
  52. package/dist/types.js.map +1 -0
  53. package/dist/vue.d.ts +14 -0
  54. package/dist/vue.js +311 -0
  55. package/dist/vue.js.map +1 -0
  56. package/package.json +80 -54
  57. package/LICENSE +0 -21
  58. package/dist/actions.d.ts +0 -33
  59. package/dist/actions.js +0 -1373
  60. package/dist/actions.js.map +0 -1
  61. package/dist/adapters/drizzle-adapter.d.ts +0 -10
  62. package/dist/adapters/drizzle-adapter.js +0 -1095
  63. package/dist/adapters/drizzle-adapter.js.map +0 -1
  64. package/dist/adapters/memory.d.ts +0 -8
  65. package/dist/adapters/memory.js +0 -136
  66. package/dist/adapters/memory.js.map +0 -1
  67. package/dist/adapters/mongodb-adapter.d.ts +0 -9
  68. package/dist/adapters/mongodb-adapter.js +0 -97
  69. package/dist/adapters/mongodb-adapter.js.map +0 -1
  70. package/dist/adapters/prisma-adapter.d.ts +0 -7
  71. package/dist/adapters/prisma-adapter.js +0 -144
  72. package/dist/adapters/prisma-adapter.js.map +0 -1
  73. package/dist/adapters/redis-adapter.d.ts +0 -7
  74. package/dist/adapters/redis-adapter.js +0 -65
  75. package/dist/adapters/redis-adapter.js.map +0 -1
  76. package/dist/adapters.d.ts +0 -3
  77. package/dist/adapters.js +0 -206
  78. package/dist/adapters.js.map +0 -1
  79. package/dist/h3.d.ts +0 -10
  80. package/dist/h3.js +0 -326
  81. package/dist/h3.js.map +0 -1
  82. package/dist/hono.d.ts +0 -10
  83. package/dist/hono.js +0 -25
  84. package/dist/hono.js.map +0 -1
  85. package/dist/index-UcTu1vUg.d.ts +0 -107
  86. package/dist/next.d.ts +0 -17
  87. package/dist/next.js +0 -26
  88. package/dist/next.js.map +0 -1
  89. package/dist/options-CH15FEBw.d.ts +0 -1562
  90. package/dist/providers.d.ts +0 -3
  91. package/dist/providers.js +0 -653
  92. package/dist/providers.js.map +0 -1
  93. package/dist/routes/session.d.ts +0 -39
  94. package/dist/routes/session.js +0 -128
  95. package/dist/routes/session.js.map +0 -1
  96. package/dist/types-DAxaMWCy.d.ts +0 -136
@@ -0,0 +1,1433 @@
1
+ import * as nanostores from 'nanostores';
2
+ import { B as BetterAuthPlugin, a as BetterAuthOptions, F as FieldAttribute, I as InferFieldOutput, A as Auth } from './index-W5nXvJ-p.js';
3
+ import * as zod from 'zod';
4
+ import { U as UnionToIntersection } from './helper-B5_2Vzba.js';
5
+ import * as better_call from 'better-call';
6
+ import * as _better_fetch_fetch from '@better-fetch/fetch';
7
+ import { C as ClientOptions, A as AuthPlugin, I as InferRoutes } from './type-DbMyI3b5.js';
8
+ export { g as getPasskeyActions, p as passkeyClient, t as twoFactorClient } from './client-A2Mt04KQ.js';
9
+ export { organizationClient, usernameClient } from './client/plugins.js';
10
+ import './schema-BOszzrbQ.js';
11
+ import 'arctic';
12
+ import 'kysely';
13
+ import '@nanostores/react';
14
+ import '@vue/reactivity';
15
+ import '@nanostores/vue';
16
+ import '@nanostores/solid';
17
+ import './preact.js';
18
+ import './statement-COylZd3J.js';
19
+ import '@simplewebauthn/types';
20
+
21
+ /**
22
+ * used for plugins only
23
+ */
24
+ declare const createAuthFetch: (options?: ClientOptions) => _better_fetch_fetch.BetterFetch<{
25
+ baseURL: string;
26
+ plugins: (_better_fetch_fetch.BetterFetchPlugin | {
27
+ id: string;
28
+ name: string;
29
+ hooks: {
30
+ onSuccess(context: _better_fetch_fetch.SuccessContext): void;
31
+ };
32
+ } | {
33
+ id: string;
34
+ name: string;
35
+ hooks: {
36
+ onRequest<T extends Record<string, any>>(context: _better_fetch_fetch.RequestContext<T>): _better_fetch_fetch.RequestContext<T>;
37
+ };
38
+ } | {
39
+ id: string;
40
+ name: string;
41
+ init(url: string, options: {
42
+ headers?: (HeadersInit & (HeadersInit | {
43
+ accept: "application/json" | "text/plain" | "application/octet-stream";
44
+ "content-type": "application/json" | "text/plain" | "application/x-www-form-urlencoded" | "multipart/form-data" | "application/octet-stream";
45
+ authorization: "Bearer" | "Basic";
46
+ })) | undefined;
47
+ redirect?: RequestRedirect | undefined;
48
+ method?: string | undefined;
49
+ cache?: RequestCache | undefined;
50
+ credentials?: RequestCredentials | undefined;
51
+ integrity?: string | undefined;
52
+ keepalive?: boolean | undefined;
53
+ mode?: RequestMode | undefined;
54
+ priority?: RequestPriority | undefined;
55
+ referrer?: string | undefined;
56
+ referrerPolicy?: ReferrerPolicy | undefined;
57
+ signal?: (AbortSignal | null) | undefined;
58
+ window?: null | undefined;
59
+ onRequest?: (<T extends Record<string, any>>(context: _better_fetch_fetch.RequestContext<T>) => Promise<_better_fetch_fetch.RequestContext | void> | _better_fetch_fetch.RequestContext | void) | undefined;
60
+ onResponse?: ((context: _better_fetch_fetch.ResponseContext) => Promise<Response | void | _better_fetch_fetch.ResponseContext> | Response | _better_fetch_fetch.ResponseContext | void) | undefined;
61
+ onSuccess?: ((context: _better_fetch_fetch.SuccessContext) => Promise<void> | void) | undefined;
62
+ onError?: ((context: _better_fetch_fetch.ErrorContext) => Promise<void> | void) | undefined;
63
+ onRetry?: ((response: _better_fetch_fetch.ResponseContext) => Promise<void> | void) | undefined;
64
+ hookOptions?: {
65
+ cloneResponse?: boolean;
66
+ } | undefined;
67
+ timeout?: number | undefined;
68
+ customFetchImpl?: _better_fetch_fetch.FetchEsque | undefined;
69
+ plugins?: _better_fetch_fetch.BetterFetchPlugin[] | undefined;
70
+ baseURL?: string | undefined;
71
+ throw?: boolean | undefined;
72
+ auth?: ({
73
+ type: "Bearer";
74
+ token: string | (() => string | undefined) | undefined;
75
+ } | {
76
+ type: "Basic";
77
+ username: string | (() => string | undefined) | undefined;
78
+ password: string | (() => string | undefined) | undefined;
79
+ } | {
80
+ type: "Custom";
81
+ prefix: string | (() => string | undefined) | undefined;
82
+ value: string | (() => string | undefined) | undefined;
83
+ }) | undefined;
84
+ body?: any;
85
+ query?: any;
86
+ params?: any;
87
+ duplex?: ("full" | "half") | undefined;
88
+ jsonParser?: (<T>(text: string) => Promise<T | undefined>) | undefined;
89
+ retry?: (number | {
90
+ type: "linear";
91
+ attempts: number;
92
+ delay: number;
93
+ shouldRetry?: (response: Response | null) => boolean | Promise<boolean>;
94
+ } | {
95
+ type: "exponential";
96
+ attempts: number;
97
+ baseDelay: number;
98
+ maxDelay: number;
99
+ shouldRetry?: (response: Response | null) => boolean | Promise<boolean>;
100
+ }) | undefined;
101
+ retryAttempt?: number | undefined;
102
+ output?: (zod.ZodType | typeof Blob | typeof File) | undefined;
103
+ errorSchema?: zod.ZodType | undefined;
104
+ disableValidation?: boolean | undefined;
105
+ } | undefined): Promise<{
106
+ url: string;
107
+ options: {
108
+ headers?: (HeadersInit & (HeadersInit | {
109
+ accept: "application/json" | "text/plain" | "application/octet-stream";
110
+ "content-type": "application/json" | "text/plain" | "application/x-www-form-urlencoded" | "multipart/form-data" | "application/octet-stream";
111
+ authorization: "Bearer" | "Basic";
112
+ })) | undefined;
113
+ redirect?: RequestRedirect | undefined;
114
+ method?: string | undefined;
115
+ cache?: RequestCache | undefined;
116
+ credentials?: RequestCredentials | undefined;
117
+ integrity?: string | undefined;
118
+ keepalive?: boolean | undefined;
119
+ mode?: RequestMode | undefined;
120
+ priority?: RequestPriority | undefined;
121
+ referrer?: string | undefined;
122
+ referrerPolicy?: ReferrerPolicy | undefined;
123
+ signal?: (AbortSignal | null) | undefined;
124
+ window?: null | undefined;
125
+ onRequest?: (<T extends Record<string, any>>(context: _better_fetch_fetch.RequestContext<T>) => Promise<_better_fetch_fetch.RequestContext | void> | _better_fetch_fetch.RequestContext | void) | undefined;
126
+ onResponse?: ((context: _better_fetch_fetch.ResponseContext) => Promise<Response | void | _better_fetch_fetch.ResponseContext> | Response | _better_fetch_fetch.ResponseContext | void) | undefined;
127
+ onSuccess?: ((context: _better_fetch_fetch.SuccessContext) => Promise<void> | void) | undefined;
128
+ onError?: ((context: _better_fetch_fetch.ErrorContext) => Promise<void> | void) | undefined;
129
+ onRetry?: ((response: _better_fetch_fetch.ResponseContext) => Promise<void> | void) | undefined;
130
+ hookOptions?: {
131
+ cloneResponse?: boolean;
132
+ } | undefined;
133
+ timeout?: number | undefined;
134
+ customFetchImpl?: _better_fetch_fetch.FetchEsque | undefined;
135
+ plugins?: _better_fetch_fetch.BetterFetchPlugin[] | undefined;
136
+ baseURL?: string | undefined;
137
+ throw?: boolean | undefined;
138
+ auth?: ({
139
+ type: "Bearer";
140
+ token: string | (() => string | undefined) | undefined;
141
+ } | {
142
+ type: "Basic";
143
+ username: string | (() => string | undefined) | undefined;
144
+ password: string | (() => string | undefined) | undefined;
145
+ } | {
146
+ type: "Custom";
147
+ prefix: string | (() => string | undefined) | undefined;
148
+ value: string | (() => string | undefined) | undefined;
149
+ }) | undefined;
150
+ body?: any;
151
+ query?: any;
152
+ params?: any;
153
+ duplex?: ("full" | "half") | undefined;
154
+ jsonParser?: (<T>(text: string) => Promise<T | undefined>) | undefined;
155
+ retry?: (number | {
156
+ type: "linear";
157
+ attempts: number;
158
+ delay: number;
159
+ shouldRetry?: (response: Response | null) => boolean | Promise<boolean>;
160
+ } | {
161
+ type: "exponential";
162
+ attempts: number;
163
+ baseDelay: number;
164
+ maxDelay: number;
165
+ shouldRetry?: (response: Response | null) => boolean | Promise<boolean>;
166
+ }) | undefined;
167
+ retryAttempt?: number | undefined;
168
+ output?: (zod.ZodType | typeof Blob | typeof File) | undefined;
169
+ errorSchema?: zod.ZodType | undefined;
170
+ disableValidation?: boolean | undefined;
171
+ };
172
+ }>;
173
+ })[];
174
+ csrfPlugin?: boolean;
175
+ authPlugins?: AuthPlugin[];
176
+ headers?: (HeadersInit & (HeadersInit | {
177
+ accept: "application/json" | "text/plain" | "application/octet-stream";
178
+ "content-type": "application/json" | "text/plain" | "application/x-www-form-urlencoded" | "multipart/form-data" | "application/octet-stream";
179
+ authorization: "Bearer" | "Basic";
180
+ })) | undefined;
181
+ redirect?: RequestRedirect;
182
+ method: string;
183
+ cache?: RequestCache;
184
+ credentials?: RequestCredentials;
185
+ integrity?: string;
186
+ keepalive?: boolean;
187
+ mode?: RequestMode;
188
+ priority?: RequestPriority;
189
+ referrer?: string;
190
+ referrerPolicy?: ReferrerPolicy;
191
+ signal?: AbortSignal | null;
192
+ window?: null;
193
+ onRequest?: <T extends Record<string, any>>(context: _better_fetch_fetch.RequestContext<T>) => Promise<_better_fetch_fetch.RequestContext | void> | _better_fetch_fetch.RequestContext | void;
194
+ onResponse?: (context: _better_fetch_fetch.ResponseContext) => Promise<Response | void | _better_fetch_fetch.ResponseContext> | Response | _better_fetch_fetch.ResponseContext | void;
195
+ onSuccess?: (context: _better_fetch_fetch.SuccessContext) => Promise<void> | void;
196
+ onError?: (context: _better_fetch_fetch.ErrorContext) => Promise<void> | void;
197
+ onRetry?: (response: _better_fetch_fetch.ResponseContext) => Promise<void> | void;
198
+ hookOptions?: {
199
+ cloneResponse?: boolean;
200
+ };
201
+ timeout?: number;
202
+ customFetchImpl?: _better_fetch_fetch.FetchEsque;
203
+ throw?: boolean;
204
+ auth?: {
205
+ type: "Bearer";
206
+ token: string | (() => string | undefined) | undefined;
207
+ } | {
208
+ type: "Basic";
209
+ username: string | (() => string | undefined) | undefined;
210
+ password: string | (() => string | undefined) | undefined;
211
+ } | {
212
+ type: "Custom";
213
+ prefix: string | (() => string | undefined) | undefined;
214
+ value: string | (() => string | undefined) | undefined;
215
+ };
216
+ body?: any;
217
+ query?: any;
218
+ params?: any;
219
+ duplex?: "full" | "half";
220
+ jsonParser?: <T>(text: string) => Promise<T | undefined>;
221
+ retry?: number | {
222
+ type: "linear";
223
+ attempts: number;
224
+ delay: number;
225
+ shouldRetry?: (response: Response | null) => boolean | Promise<boolean>;
226
+ } | {
227
+ type: "exponential";
228
+ attempts: number;
229
+ baseDelay: number;
230
+ maxDelay: number;
231
+ shouldRetry?: (response: Response | null) => boolean | Promise<boolean>;
232
+ };
233
+ retryAttempt?: number;
234
+ output?: zod.ZodType | typeof Blob | typeof File;
235
+ errorSchema?: zod.ZodType;
236
+ disableValidation?: boolean;
237
+ }, unknown, unknown, {}>;
238
+ declare const createAuthClient: <O extends ClientOptions = ClientOptions, AT extends Record<string, any> = {}>(options?: O, additionalActions?: AT) => InferRoutes<O["authPlugins"] extends any[] ? (O["authPlugins"] extends (infer Pl)[] ? UnionToIntersection<ReturnType<Pl> extends {
239
+ plugin: infer Plug;
240
+ } ? Plug extends BetterAuthPlugin ? Plug["endpoints"] : {} : {}> : {}) & {
241
+ signInOAuth: {
242
+ (ctx_0: better_call.Context<"/sign-in/social", {
243
+ method: "POST";
244
+ requireHeaders: true;
245
+ query: zod.ZodOptional<zod.ZodObject<{
246
+ currentURL: zod.ZodOptional<zod.ZodString>;
247
+ }, "strip", zod.ZodTypeAny, {
248
+ currentURL?: string | undefined;
249
+ }, {
250
+ currentURL?: string | undefined;
251
+ }>>;
252
+ body: zod.ZodObject<{
253
+ callbackURL: zod.ZodOptional<zod.ZodString>;
254
+ provider: zod.ZodEnum<["github", ...("apple" | "discord" | "facebook" | "github" | "google" | "spotify" | "twitch" | "twitter")[]]>;
255
+ }, "strip", zod.ZodTypeAny, {
256
+ provider: "apple" | "discord" | "facebook" | "github" | "google" | "spotify" | "twitch" | "twitter";
257
+ callbackURL?: string | undefined;
258
+ }, {
259
+ provider: "apple" | "discord" | "facebook" | "github" | "google" | "spotify" | "twitch" | "twitter";
260
+ callbackURL?: string | undefined;
261
+ }>;
262
+ }>): Promise<{
263
+ url: string;
264
+ state: string;
265
+ codeVerifier: string;
266
+ redirect: boolean;
267
+ }>;
268
+ path: "/sign-in/social";
269
+ options: {
270
+ method: "POST";
271
+ requireHeaders: true;
272
+ query: zod.ZodOptional<zod.ZodObject<{
273
+ currentURL: zod.ZodOptional<zod.ZodString>;
274
+ }, "strip", zod.ZodTypeAny, {
275
+ currentURL?: string | undefined;
276
+ }, {
277
+ currentURL?: string | undefined;
278
+ }>>;
279
+ body: zod.ZodObject<{
280
+ callbackURL: zod.ZodOptional<zod.ZodString>;
281
+ provider: zod.ZodEnum<["github", ...("apple" | "discord" | "facebook" | "github" | "google" | "spotify" | "twitch" | "twitter")[]]>;
282
+ }, "strip", zod.ZodTypeAny, {
283
+ provider: "apple" | "discord" | "facebook" | "github" | "google" | "spotify" | "twitch" | "twitter";
284
+ callbackURL?: string | undefined;
285
+ }, {
286
+ provider: "apple" | "discord" | "facebook" | "github" | "google" | "spotify" | "twitch" | "twitter";
287
+ callbackURL?: string | undefined;
288
+ }>;
289
+ };
290
+ method: better_call.Method | better_call.Method[];
291
+ headers: Headers;
292
+ };
293
+ callbackOAuth: {
294
+ (ctx_0: better_call.Context<"/callback/:id", {
295
+ method: "GET";
296
+ query: zod.ZodObject<{
297
+ state: zod.ZodString;
298
+ code: zod.ZodString;
299
+ code_verifier: zod.ZodOptional<zod.ZodString>;
300
+ }, "strip", zod.ZodTypeAny, {
301
+ code: string;
302
+ state: string;
303
+ code_verifier?: string | undefined;
304
+ }, {
305
+ code: string;
306
+ state: string;
307
+ code_verifier?: string | undefined;
308
+ }>;
309
+ metadata: {
310
+ onClient: "hide";
311
+ };
312
+ }>): Promise<never>;
313
+ path: "/callback/:id";
314
+ options: {
315
+ method: "GET";
316
+ query: zod.ZodObject<{
317
+ state: zod.ZodString;
318
+ code: zod.ZodString;
319
+ code_verifier: zod.ZodOptional<zod.ZodString>;
320
+ }, "strip", zod.ZodTypeAny, {
321
+ code: string;
322
+ state: string;
323
+ code_verifier?: string | undefined;
324
+ }, {
325
+ code: string;
326
+ state: string;
327
+ code_verifier?: string | undefined;
328
+ }>;
329
+ metadata: {
330
+ onClient: "hide";
331
+ };
332
+ };
333
+ method: better_call.Method | better_call.Method[];
334
+ headers: Headers;
335
+ };
336
+ getCSRFToken: {
337
+ (ctx_0?: better_call.Context<"/csrf", {
338
+ method: "GET";
339
+ metadata: {
340
+ onClient: "hide";
341
+ };
342
+ }> | undefined): Promise<{
343
+ csrfToken: string;
344
+ }>;
345
+ path: "/csrf";
346
+ options: {
347
+ method: "GET";
348
+ metadata: {
349
+ onClient: "hide";
350
+ };
351
+ };
352
+ method: better_call.Method | better_call.Method[];
353
+ headers: Headers;
354
+ };
355
+ getSession: {
356
+ (ctx: better_call.Context<"/session", {
357
+ method: "GET";
358
+ requireHeaders: true;
359
+ }>): Promise<{
360
+ session: {
361
+ id: string;
362
+ userId: string;
363
+ expiresAt: Date;
364
+ ipAddress?: string | undefined;
365
+ userAgent?: string | undefined;
366
+ };
367
+ user: {
368
+ id: string;
369
+ name: string;
370
+ email: string;
371
+ emailVerified: boolean;
372
+ createdAt: Date;
373
+ updatedAt: Date;
374
+ image?: string | undefined;
375
+ };
376
+ } | null>;
377
+ path: "/session";
378
+ method: better_call.Method | better_call.Method[];
379
+ options: {
380
+ method: "GET";
381
+ requireHeaders: true;
382
+ };
383
+ headers: Headers;
384
+ };
385
+ signOut: {
386
+ (ctx_0?: better_call.Context<"/sign-out", {
387
+ method: "POST";
388
+ body: zod.ZodOptional<zod.ZodObject<{
389
+ callbackURL: zod.ZodOptional<zod.ZodString>;
390
+ }, "strip", zod.ZodTypeAny, {
391
+ callbackURL?: string | undefined;
392
+ }, {
393
+ callbackURL?: string | undefined;
394
+ }>>;
395
+ }> | undefined): Promise<null>;
396
+ path: "/sign-out";
397
+ options: {
398
+ method: "POST";
399
+ body: zod.ZodOptional<zod.ZodObject<{
400
+ callbackURL: zod.ZodOptional<zod.ZodString>;
401
+ }, "strip", zod.ZodTypeAny, {
402
+ callbackURL?: string | undefined;
403
+ }, {
404
+ callbackURL?: string | undefined;
405
+ }>>;
406
+ };
407
+ method: better_call.Method | better_call.Method[];
408
+ headers: Headers;
409
+ };
410
+ signUpEmail: {
411
+ (ctx_0: better_call.Context<"/sign-up/email", {
412
+ method: "POST";
413
+ body: zod.ZodObject<{
414
+ name: zod.ZodString;
415
+ email: zod.ZodString;
416
+ password: zod.ZodString;
417
+ image: zod.ZodOptional<zod.ZodString>;
418
+ callbackURL: zod.ZodOptional<zod.ZodString>;
419
+ }, "strip", zod.ZodTypeAny, {
420
+ password: string;
421
+ name: string;
422
+ email: string;
423
+ image?: string | undefined;
424
+ callbackURL?: string | undefined;
425
+ }, {
426
+ password: string;
427
+ name: string;
428
+ email: string;
429
+ image?: string | undefined;
430
+ callbackURL?: string | undefined;
431
+ }>;
432
+ }>): Promise<{
433
+ user: {
434
+ id: string;
435
+ name: string;
436
+ email: string;
437
+ emailVerified: boolean;
438
+ createdAt: Date;
439
+ updatedAt: Date;
440
+ image?: string | undefined;
441
+ };
442
+ session: {
443
+ id: string;
444
+ userId: string;
445
+ expiresAt: Date;
446
+ ipAddress?: string | undefined;
447
+ userAgent?: string | undefined;
448
+ };
449
+ } | null>;
450
+ path: "/sign-up/email";
451
+ options: {
452
+ method: "POST";
453
+ body: zod.ZodObject<{
454
+ name: zod.ZodString;
455
+ email: zod.ZodString;
456
+ password: zod.ZodString;
457
+ image: zod.ZodOptional<zod.ZodString>;
458
+ callbackURL: zod.ZodOptional<zod.ZodString>;
459
+ }, "strip", zod.ZodTypeAny, {
460
+ password: string;
461
+ name: string;
462
+ email: string;
463
+ image?: string | undefined;
464
+ callbackURL?: string | undefined;
465
+ }, {
466
+ password: string;
467
+ name: string;
468
+ email: string;
469
+ image?: string | undefined;
470
+ callbackURL?: string | undefined;
471
+ }>;
472
+ };
473
+ method: better_call.Method | better_call.Method[];
474
+ headers: Headers;
475
+ };
476
+ signInEmail: {
477
+ (ctx_0: better_call.Context<"/sign-in/email", {
478
+ method: "POST";
479
+ body: zod.ZodObject<{
480
+ email: zod.ZodString;
481
+ password: zod.ZodString;
482
+ callbackURL: zod.ZodOptional<zod.ZodString>;
483
+ dontRememberMe: zod.ZodOptional<zod.ZodDefault<zod.ZodBoolean>>;
484
+ }, "strip", zod.ZodTypeAny, {
485
+ password: string;
486
+ email: string;
487
+ callbackURL?: string | undefined;
488
+ dontRememberMe?: boolean | undefined;
489
+ }, {
490
+ password: string;
491
+ email: string;
492
+ callbackURL?: string | undefined;
493
+ dontRememberMe?: boolean | undefined;
494
+ }>;
495
+ }>): Promise<{
496
+ user: {
497
+ id: string;
498
+ name: string;
499
+ email: string;
500
+ emailVerified: boolean;
501
+ createdAt: Date;
502
+ updatedAt: Date;
503
+ image?: string | undefined;
504
+ };
505
+ session: {
506
+ id: string;
507
+ userId: string;
508
+ expiresAt: Date;
509
+ ipAddress?: string | undefined;
510
+ userAgent?: string | undefined;
511
+ };
512
+ redirect: boolean;
513
+ url: string | undefined;
514
+ }>;
515
+ path: "/sign-in/email";
516
+ options: {
517
+ method: "POST";
518
+ body: zod.ZodObject<{
519
+ email: zod.ZodString;
520
+ password: zod.ZodString;
521
+ callbackURL: zod.ZodOptional<zod.ZodString>;
522
+ dontRememberMe: zod.ZodOptional<zod.ZodDefault<zod.ZodBoolean>>;
523
+ }, "strip", zod.ZodTypeAny, {
524
+ password: string;
525
+ email: string;
526
+ callbackURL?: string | undefined;
527
+ dontRememberMe?: boolean | undefined;
528
+ }, {
529
+ password: string;
530
+ email: string;
531
+ callbackURL?: string | undefined;
532
+ dontRememberMe?: boolean | undefined;
533
+ }>;
534
+ };
535
+ method: better_call.Method | better_call.Method[];
536
+ headers: Headers;
537
+ };
538
+ forgetPassword: {
539
+ (ctx_0: better_call.Context<"/forget-password", {
540
+ method: "POST";
541
+ body: zod.ZodObject<{
542
+ email: zod.ZodString;
543
+ }, "strip", zod.ZodTypeAny, {
544
+ email: string;
545
+ }, {
546
+ email: string;
547
+ }>;
548
+ }>): Promise<{
549
+ error: string;
550
+ } | {
551
+ status: boolean;
552
+ } | null>;
553
+ path: "/forget-password";
554
+ options: {
555
+ method: "POST";
556
+ body: zod.ZodObject<{
557
+ email: zod.ZodString;
558
+ }, "strip", zod.ZodTypeAny, {
559
+ email: string;
560
+ }, {
561
+ email: string;
562
+ }>;
563
+ };
564
+ method: better_call.Method | better_call.Method[];
565
+ headers: Headers;
566
+ };
567
+ resetPassword: {
568
+ (ctx_0: better_call.Context<"/reset-password", {
569
+ method: "POST";
570
+ body: zod.ZodObject<{
571
+ token: zod.ZodString;
572
+ newPassword: zod.ZodString;
573
+ callbackURL: zod.ZodOptional<zod.ZodString>;
574
+ }, "strip", zod.ZodTypeAny, {
575
+ token: string;
576
+ newPassword: string;
577
+ callbackURL?: string | undefined;
578
+ }, {
579
+ token: string;
580
+ newPassword: string;
581
+ callbackURL?: string | undefined;
582
+ }>;
583
+ }>): Promise<{
584
+ status: boolean;
585
+ url: string | undefined;
586
+ redirect: boolean;
587
+ } | null>;
588
+ path: "/reset-password";
589
+ options: {
590
+ method: "POST";
591
+ body: zod.ZodObject<{
592
+ token: zod.ZodString;
593
+ newPassword: zod.ZodString;
594
+ callbackURL: zod.ZodOptional<zod.ZodString>;
595
+ }, "strip", zod.ZodTypeAny, {
596
+ token: string;
597
+ newPassword: string;
598
+ callbackURL?: string | undefined;
599
+ }, {
600
+ token: string;
601
+ newPassword: string;
602
+ callbackURL?: string | undefined;
603
+ }>;
604
+ };
605
+ method: better_call.Method | better_call.Method[];
606
+ headers: Headers;
607
+ };
608
+ verifyEmail: {
609
+ (ctx_0: better_call.Context<"/verify-email", {
610
+ method: "GET";
611
+ query: zod.ZodObject<{
612
+ token: zod.ZodString;
613
+ callbackURL: zod.ZodString;
614
+ }, "strip", zod.ZodTypeAny, {
615
+ token: string;
616
+ callbackURL: string;
617
+ }, {
618
+ token: string;
619
+ callbackURL: string;
620
+ }>;
621
+ }>): Promise<{
622
+ status: boolean;
623
+ } | null>;
624
+ path: "/verify-email";
625
+ options: {
626
+ method: "GET";
627
+ query: zod.ZodObject<{
628
+ token: zod.ZodString;
629
+ callbackURL: zod.ZodString;
630
+ }, "strip", zod.ZodTypeAny, {
631
+ token: string;
632
+ callbackURL: string;
633
+ }, {
634
+ token: string;
635
+ callbackURL: string;
636
+ }>;
637
+ };
638
+ method: better_call.Method | better_call.Method[];
639
+ headers: Headers;
640
+ };
641
+ sendVerificationEmail: {
642
+ (ctx_0: better_call.Context<"/send-verification-email", {
643
+ method: "POST";
644
+ body: zod.ZodObject<{
645
+ email: zod.ZodString;
646
+ callbackURL: zod.ZodOptional<zod.ZodString>;
647
+ }, "strip", zod.ZodTypeAny, {
648
+ email: string;
649
+ callbackURL?: string | undefined;
650
+ }, {
651
+ email: string;
652
+ callbackURL?: string | undefined;
653
+ }>;
654
+ }>): Promise<{
655
+ status: boolean;
656
+ } | null>;
657
+ path: "/send-verification-email";
658
+ options: {
659
+ method: "POST";
660
+ body: zod.ZodObject<{
661
+ email: zod.ZodString;
662
+ callbackURL: zod.ZodOptional<zod.ZodString>;
663
+ }, "strip", zod.ZodTypeAny, {
664
+ email: string;
665
+ callbackURL?: string | undefined;
666
+ }, {
667
+ email: string;
668
+ callbackURL?: string | undefined;
669
+ }>;
670
+ };
671
+ method: better_call.Method | better_call.Method[];
672
+ headers: Headers;
673
+ };
674
+ } : {
675
+ signInOAuth: {
676
+ (ctx_0: better_call.Context<"/sign-in/social", {
677
+ method: "POST";
678
+ requireHeaders: true;
679
+ query: zod.ZodOptional<zod.ZodObject<{
680
+ currentURL: zod.ZodOptional<zod.ZodString>;
681
+ }, "strip", zod.ZodTypeAny, {
682
+ currentURL?: string | undefined;
683
+ }, {
684
+ currentURL?: string | undefined;
685
+ }>>;
686
+ body: zod.ZodObject<{
687
+ callbackURL: zod.ZodOptional<zod.ZodString>;
688
+ provider: zod.ZodEnum<["github", ...("apple" | "discord" | "facebook" | "github" | "google" | "spotify" | "twitch" | "twitter")[]]>;
689
+ }, "strip", zod.ZodTypeAny, {
690
+ provider: "apple" | "discord" | "facebook" | "github" | "google" | "spotify" | "twitch" | "twitter";
691
+ callbackURL?: string | undefined;
692
+ }, {
693
+ provider: "apple" | "discord" | "facebook" | "github" | "google" | "spotify" | "twitch" | "twitter";
694
+ callbackURL?: string | undefined;
695
+ }>;
696
+ }>): Promise<{
697
+ url: string;
698
+ state: string;
699
+ codeVerifier: string;
700
+ redirect: boolean;
701
+ }>;
702
+ path: "/sign-in/social";
703
+ options: {
704
+ method: "POST";
705
+ requireHeaders: true;
706
+ query: zod.ZodOptional<zod.ZodObject<{
707
+ currentURL: zod.ZodOptional<zod.ZodString>;
708
+ }, "strip", zod.ZodTypeAny, {
709
+ currentURL?: string | undefined;
710
+ }, {
711
+ currentURL?: string | undefined;
712
+ }>>;
713
+ body: zod.ZodObject<{
714
+ callbackURL: zod.ZodOptional<zod.ZodString>;
715
+ provider: zod.ZodEnum<["github", ...("apple" | "discord" | "facebook" | "github" | "google" | "spotify" | "twitch" | "twitter")[]]>;
716
+ }, "strip", zod.ZodTypeAny, {
717
+ provider: "apple" | "discord" | "facebook" | "github" | "google" | "spotify" | "twitch" | "twitter";
718
+ callbackURL?: string | undefined;
719
+ }, {
720
+ provider: "apple" | "discord" | "facebook" | "github" | "google" | "spotify" | "twitch" | "twitter";
721
+ callbackURL?: string | undefined;
722
+ }>;
723
+ };
724
+ method: better_call.Method | better_call.Method[];
725
+ headers: Headers;
726
+ };
727
+ callbackOAuth: {
728
+ (ctx_0: better_call.Context<"/callback/:id", {
729
+ method: "GET";
730
+ query: zod.ZodObject<{
731
+ state: zod.ZodString;
732
+ code: zod.ZodString;
733
+ code_verifier: zod.ZodOptional<zod.ZodString>;
734
+ }, "strip", zod.ZodTypeAny, {
735
+ code: string;
736
+ state: string;
737
+ code_verifier?: string | undefined;
738
+ }, {
739
+ code: string;
740
+ state: string;
741
+ code_verifier?: string | undefined;
742
+ }>;
743
+ metadata: {
744
+ onClient: "hide";
745
+ };
746
+ }>): Promise<never>;
747
+ path: "/callback/:id";
748
+ options: {
749
+ method: "GET";
750
+ query: zod.ZodObject<{
751
+ state: zod.ZodString;
752
+ code: zod.ZodString;
753
+ code_verifier: zod.ZodOptional<zod.ZodString>;
754
+ }, "strip", zod.ZodTypeAny, {
755
+ code: string;
756
+ state: string;
757
+ code_verifier?: string | undefined;
758
+ }, {
759
+ code: string;
760
+ state: string;
761
+ code_verifier?: string | undefined;
762
+ }>;
763
+ metadata: {
764
+ onClient: "hide";
765
+ };
766
+ };
767
+ method: better_call.Method | better_call.Method[];
768
+ headers: Headers;
769
+ };
770
+ getCSRFToken: {
771
+ (ctx_0?: better_call.Context<"/csrf", {
772
+ method: "GET";
773
+ metadata: {
774
+ onClient: "hide";
775
+ };
776
+ }> | undefined): Promise<{
777
+ csrfToken: string;
778
+ }>;
779
+ path: "/csrf";
780
+ options: {
781
+ method: "GET";
782
+ metadata: {
783
+ onClient: "hide";
784
+ };
785
+ };
786
+ method: better_call.Method | better_call.Method[];
787
+ headers: Headers;
788
+ };
789
+ getSession: {
790
+ (ctx: better_call.Context<"/session", {
791
+ method: "GET";
792
+ requireHeaders: true;
793
+ }>): Promise<{
794
+ session: {
795
+ id: string;
796
+ userId: string;
797
+ expiresAt: Date;
798
+ ipAddress?: string | undefined;
799
+ userAgent?: string | undefined;
800
+ };
801
+ user: {
802
+ id: string;
803
+ name: string;
804
+ email: string;
805
+ emailVerified: boolean;
806
+ createdAt: Date;
807
+ updatedAt: Date;
808
+ image?: string | undefined;
809
+ };
810
+ } | null>;
811
+ path: "/session";
812
+ method: better_call.Method | better_call.Method[];
813
+ options: {
814
+ method: "GET";
815
+ requireHeaders: true;
816
+ };
817
+ headers: Headers;
818
+ };
819
+ signOut: {
820
+ (ctx_0?: better_call.Context<"/sign-out", {
821
+ method: "POST";
822
+ body: zod.ZodOptional<zod.ZodObject<{
823
+ callbackURL: zod.ZodOptional<zod.ZodString>;
824
+ }, "strip", zod.ZodTypeAny, {
825
+ callbackURL?: string | undefined;
826
+ }, {
827
+ callbackURL?: string | undefined;
828
+ }>>;
829
+ }> | undefined): Promise<null>;
830
+ path: "/sign-out";
831
+ options: {
832
+ method: "POST";
833
+ body: zod.ZodOptional<zod.ZodObject<{
834
+ callbackURL: zod.ZodOptional<zod.ZodString>;
835
+ }, "strip", zod.ZodTypeAny, {
836
+ callbackURL?: string | undefined;
837
+ }, {
838
+ callbackURL?: string | undefined;
839
+ }>>;
840
+ };
841
+ method: better_call.Method | better_call.Method[];
842
+ headers: Headers;
843
+ };
844
+ signUpEmail: {
845
+ (ctx_0: better_call.Context<"/sign-up/email", {
846
+ method: "POST";
847
+ body: zod.ZodObject<{
848
+ name: zod.ZodString;
849
+ email: zod.ZodString;
850
+ password: zod.ZodString;
851
+ image: zod.ZodOptional<zod.ZodString>;
852
+ callbackURL: zod.ZodOptional<zod.ZodString>;
853
+ }, "strip", zod.ZodTypeAny, {
854
+ password: string;
855
+ name: string;
856
+ email: string;
857
+ image?: string | undefined;
858
+ callbackURL?: string | undefined;
859
+ }, {
860
+ password: string;
861
+ name: string;
862
+ email: string;
863
+ image?: string | undefined;
864
+ callbackURL?: string | undefined;
865
+ }>;
866
+ }>): Promise<{
867
+ user: {
868
+ id: string;
869
+ name: string;
870
+ email: string;
871
+ emailVerified: boolean;
872
+ createdAt: Date;
873
+ updatedAt: Date;
874
+ image?: string | undefined;
875
+ };
876
+ session: {
877
+ id: string;
878
+ userId: string;
879
+ expiresAt: Date;
880
+ ipAddress?: string | undefined;
881
+ userAgent?: string | undefined;
882
+ };
883
+ } | null>;
884
+ path: "/sign-up/email";
885
+ options: {
886
+ method: "POST";
887
+ body: zod.ZodObject<{
888
+ name: zod.ZodString;
889
+ email: zod.ZodString;
890
+ password: zod.ZodString;
891
+ image: zod.ZodOptional<zod.ZodString>;
892
+ callbackURL: zod.ZodOptional<zod.ZodString>;
893
+ }, "strip", zod.ZodTypeAny, {
894
+ password: string;
895
+ name: string;
896
+ email: string;
897
+ image?: string | undefined;
898
+ callbackURL?: string | undefined;
899
+ }, {
900
+ password: string;
901
+ name: string;
902
+ email: string;
903
+ image?: string | undefined;
904
+ callbackURL?: string | undefined;
905
+ }>;
906
+ };
907
+ method: better_call.Method | better_call.Method[];
908
+ headers: Headers;
909
+ };
910
+ signInEmail: {
911
+ (ctx_0: better_call.Context<"/sign-in/email", {
912
+ method: "POST";
913
+ body: zod.ZodObject<{
914
+ email: zod.ZodString;
915
+ password: zod.ZodString;
916
+ callbackURL: zod.ZodOptional<zod.ZodString>;
917
+ dontRememberMe: zod.ZodOptional<zod.ZodDefault<zod.ZodBoolean>>;
918
+ }, "strip", zod.ZodTypeAny, {
919
+ password: string;
920
+ email: string;
921
+ callbackURL?: string | undefined;
922
+ dontRememberMe?: boolean | undefined;
923
+ }, {
924
+ password: string;
925
+ email: string;
926
+ callbackURL?: string | undefined;
927
+ dontRememberMe?: boolean | undefined;
928
+ }>;
929
+ }>): Promise<{
930
+ user: {
931
+ id: string;
932
+ name: string;
933
+ email: string;
934
+ emailVerified: boolean;
935
+ createdAt: Date;
936
+ updatedAt: Date;
937
+ image?: string | undefined;
938
+ };
939
+ session: {
940
+ id: string;
941
+ userId: string;
942
+ expiresAt: Date;
943
+ ipAddress?: string | undefined;
944
+ userAgent?: string | undefined;
945
+ };
946
+ redirect: boolean;
947
+ url: string | undefined;
948
+ }>;
949
+ path: "/sign-in/email";
950
+ options: {
951
+ method: "POST";
952
+ body: zod.ZodObject<{
953
+ email: zod.ZodString;
954
+ password: zod.ZodString;
955
+ callbackURL: zod.ZodOptional<zod.ZodString>;
956
+ dontRememberMe: zod.ZodOptional<zod.ZodDefault<zod.ZodBoolean>>;
957
+ }, "strip", zod.ZodTypeAny, {
958
+ password: string;
959
+ email: string;
960
+ callbackURL?: string | undefined;
961
+ dontRememberMe?: boolean | undefined;
962
+ }, {
963
+ password: string;
964
+ email: string;
965
+ callbackURL?: string | undefined;
966
+ dontRememberMe?: boolean | undefined;
967
+ }>;
968
+ };
969
+ method: better_call.Method | better_call.Method[];
970
+ headers: Headers;
971
+ };
972
+ forgetPassword: {
973
+ (ctx_0: better_call.Context<"/forget-password", {
974
+ method: "POST";
975
+ body: zod.ZodObject<{
976
+ email: zod.ZodString;
977
+ }, "strip", zod.ZodTypeAny, {
978
+ email: string;
979
+ }, {
980
+ email: string;
981
+ }>;
982
+ }>): Promise<{
983
+ error: string;
984
+ } | {
985
+ status: boolean;
986
+ } | null>;
987
+ path: "/forget-password";
988
+ options: {
989
+ method: "POST";
990
+ body: zod.ZodObject<{
991
+ email: zod.ZodString;
992
+ }, "strip", zod.ZodTypeAny, {
993
+ email: string;
994
+ }, {
995
+ email: string;
996
+ }>;
997
+ };
998
+ method: better_call.Method | better_call.Method[];
999
+ headers: Headers;
1000
+ };
1001
+ resetPassword: {
1002
+ (ctx_0: better_call.Context<"/reset-password", {
1003
+ method: "POST";
1004
+ body: zod.ZodObject<{
1005
+ token: zod.ZodString;
1006
+ newPassword: zod.ZodString;
1007
+ callbackURL: zod.ZodOptional<zod.ZodString>;
1008
+ }, "strip", zod.ZodTypeAny, {
1009
+ token: string;
1010
+ newPassword: string;
1011
+ callbackURL?: string | undefined;
1012
+ }, {
1013
+ token: string;
1014
+ newPassword: string;
1015
+ callbackURL?: string | undefined;
1016
+ }>;
1017
+ }>): Promise<{
1018
+ status: boolean;
1019
+ url: string | undefined;
1020
+ redirect: boolean;
1021
+ } | null>;
1022
+ path: "/reset-password";
1023
+ options: {
1024
+ method: "POST";
1025
+ body: zod.ZodObject<{
1026
+ token: zod.ZodString;
1027
+ newPassword: zod.ZodString;
1028
+ callbackURL: zod.ZodOptional<zod.ZodString>;
1029
+ }, "strip", zod.ZodTypeAny, {
1030
+ token: string;
1031
+ newPassword: string;
1032
+ callbackURL?: string | undefined;
1033
+ }, {
1034
+ token: string;
1035
+ newPassword: string;
1036
+ callbackURL?: string | undefined;
1037
+ }>;
1038
+ };
1039
+ method: better_call.Method | better_call.Method[];
1040
+ headers: Headers;
1041
+ };
1042
+ verifyEmail: {
1043
+ (ctx_0: better_call.Context<"/verify-email", {
1044
+ method: "GET";
1045
+ query: zod.ZodObject<{
1046
+ token: zod.ZodString;
1047
+ callbackURL: zod.ZodString;
1048
+ }, "strip", zod.ZodTypeAny, {
1049
+ token: string;
1050
+ callbackURL: string;
1051
+ }, {
1052
+ token: string;
1053
+ callbackURL: string;
1054
+ }>;
1055
+ }>): Promise<{
1056
+ status: boolean;
1057
+ } | null>;
1058
+ path: "/verify-email";
1059
+ options: {
1060
+ method: "GET";
1061
+ query: zod.ZodObject<{
1062
+ token: zod.ZodString;
1063
+ callbackURL: zod.ZodString;
1064
+ }, "strip", zod.ZodTypeAny, {
1065
+ token: string;
1066
+ callbackURL: string;
1067
+ }, {
1068
+ token: string;
1069
+ callbackURL: string;
1070
+ }>;
1071
+ };
1072
+ method: better_call.Method | better_call.Method[];
1073
+ headers: Headers;
1074
+ };
1075
+ sendVerificationEmail: {
1076
+ (ctx_0: better_call.Context<"/send-verification-email", {
1077
+ method: "POST";
1078
+ body: zod.ZodObject<{
1079
+ email: zod.ZodString;
1080
+ callbackURL: zod.ZodOptional<zod.ZodString>;
1081
+ }, "strip", zod.ZodTypeAny, {
1082
+ email: string;
1083
+ callbackURL?: string | undefined;
1084
+ }, {
1085
+ email: string;
1086
+ callbackURL?: string | undefined;
1087
+ }>;
1088
+ }>): Promise<{
1089
+ status: boolean;
1090
+ } | null>;
1091
+ path: "/send-verification-email";
1092
+ options: {
1093
+ method: "POST";
1094
+ body: zod.ZodObject<{
1095
+ email: zod.ZodString;
1096
+ callbackURL: zod.ZodOptional<zod.ZodString>;
1097
+ }, "strip", zod.ZodTypeAny, {
1098
+ email: string;
1099
+ callbackURL?: string | undefined;
1100
+ }, {
1101
+ email: string;
1102
+ callbackURL?: string | undefined;
1103
+ }>;
1104
+ };
1105
+ method: better_call.Method | better_call.Method[];
1106
+ headers: Headers;
1107
+ };
1108
+ }> & {
1109
+ $atoms: {
1110
+ $session: nanostores.ReadableAtom<{
1111
+ user: UnionToIntersection<{
1112
+ id: string;
1113
+ name: string;
1114
+ email: string;
1115
+ emailVerified: boolean;
1116
+ createdAt: Date;
1117
+ updatedAt: Date;
1118
+ image?: string | undefined;
1119
+ } & ({
1120
+ database: any;
1121
+ plugins: O["authPlugins"] extends AuthPlugin[] ? ReturnType<O["authPlugins"][number]>["plugin"][] : undefined;
1122
+ } extends infer T_1 ? T_1 extends {
1123
+ database: any;
1124
+ plugins: O["authPlugins"] extends AuthPlugin[] ? ReturnType<O["authPlugins"][number]>["plugin"][] : undefined;
1125
+ } ? T_1 extends BetterAuthOptions ? T_1["plugins"] extends (infer T_2)[] ? T_2 extends {
1126
+ schema: {
1127
+ user: {
1128
+ fields: infer Field;
1129
+ };
1130
+ };
1131
+ } ? Field extends Record<infer Key extends string | number | symbol, FieldAttribute> ? { [key_2 in Key as Field[key_2]["required"] extends false ? never : Field[key_2]["defaultValue"] extends string | number | boolean | Function | Date ? key_2 : never]: InferFieldOutput<Field[key_2]>; } & { [key_3 in Key as Field[key_3]["returned"] extends false ? never : key_3]?: InferFieldOutput<Field[key_3]> | undefined; } extends infer T_3 ? { [key_1 in keyof T_3]: ({ [key_2 in Key as Field[key_2]["required"] extends false ? never : Field[key_2]["defaultValue"] extends string | number | boolean | Function | Date ? key_2 : never]: InferFieldOutput<Field[key_2]>; } & { [key_3 in Key as Field[key_3]["returned"] extends false ? never : key_3]?: InferFieldOutput<Field[key_3]> | undefined; })[key_1]; } : never : {} : {} : {} : T_1 extends Auth ? T_1["options"]["plugins"] extends (infer T_2)[] ? T_2 extends {
1132
+ schema: {
1133
+ user: {
1134
+ fields: infer Field;
1135
+ };
1136
+ };
1137
+ } ? Field extends Record<infer Key extends string | number | symbol, FieldAttribute> ? { [key_2 in Key as Field[key_2]["required"] extends false ? never : Field[key_2]["defaultValue"] extends string | number | boolean | Function | Date ? key_2 : never]: InferFieldOutput<Field[key_2]>; } & { [key_3 in Key as Field[key_3]["returned"] extends false ? never : key_3]?: InferFieldOutput<Field[key_3]> | undefined; } extends infer T_3 ? { [key_1 in keyof T_3]: ({ [key_2 in Key as Field[key_2]["required"] extends false ? never : Field[key_2]["defaultValue"] extends string | number | boolean | Function | Date ? key_2 : never]: InferFieldOutput<Field[key_2]>; } & { [key_3 in Key as Field[key_3]["returned"] extends false ? never : key_3]?: InferFieldOutput<Field[key_3]> | undefined; })[key_1]; } : never : {} : {} : {} : {} : never : never)> extends infer T ? { [key in keyof T]: UnionToIntersection<{
1138
+ id: string;
1139
+ name: string;
1140
+ email: string;
1141
+ emailVerified: boolean;
1142
+ createdAt: Date;
1143
+ updatedAt: Date;
1144
+ image?: string | undefined;
1145
+ } & ({
1146
+ database: any;
1147
+ plugins: O["authPlugins"] extends AuthPlugin[] ? ReturnType<O["authPlugins"][number]>["plugin"][] : undefined;
1148
+ } extends infer T_1 ? T_1 extends {
1149
+ database: any;
1150
+ plugins: O["authPlugins"] extends AuthPlugin[] ? ReturnType<O["authPlugins"][number]>["plugin"][] : undefined;
1151
+ } ? T_1 extends BetterAuthOptions ? T_1["plugins"] extends (infer T_2)[] ? T_2 extends {
1152
+ schema: {
1153
+ user: {
1154
+ fields: infer Field;
1155
+ };
1156
+ };
1157
+ } ? Field extends Record<infer Key extends string | number | symbol, FieldAttribute> ? { [key_2 in Key as Field[key_2]["required"] extends false ? never : Field[key_2]["defaultValue"] extends string | number | boolean | Function | Date ? key_2 : never]: InferFieldOutput<Field[key_2]>; } & { [key_3 in Key as Field[key_3]["returned"] extends false ? never : key_3]?: InferFieldOutput<Field[key_3]> | undefined; } extends infer T_3 ? { [key_1 in keyof T_3]: ({ [key_2 in Key as Field[key_2]["required"] extends false ? never : Field[key_2]["defaultValue"] extends string | number | boolean | Function | Date ? key_2 : never]: InferFieldOutput<Field[key_2]>; } & { [key_3 in Key as Field[key_3]["returned"] extends false ? never : key_3]?: InferFieldOutput<Field[key_3]> | undefined; })[key_1]; } : never : {} : {} : {} : T_1 extends Auth ? T_1["options"]["plugins"] extends (infer T_2)[] ? T_2 extends {
1158
+ schema: {
1159
+ user: {
1160
+ fields: infer Field;
1161
+ };
1162
+ };
1163
+ } ? Field extends Record<infer Key extends string | number | symbol, FieldAttribute> ? { [key_2 in Key as Field[key_2]["required"] extends false ? never : Field[key_2]["defaultValue"] extends string | number | boolean | Function | Date ? key_2 : never]: InferFieldOutput<Field[key_2]>; } & { [key_3 in Key as Field[key_3]["returned"] extends false ? never : key_3]?: InferFieldOutput<Field[key_3]> | undefined; } extends infer T_3 ? { [key_1 in keyof T_3]: ({ [key_2 in Key as Field[key_2]["required"] extends false ? never : Field[key_2]["defaultValue"] extends string | number | boolean | Function | Date ? key_2 : never]: InferFieldOutput<Field[key_2]>; } & { [key_3 in Key as Field[key_3]["returned"] extends false ? never : key_3]?: InferFieldOutput<Field[key_3]> | undefined; })[key_1]; } : never : {} : {} : {} : {} : never : never)>[key]; } : never;
1164
+ session: UnionToIntersection<{
1165
+ id: string;
1166
+ userId: string;
1167
+ expiresAt: Date;
1168
+ ipAddress?: string | undefined;
1169
+ userAgent?: string | undefined;
1170
+ } & ({
1171
+ database: any;
1172
+ plugins: O["authPlugins"] extends AuthPlugin[] ? ReturnType<O["authPlugins"][number]>["plugin"][] : undefined;
1173
+ } extends infer T_5 ? T_5 extends {
1174
+ database: any;
1175
+ plugins: O["authPlugins"] extends AuthPlugin[] ? ReturnType<O["authPlugins"][number]>["plugin"][] : undefined;
1176
+ } ? T_5 extends BetterAuthOptions ? T_5["plugins"] extends (infer T_6)[] ? T_6 extends {
1177
+ schema: {
1178
+ session: {
1179
+ fields: infer Field_1;
1180
+ };
1181
+ };
1182
+ } ? Field_1 extends Record<string, FieldAttribute> ? { [key_5 in keyof Field_1]: InferFieldOutput<Field_1[key_5]>; } : {} : {} : {} : T_5 extends Auth ? T_5["options"]["plugins"] extends (infer T_6)[] ? T_6 extends {
1183
+ schema: {
1184
+ session: {
1185
+ fields: infer Field_1;
1186
+ };
1187
+ };
1188
+ } ? Field_1 extends Record<string, FieldAttribute> ? { [key_5 in keyof Field_1]: InferFieldOutput<Field_1[key_5]>; } : {} : {} : {} : {} : never : never)> extends infer T_4 ? { [key_4 in keyof T_4]: UnionToIntersection<{
1189
+ id: string;
1190
+ userId: string;
1191
+ expiresAt: Date;
1192
+ ipAddress?: string | undefined;
1193
+ userAgent?: string | undefined;
1194
+ } & ({
1195
+ database: any;
1196
+ plugins: O["authPlugins"] extends AuthPlugin[] ? ReturnType<O["authPlugins"][number]>["plugin"][] : undefined;
1197
+ } extends infer T_5 ? T_5 extends {
1198
+ database: any;
1199
+ plugins: O["authPlugins"] extends AuthPlugin[] ? ReturnType<O["authPlugins"][number]>["plugin"][] : undefined;
1200
+ } ? T_5 extends BetterAuthOptions ? T_5["plugins"] extends (infer T_6)[] ? T_6 extends {
1201
+ schema: {
1202
+ session: {
1203
+ fields: infer Field_1;
1204
+ };
1205
+ };
1206
+ } ? Field_1 extends Record<string, FieldAttribute> ? { [key_5 in keyof Field_1]: InferFieldOutput<Field_1[key_5]>; } : {} : {} : {} : T_5 extends Auth ? T_5["options"]["plugins"] extends (infer T_6)[] ? T_6 extends {
1207
+ schema: {
1208
+ session: {
1209
+ fields: infer Field_1;
1210
+ };
1211
+ };
1212
+ } ? Field_1 extends Record<string, FieldAttribute> ? { [key_5 in keyof Field_1]: InferFieldOutput<Field_1[key_5]>; } : {} : {} : {} : {} : never : never)>[key_4]; } : never;
1213
+ } | null>;
1214
+ };
1215
+ $fetch: _better_fetch_fetch.BetterFetch<{
1216
+ baseURL: string;
1217
+ plugins: (_better_fetch_fetch.BetterFetchPlugin | {
1218
+ id: string;
1219
+ name: string;
1220
+ hooks: {
1221
+ onSuccess(context: _better_fetch_fetch.SuccessContext): void;
1222
+ };
1223
+ } | {
1224
+ id: string;
1225
+ name: string;
1226
+ hooks: {
1227
+ onRequest<T_7 extends Record<string, any>>(context: _better_fetch_fetch.RequestContext<T_7>): _better_fetch_fetch.RequestContext<T_7>;
1228
+ };
1229
+ } | {
1230
+ id: string;
1231
+ name: string;
1232
+ init(url: string, options: {
1233
+ headers?: (HeadersInit & (HeadersInit | {
1234
+ accept: "application/json" | "text/plain" | "application/octet-stream";
1235
+ "content-type": "application/json" | "text/plain" | "application/x-www-form-urlencoded" | "multipart/form-data" | "application/octet-stream";
1236
+ authorization: "Bearer" | "Basic";
1237
+ })) | undefined;
1238
+ redirect?: RequestRedirect | undefined;
1239
+ method?: string | undefined;
1240
+ cache?: RequestCache | undefined;
1241
+ credentials?: RequestCredentials | undefined;
1242
+ integrity?: string | undefined;
1243
+ keepalive?: boolean | undefined;
1244
+ mode?: RequestMode | undefined;
1245
+ priority?: RequestPriority | undefined;
1246
+ referrer?: string | undefined;
1247
+ referrerPolicy?: ReferrerPolicy | undefined;
1248
+ signal?: (AbortSignal | null) | undefined;
1249
+ window?: null | undefined;
1250
+ onRequest?: (<T_7 extends Record<string, any>>(context: _better_fetch_fetch.RequestContext<T_7>) => Promise<_better_fetch_fetch.RequestContext | void> | _better_fetch_fetch.RequestContext | void) | undefined;
1251
+ onResponse?: ((context: _better_fetch_fetch.ResponseContext) => Promise<Response | void | _better_fetch_fetch.ResponseContext> | Response | _better_fetch_fetch.ResponseContext | void) | undefined;
1252
+ onSuccess?: ((context: _better_fetch_fetch.SuccessContext) => Promise<void> | void) | undefined;
1253
+ onError?: ((context: _better_fetch_fetch.ErrorContext) => Promise<void> | void) | undefined;
1254
+ onRetry?: ((response: _better_fetch_fetch.ResponseContext) => Promise<void> | void) | undefined;
1255
+ hookOptions?: {
1256
+ cloneResponse?: boolean;
1257
+ } | undefined;
1258
+ timeout?: number | undefined;
1259
+ customFetchImpl?: _better_fetch_fetch.FetchEsque | undefined;
1260
+ plugins?: _better_fetch_fetch.BetterFetchPlugin[] | undefined;
1261
+ baseURL?: string | undefined;
1262
+ throw?: boolean | undefined;
1263
+ auth?: ({
1264
+ type: "Bearer";
1265
+ token: string | (() => string | undefined) | undefined;
1266
+ } | {
1267
+ type: "Basic";
1268
+ username: string | (() => string | undefined) | undefined;
1269
+ password: string | (() => string | undefined) | undefined;
1270
+ } | {
1271
+ type: "Custom";
1272
+ prefix: string | (() => string | undefined) | undefined;
1273
+ value: string | (() => string | undefined) | undefined;
1274
+ }) | undefined;
1275
+ body?: any;
1276
+ query?: any;
1277
+ params?: any;
1278
+ duplex?: ("full" | "half") | undefined;
1279
+ jsonParser?: (<T_7>(text: string) => Promise<T_7 | undefined>) | undefined;
1280
+ retry?: (number | {
1281
+ type: "linear";
1282
+ attempts: number;
1283
+ delay: number;
1284
+ shouldRetry?: (response: Response | null) => boolean | Promise<boolean>;
1285
+ } | {
1286
+ type: "exponential";
1287
+ attempts: number;
1288
+ baseDelay: number;
1289
+ maxDelay: number;
1290
+ shouldRetry?: (response: Response | null) => boolean | Promise<boolean>;
1291
+ }) | undefined;
1292
+ retryAttempt?: number | undefined;
1293
+ output?: (zod.ZodType | typeof Blob | typeof File) | undefined;
1294
+ errorSchema?: zod.ZodType | undefined;
1295
+ disableValidation?: boolean | undefined;
1296
+ } | undefined): Promise<{
1297
+ url: string;
1298
+ options: {
1299
+ headers?: (HeadersInit & (HeadersInit | {
1300
+ accept: "application/json" | "text/plain" | "application/octet-stream";
1301
+ "content-type": "application/json" | "text/plain" | "application/x-www-form-urlencoded" | "multipart/form-data" | "application/octet-stream";
1302
+ authorization: "Bearer" | "Basic";
1303
+ })) | undefined;
1304
+ redirect?: RequestRedirect | undefined;
1305
+ method?: string | undefined;
1306
+ cache?: RequestCache | undefined;
1307
+ credentials?: RequestCredentials | undefined;
1308
+ integrity?: string | undefined;
1309
+ keepalive?: boolean | undefined;
1310
+ mode?: RequestMode | undefined;
1311
+ priority?: RequestPriority | undefined;
1312
+ referrer?: string | undefined;
1313
+ referrerPolicy?: ReferrerPolicy | undefined;
1314
+ signal?: (AbortSignal | null) | undefined;
1315
+ window?: null | undefined;
1316
+ onRequest?: (<T_7 extends Record<string, any>>(context: _better_fetch_fetch.RequestContext<T_7>) => Promise<_better_fetch_fetch.RequestContext | void> | _better_fetch_fetch.RequestContext | void) | undefined;
1317
+ onResponse?: ((context: _better_fetch_fetch.ResponseContext) => Promise<Response | void | _better_fetch_fetch.ResponseContext> | Response | _better_fetch_fetch.ResponseContext | void) | undefined;
1318
+ onSuccess?: ((context: _better_fetch_fetch.SuccessContext) => Promise<void> | void) | undefined;
1319
+ onError?: ((context: _better_fetch_fetch.ErrorContext) => Promise<void> | void) | undefined;
1320
+ onRetry?: ((response: _better_fetch_fetch.ResponseContext) => Promise<void> | void) | undefined;
1321
+ hookOptions?: {
1322
+ cloneResponse?: boolean;
1323
+ } | undefined;
1324
+ timeout?: number | undefined;
1325
+ customFetchImpl?: _better_fetch_fetch.FetchEsque | undefined;
1326
+ plugins?: _better_fetch_fetch.BetterFetchPlugin[] | undefined;
1327
+ baseURL?: string | undefined;
1328
+ throw?: boolean | undefined;
1329
+ auth?: ({
1330
+ type: "Bearer";
1331
+ token: string | (() => string | undefined) | undefined;
1332
+ } | {
1333
+ type: "Basic";
1334
+ username: string | (() => string | undefined) | undefined;
1335
+ password: string | (() => string | undefined) | undefined;
1336
+ } | {
1337
+ type: "Custom";
1338
+ prefix: string | (() => string | undefined) | undefined;
1339
+ value: string | (() => string | undefined) | undefined;
1340
+ }) | undefined;
1341
+ body?: any;
1342
+ query?: any;
1343
+ params?: any;
1344
+ duplex?: ("full" | "half") | undefined;
1345
+ jsonParser?: (<T_7>(text: string) => Promise<T_7 | undefined>) | undefined;
1346
+ retry?: (number | {
1347
+ type: "linear";
1348
+ attempts: number;
1349
+ delay: number;
1350
+ shouldRetry?: (response: Response | null) => boolean | Promise<boolean>;
1351
+ } | {
1352
+ type: "exponential";
1353
+ attempts: number;
1354
+ baseDelay: number;
1355
+ maxDelay: number;
1356
+ shouldRetry?: (response: Response | null) => boolean | Promise<boolean>;
1357
+ }) | undefined;
1358
+ retryAttempt?: number | undefined;
1359
+ output?: (zod.ZodType | typeof Blob | typeof File) | undefined;
1360
+ errorSchema?: zod.ZodType | undefined;
1361
+ disableValidation?: boolean | undefined;
1362
+ };
1363
+ }>;
1364
+ })[];
1365
+ csrfPlugin?: boolean;
1366
+ authPlugins?: AuthPlugin[];
1367
+ headers?: (HeadersInit & (HeadersInit | {
1368
+ accept: "application/json" | "text/plain" | "application/octet-stream";
1369
+ "content-type": "application/json" | "text/plain" | "application/x-www-form-urlencoded" | "multipart/form-data" | "application/octet-stream";
1370
+ authorization: "Bearer" | "Basic";
1371
+ })) | undefined;
1372
+ redirect?: RequestRedirect;
1373
+ method: string;
1374
+ cache?: RequestCache;
1375
+ credentials?: RequestCredentials;
1376
+ integrity?: string;
1377
+ keepalive?: boolean;
1378
+ mode?: RequestMode;
1379
+ priority?: RequestPriority;
1380
+ referrer?: string;
1381
+ referrerPolicy?: ReferrerPolicy;
1382
+ signal?: AbortSignal | null;
1383
+ window?: null;
1384
+ onRequest?: <T_7 extends Record<string, any>>(context: _better_fetch_fetch.RequestContext<T_7>) => Promise<_better_fetch_fetch.RequestContext | void> | _better_fetch_fetch.RequestContext | void;
1385
+ onResponse?: (context: _better_fetch_fetch.ResponseContext) => Promise<Response | void | _better_fetch_fetch.ResponseContext> | Response | _better_fetch_fetch.ResponseContext | void;
1386
+ onSuccess?: (context: _better_fetch_fetch.SuccessContext) => Promise<void> | void;
1387
+ onError?: (context: _better_fetch_fetch.ErrorContext) => Promise<void> | void;
1388
+ onRetry?: (response: _better_fetch_fetch.ResponseContext) => Promise<void> | void;
1389
+ hookOptions?: {
1390
+ cloneResponse?: boolean;
1391
+ };
1392
+ timeout?: number;
1393
+ customFetchImpl?: _better_fetch_fetch.FetchEsque;
1394
+ throw?: boolean;
1395
+ auth?: {
1396
+ type: "Bearer";
1397
+ token: string | (() => string | undefined) | undefined;
1398
+ } | {
1399
+ type: "Basic";
1400
+ username: string | (() => string | undefined) | undefined;
1401
+ password: string | (() => string | undefined) | undefined;
1402
+ } | {
1403
+ type: "Custom";
1404
+ prefix: string | (() => string | undefined) | undefined;
1405
+ value: string | (() => string | undefined) | undefined;
1406
+ };
1407
+ body?: any;
1408
+ query?: any;
1409
+ params?: any;
1410
+ duplex?: "full" | "half";
1411
+ jsonParser?: <T_7>(text: string) => Promise<T_7 | undefined>;
1412
+ retry?: number | {
1413
+ type: "linear";
1414
+ attempts: number;
1415
+ delay: number;
1416
+ shouldRetry?: (response: Response | null) => boolean | Promise<boolean>;
1417
+ } | {
1418
+ type: "exponential";
1419
+ attempts: number;
1420
+ baseDelay: number;
1421
+ maxDelay: number;
1422
+ shouldRetry?: (response: Response | null) => boolean | Promise<boolean>;
1423
+ };
1424
+ retryAttempt?: number;
1425
+ output?: zod.ZodType | typeof Blob | typeof File;
1426
+ errorSchema?: zod.ZodType;
1427
+ disableValidation?: boolean;
1428
+ }, unknown, unknown, {}>;
1429
+ } & AT & UnionToIntersection<O["authPlugins"] extends (infer Pl_1)[] ? ReturnType<Pl_1> extends {
1430
+ actions?: infer R;
1431
+ } ? R : {} : {}>;
1432
+
1433
+ export { createAuthClient, createAuthFetch };