@protobase/server 0.48.0 → 0.49.1

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 (74) hide show
  1. package/dist/admin-options.d.ts +2 -2
  2. package/dist/app-identity.d.ts +2 -2
  3. package/dist/app-name.d.ts +2 -0
  4. package/dist/better-auth/auth-settings.d.ts +8773 -0
  5. package/dist/better-auth/auth-settings.js +43 -0
  6. package/dist/better-auth/authenticate-settings.d.ts +15 -0
  7. package/dist/better-auth/authenticate-settings.js +12 -0
  8. package/dist/better-auth/create-auth.d.ts +51 -11
  9. package/dist/better-auth/create-auth.js +33 -11
  10. package/dist/better-auth/mcp/mcp-auth-plugins.d.ts +2719 -0
  11. package/dist/better-auth/mcp/mcp-auth-plugins.js +68 -0
  12. package/dist/better-auth/mcp/mcp-plugins.d.ts +7 -2
  13. package/dist/better-auth/mcp/mcp-plugins.js +3 -68
  14. package/dist/better-auth/mcp/mcp-token-claims.js +1 -1
  15. package/dist/better-auth/organizations/store.d.ts +1 -0
  16. package/dist/better-auth/saml-plugin.d.ts +993 -0
  17. package/dist/better-auth/saml-plugin.js +36 -0
  18. package/dist/better-auth/saml-sign-in.d.ts +27 -1
  19. package/dist/better-auth/saml-sign-in.js +1 -33
  20. package/dist/better-auth/secret-versions.d.ts +7 -0
  21. package/dist/better-auth/secret-versions.js +21 -0
  22. package/dist/better-auth/signing-keys.js +86 -0
  23. package/dist/better-auth/tokens.js +1 -0
  24. package/dist/better-auth/user-table.js +1 -1
  25. package/dist/better-auth/users.d.ts +1 -1
  26. package/dist/create-admin.d.ts +5 -3
  27. package/dist/create-admin.js +3 -1
  28. package/dist/encryption/keyring.js +1 -1
  29. package/dist/files/options.d.ts +5 -8
  30. package/dist/files/provider-settings.d.ts +16 -0
  31. package/dist/files/provider-settings.js +17 -0
  32. package/dist/files/runtime.js +4 -4
  33. package/dist/forms/runtime.js +3 -3
  34. package/dist/gotrue/sessions-plugin.js +3 -9
  35. package/dist/index.d.ts +16 -15
  36. package/dist/index.js +8 -10
  37. package/dist/internal.d.ts +13 -0
  38. package/dist/internal.js +13 -0
  39. package/dist/jobs/declared-job.d.ts +24 -0
  40. package/dist/jobs/declared-job.js +26 -0
  41. package/dist/jobs/job-types.d.ts +1 -1
  42. package/dist/mcp/mcp-authenticator.js +3 -3
  43. package/dist/notifications/device-store-of.d.ts +1 -1
  44. package/dist/notifications/device-store-of.js +1 -1
  45. package/dist/notifications/device-store.d.ts +1 -1
  46. package/dist/notifications/device-store.js +1 -1
  47. package/dist/notifications/history-store-of.d.ts +1 -1
  48. package/dist/notifications/history-store-of.js +1 -1
  49. package/dist/notifications/history-store.d.ts +1 -1
  50. package/dist/notifications/history-store.js +1 -1
  51. package/dist/notifications/options.d.ts +3 -1
  52. package/dist/notifications/options.js +1 -1
  53. package/dist/notifications/schema.d.ts +2 -2
  54. package/dist/notifications/schema.js +7 -7
  55. package/dist/notifications/send-notification.js +1 -1
  56. package/dist/notifications/sender.d.ts +1 -1
  57. package/dist/notifications/sender.js +2 -2
  58. package/dist/notifications/senders-of.d.ts +1 -1
  59. package/dist/notifications/senders-of.js +1 -1
  60. package/dist/package.js +1 -1
  61. package/dist/webhooks/subscription.d.ts +1 -0
  62. package/dist/webhooks/table/options.d.ts +1 -1
  63. package/dist/webhooks/table/schema.d.ts +2 -2
  64. package/dist/webhooks/table/schema.js +2 -2
  65. package/dist/webhooks/table/webhook-table.js +2 -2
  66. package/dist/webhooks/table/webhooks-module.d.ts +108 -0
  67. package/dist/webhooks/table/webhooks-module.js +11 -0
  68. package/package.json +6 -5
  69. package/dist/notifications/plugin.d.ts +0 -13
  70. package/dist/notifications/plugin.js +0 -16
  71. package/dist/project-config.d.ts +0 -54
  72. package/dist/project-config.js +0 -182
  73. package/dist/webhooks/table/plugin.d.ts +0 -10
  74. package/dist/webhooks/table/plugin.js +0 -18
@@ -0,0 +1,2719 @@
1
+ import { SignInPolicy } from "../sign-in-policy.js";
2
+ import { RoleDefinitions } from "../organizations/role-definitions.js";
3
+ import { ConnectedApp } from "./connected-apps.js";
4
+ import { AuthContext } from "../organizations/store.js";
5
+ import { ResolvedMcp } from "./mcp-plugins.js";
6
+ //#region src/better-auth/mcp/mcp-auth-plugins.d.ts
7
+ export type McpAuthPluginsOptions = {
8
+ mcp: ResolvedMcp;
9
+ /** Organizations are on. */
10
+ organizations: boolean;
11
+ /** Mail can be sent, as the sign-in policy reads it. */
12
+ mail: boolean;
13
+ /** The policy until an admin saves one, from `appSignInPolicy`. */
14
+ defaultPolicy: SignInPolicy;
15
+ /** The roles with their labels, for the list of connected apps. */
16
+ definitions: RoleDefinitions;
17
+ /** The auth context once the instance exists. */
18
+ context: () => Promise<AuthContext>;
19
+ };
20
+ /**
21
+ * The Better Auth plugins of an OAuth provider for MCP clients, after the `jwt` plugin, in this order: the guard on
22
+ * signed queries, the request defaults, the setup gate, the provider (`mcp()`), and client metadata documents
23
+ * (`cimd()`), the revocation when the account is secured (`mcpGrantRevocation`) or a refresh token is reused
24
+ * (`mcpRefreshReuse`), and the person's list of connected
25
+ * apps, where they disconnect one (`mcpConnectedApps`). A client registers itself, the person signs in on the app's own pages and allows it on the connect
26
+ * page, and the client gets 15-minute access tokens for the MCP resource only, with refresh tokens, carrying the role
27
+ * and organization the person worked in when they allowed it.
28
+ */
29
+ export declare const mcpAuthPlugins: ({ mcp: resolved, organizations, mail, defaultPolicy, definitions, context }: McpAuthPluginsOptions) => ({
30
+ id: "protobase-mcp-signed-query-guard";
31
+ hooks: {
32
+ before: {
33
+ matcher: (context: import("better-auth").HookEndpointContext) => boolean;
34
+ handler: import("better-call").Middleware<import("better-call").MiddlewareOptions, (inputContext: import("better-call").MiddlewareInputContext<import("better-call").MiddlewareOptions>) => Promise<never>>;
35
+ }[];
36
+ };
37
+ } | {
38
+ id: "protobase-mcp-request-defaults";
39
+ hooks: {
40
+ before: ({
41
+ matcher: (context: import("better-auth").HookEndpointContext) => boolean;
42
+ handler: import("better-call").Middleware<import("better-call").MiddlewareOptions, (inputContext: import("better-call").MiddlewareInputContext<import("better-call").MiddlewareOptions>) => Promise<{
43
+ context: {
44
+ body: {
45
+ [x: string]: unknown;
46
+ };
47
+ query?: undefined;
48
+ };
49
+ } | {
50
+ context: {
51
+ query: {
52
+ [x: string]: unknown;
53
+ };
54
+ body?: undefined;
55
+ };
56
+ }>>;
57
+ } | {
58
+ matcher: (context: import("better-auth").HookEndpointContext) => boolean;
59
+ handler: import("better-call").Middleware<import("better-call").MiddlewareOptions, (inputContext: import("better-call").MiddlewareInputContext<import("better-call").MiddlewareOptions>) => Promise<void>>;
60
+ })[];
61
+ };
62
+ } | {
63
+ id: "protobase-mcp-setup-gate";
64
+ hooks: {
65
+ before: {
66
+ matcher: (context: import("better-auth").HookEndpointContext) => boolean;
67
+ handler: import("better-call").Middleware<import("better-call").MiddlewareOptions, (inputContext: import("better-call").MiddlewareInputContext<import("better-call").MiddlewareOptions>) => Promise<void>>;
68
+ }[];
69
+ };
70
+ } | {
71
+ id: "oauth-provider";
72
+ version: string;
73
+ options: NoInfer<import("@better-auth/oauth-provider").OAuthOptions<import("@better-auth/oauth-provider").Scope[]>>;
74
+ onRequest: (request: Request, ctx: import("better-auth").AuthContext) => Promise<{
75
+ response: Response;
76
+ } | {
77
+ request: Request;
78
+ } | void>;
79
+ init: (ctx: import("better-auth").AuthContext) => Promise<{
80
+ options: {
81
+ databaseHooks: {
82
+ session: {
83
+ delete: {
84
+ before(session: {
85
+ id: string;
86
+ createdAt: Date;
87
+ updatedAt: Date;
88
+ userId: string;
89
+ expiresAt: Date;
90
+ token: string;
91
+ ipAddress?: string | null | undefined;
92
+ userAgent?: string | null | undefined;
93
+ } & Record<string, unknown>, hookCtx: import("better-auth").GenericEndpointContext | null): Promise<void>;
94
+ after(session: {
95
+ id: string;
96
+ createdAt: Date;
97
+ updatedAt: Date;
98
+ userId: string;
99
+ expiresAt: Date;
100
+ token: string;
101
+ ipAddress?: string | null | undefined;
102
+ userAgent?: string | null | undefined;
103
+ } & Record<string, unknown>, hookCtx: import("better-auth").GenericEndpointContext | null): Promise<void>;
104
+ };
105
+ };
106
+ };
107
+ };
108
+ }>;
109
+ hooks: {
110
+ before: {
111
+ matcher(ctx: import("better-auth").HookEndpointContext): any;
112
+ handler: import("better-call").Middleware<import("better-call").MiddlewareOptions, (inputContext: import("better-call").MiddlewareInputContext<import("better-call").MiddlewareOptions>) => Promise<void>>;
113
+ }[];
114
+ after: {
115
+ matcher(ctx: import("better-auth").HookEndpointContext): boolean;
116
+ handler: import("better-call").Middleware<import("better-call").MiddlewareOptions, (inputContext: import("better-call").MiddlewareInputContext<import("better-call").MiddlewareOptions>) => Promise<{
117
+ redirect: true;
118
+ url: string;
119
+ } | undefined>>;
120
+ }[];
121
+ };
122
+ endpoints: {
123
+ getOAuthServerConfig: import("better-call").StrictEndpoint<"/.well-known/oauth-authorization-server", {
124
+ method: "GET";
125
+ metadata: {
126
+ SERVER_ONLY: true;
127
+ };
128
+ }, import("@better-auth/oauth-provider").AuthServerMetadata>;
129
+ getOpenIdConfig: import("better-call").StrictEndpoint<"/.well-known/openid-configuration", {
130
+ method: "GET";
131
+ metadata: {
132
+ SERVER_ONLY: true;
133
+ };
134
+ }, {
135
+ jwks_uri?: string | undefined;
136
+ userinfo_endpoint: string;
137
+ acr_values_supported?: string[] | undefined;
138
+ subject_types_supported: ("public" | "pairwise")[];
139
+ claims_supported: string[];
140
+ claims_parameter_supported?: boolean | undefined;
141
+ end_session_endpoint: string;
142
+ request_parameter_supported?: boolean | undefined;
143
+ request_uri_parameter_supported?: boolean | undefined;
144
+ prompt_values_supported: import("@better-auth/oauth-provider").Prompt[];
145
+ issuer: string;
146
+ authorization_endpoint: string;
147
+ token_endpoint: string;
148
+ registration_endpoint?: string | undefined;
149
+ scopes_supported?: string[] | undefined;
150
+ response_types_supported: "code"[];
151
+ response_modes_supported: "query"[];
152
+ grant_types_supported: import("@better-auth/oauth-provider").GrantType[];
153
+ token_endpoint_auth_methods_supported?: import("@better-auth/oauth-provider").TokenEndpointAuthMethod[] | undefined;
154
+ token_endpoint_auth_signing_alg_values_supported?: import("better-auth").PrivateKeyJwtSigningAlgorithm[] | undefined;
155
+ service_documentation?: string | undefined;
156
+ ui_locales_supported?: string[] | undefined;
157
+ op_policy_uri?: string | undefined;
158
+ op_tos_uri?: string | undefined;
159
+ revocation_endpoint?: string | undefined;
160
+ revocation_endpoint_auth_methods_supported?: import("@better-auth/oauth-provider").TokenEndpointAuthMethod[] | undefined;
161
+ revocation_endpoint_auth_signing_alg_values_supported?: import("better-auth").PrivateKeyJwtSigningAlgorithm[] | undefined;
162
+ introspection_endpoint?: string | undefined;
163
+ introspection_endpoint_auth_methods_supported?: import("@better-auth/oauth-provider").TokenEndpointAuthMethod[] | undefined;
164
+ introspection_endpoint_auth_signing_alg_values_supported?: import("better-auth").PrivateKeyJwtSigningAlgorithm[] | undefined;
165
+ code_challenge_methods_supported: "S256"[];
166
+ authorization_response_iss_parameter_supported?: boolean | undefined;
167
+ client_id_metadata_document_supported?: boolean | undefined;
168
+ backchannel_logout_supported?: boolean | undefined;
169
+ backchannel_logout_session_supported?: boolean | undefined;
170
+ dpop_signing_alg_values_supported?: import("better-auth/plugins").JWSAlgorithms[] | undefined;
171
+ id_token_signing_alg_values_supported: import("better-auth/plugins").JWSAlgorithms[] | ["HS256"];
172
+ }>;
173
+ oauth2Authorize: import("better-call").StrictEndpoint<"/oauth2/authorize", {
174
+ method: ("GET" | "POST")[];
175
+ body: import("zod").ZodObject<{}, import("zod/v4/core").$loose>;
176
+ redirectOnError: import("@better-auth/oauth-provider").OAuthRedirectOnError<import("better-auth").GenericEndpointContext, {
177
+ redirect: true;
178
+ url: string;
179
+ }>;
180
+ metadata: {
181
+ allowedMediaTypes: string[];
182
+ openapi: {
183
+ description: string;
184
+ parameters: ({
185
+ name: string;
186
+ in: "query";
187
+ required: false;
188
+ schema: {
189
+ type: "string";
190
+ format?: undefined;
191
+ minimum?: undefined;
192
+ items?: undefined;
193
+ };
194
+ description: string;
195
+ } | {
196
+ name: string;
197
+ in: "query";
198
+ required: true;
199
+ schema: {
200
+ type: "string";
201
+ format?: undefined;
202
+ minimum?: undefined;
203
+ items?: undefined;
204
+ };
205
+ description: string;
206
+ } | {
207
+ name: string;
208
+ in: "query";
209
+ required: false;
210
+ schema: {
211
+ type: "string";
212
+ format: string;
213
+ minimum?: undefined;
214
+ items?: undefined;
215
+ };
216
+ description: string;
217
+ } | {
218
+ name: string;
219
+ in: "query";
220
+ required: false;
221
+ schema: {
222
+ type: "integer";
223
+ minimum: number;
224
+ format?: undefined;
225
+ items?: undefined;
226
+ };
227
+ description: string;
228
+ } | {
229
+ name: string;
230
+ in: "query";
231
+ required: false;
232
+ schema: {
233
+ type: "array";
234
+ items: {
235
+ type: "string";
236
+ };
237
+ format?: undefined;
238
+ minimum?: undefined;
239
+ };
240
+ description: string;
241
+ })[];
242
+ responses: {
243
+ "302": {
244
+ description: string;
245
+ headers: {
246
+ Location: {
247
+ description: string;
248
+ schema: {
249
+ type: string;
250
+ format: string;
251
+ };
252
+ };
253
+ };
254
+ };
255
+ "400": {
256
+ description: string;
257
+ content: {
258
+ "application/json": {
259
+ schema: {
260
+ type: "object";
261
+ properties: {
262
+ error: {
263
+ type: string;
264
+ };
265
+ error_description: {
266
+ type: string;
267
+ };
268
+ state: {
269
+ type: string;
270
+ };
271
+ };
272
+ required: string[];
273
+ };
274
+ };
275
+ };
276
+ };
277
+ };
278
+ };
279
+ };
280
+ }, {
281
+ redirect: true;
282
+ url: string;
283
+ }>;
284
+ oauth2Consent: import("better-call").StrictEndpoint<"/oauth2/consent", {
285
+ method: "POST";
286
+ body: import("zod").ZodObject<{
287
+ accept: import("zod").ZodBoolean;
288
+ scope: import("zod").ZodOptional<import("zod").ZodString>;
289
+ claims: import("zod").ZodOptional<import("zod").ZodUnion<readonly [import("zod").ZodString, import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>]>>;
290
+ oauth_query: import("zod").ZodOptional<import("zod").ZodString>;
291
+ }, import("zod/v4/core").$strip>;
292
+ use: import("better-call").Middleware<import("better-call").MiddlewareOptions, (inputContext: import("better-call").MiddlewareInputContext<import("better-call").MiddlewareOptions>) => Promise<{
293
+ session: {
294
+ session: Record<string, any> & {
295
+ id: string;
296
+ createdAt: Date;
297
+ updatedAt: Date;
298
+ userId: string;
299
+ expiresAt: Date;
300
+ token: string;
301
+ ipAddress?: string | null | undefined;
302
+ userAgent?: string | null | undefined;
303
+ };
304
+ user: Record<string, any> & {
305
+ id: string;
306
+ createdAt: Date;
307
+ updatedAt: Date;
308
+ email: string;
309
+ emailVerified: boolean;
310
+ name: string;
311
+ image?: string | null | undefined;
312
+ };
313
+ };
314
+ }>>[];
315
+ metadata: {
316
+ openapi: {
317
+ description: string;
318
+ responses: {
319
+ "200": {
320
+ description: string;
321
+ content: {
322
+ "application/json": {
323
+ schema: {
324
+ type: "object";
325
+ properties: {
326
+ redirect: {
327
+ type: string;
328
+ description: string;
329
+ enum: boolean[];
330
+ };
331
+ url: {
332
+ type: string;
333
+ format: string;
334
+ description: string;
335
+ };
336
+ };
337
+ required: string[];
338
+ };
339
+ };
340
+ };
341
+ };
342
+ };
343
+ };
344
+ };
345
+ }, {
346
+ redirect: true;
347
+ url: string;
348
+ } | {
349
+ redirect: boolean;
350
+ url: string;
351
+ }>;
352
+ oauth2Continue: import("better-call").StrictEndpoint<"/oauth2/continue", {
353
+ method: "POST";
354
+ body: import("zod").ZodObject<{
355
+ selected: import("zod").ZodOptional<import("zod").ZodBoolean>;
356
+ created: import("zod").ZodOptional<import("zod").ZodBoolean>;
357
+ postLogin: import("zod").ZodOptional<import("zod").ZodBoolean>;
358
+ oauth_query: import("zod").ZodOptional<import("zod").ZodString>;
359
+ }, import("zod/v4/core").$strip>;
360
+ use: import("better-call").Middleware<import("better-call").MiddlewareOptions, (inputContext: import("better-call").MiddlewareInputContext<import("better-call").MiddlewareOptions>) => Promise<{
361
+ session: {
362
+ session: Record<string, any> & {
363
+ id: string;
364
+ createdAt: Date;
365
+ updatedAt: Date;
366
+ userId: string;
367
+ expiresAt: Date;
368
+ token: string;
369
+ ipAddress?: string | null | undefined;
370
+ userAgent?: string | null | undefined;
371
+ };
372
+ user: Record<string, any> & {
373
+ id: string;
374
+ createdAt: Date;
375
+ updatedAt: Date;
376
+ email: string;
377
+ emailVerified: boolean;
378
+ name: string;
379
+ image?: string | null | undefined;
380
+ };
381
+ };
382
+ }>>[];
383
+ metadata: {
384
+ openapi: {
385
+ description: string;
386
+ responses: {
387
+ "200": {
388
+ description: string;
389
+ content: {
390
+ "application/json": {
391
+ schema: {
392
+ type: "object";
393
+ properties: {
394
+ redirect: {
395
+ type: string;
396
+ description: string;
397
+ enum: boolean[];
398
+ };
399
+ url: {
400
+ type: string;
401
+ format: string;
402
+ description: string;
403
+ };
404
+ };
405
+ required: string[];
406
+ };
407
+ };
408
+ };
409
+ };
410
+ };
411
+ };
412
+ };
413
+ }, {
414
+ redirect: true;
415
+ url: string;
416
+ }>;
417
+ oauth2Token: import("better-call").StrictEndpoint<"/oauth2/token", {
418
+ method: "POST";
419
+ cloneRequest: true;
420
+ body: import("zod").ZodObject<{
421
+ grant_type: import("zod").ZodString;
422
+ client_id: import("zod").ZodOptional<import("zod").ZodString>;
423
+ client_secret: import("zod").ZodOptional<import("zod").ZodString>;
424
+ client_assertion: import("zod").ZodOptional<import("zod").ZodString>;
425
+ client_assertion_type: import("zod").ZodOptional<import("zod").ZodString>;
426
+ code: import("zod").ZodOptional<import("zod").ZodString>;
427
+ code_verifier: import("zod").ZodOptional<import("zod").ZodString>;
428
+ redirect_uri: import("zod").ZodOptional<import("zod").ZodURL>;
429
+ refresh_token: import("zod").ZodOptional<import("zod").ZodString>;
430
+ resource: import("zod").ZodOptional<import("zod").ZodUnion<readonly [import("zod").ZodString, import("zod").ZodArray<import("zod").ZodString>]>>;
431
+ scope: import("zod").ZodOptional<import("zod").ZodString>;
432
+ }, import("zod/v4/core").$loose>;
433
+ errorCodesByField: {
434
+ grant_type: {
435
+ missing: "invalid_request";
436
+ invalid: "unsupported_grant_type";
437
+ };
438
+ resource: {
439
+ invalid: "invalid_target";
440
+ };
441
+ };
442
+ metadata: {
443
+ noStore: boolean;
444
+ allowedMediaTypes: string[];
445
+ openapi: {
446
+ description: string;
447
+ parameters: {
448
+ name: string;
449
+ in: "header";
450
+ required: false;
451
+ schema: {
452
+ type: "string";
453
+ };
454
+ description: string;
455
+ }[];
456
+ requestBody: {
457
+ required: boolean;
458
+ content: {
459
+ "application/json": {
460
+ schema: {
461
+ type: "object";
462
+ properties: {
463
+ grant_type: {
464
+ type: string;
465
+ description: string;
466
+ };
467
+ client_id: {
468
+ type: string;
469
+ description: string;
470
+ };
471
+ client_secret: {
472
+ type: string;
473
+ description: string;
474
+ };
475
+ code: {
476
+ type: string;
477
+ description: string;
478
+ };
479
+ code_verifier: {
480
+ type: string;
481
+ description: string;
482
+ };
483
+ redirect_uri: {
484
+ type: string;
485
+ format: string;
486
+ description: string;
487
+ };
488
+ refresh_token: {
489
+ type: string;
490
+ description: string;
491
+ };
492
+ resource: {
493
+ oneOf: ({
494
+ type: string;
495
+ description: string;
496
+ items?: undefined;
497
+ } | {
498
+ type: string;
499
+ items: {
500
+ type: string;
501
+ };
502
+ description: string;
503
+ })[];
504
+ description: string;
505
+ };
506
+ scope: {
507
+ type: string;
508
+ description: string;
509
+ };
510
+ };
511
+ required: string[];
512
+ };
513
+ };
514
+ };
515
+ };
516
+ responses: {
517
+ "200": {
518
+ description: string;
519
+ content: {
520
+ "application/json": {
521
+ schema: {
522
+ type: "object";
523
+ properties: {
524
+ access_token: {
525
+ type: string;
526
+ description: string;
527
+ };
528
+ token_type: {
529
+ type: string;
530
+ description: string;
531
+ enum: string[];
532
+ };
533
+ expires_in: {
534
+ type: string;
535
+ description: string;
536
+ };
537
+ refresh_token: {
538
+ type: string;
539
+ description: string;
540
+ };
541
+ scope: {
542
+ type: string;
543
+ description: string;
544
+ };
545
+ id_token: {
546
+ type: string;
547
+ description: string;
548
+ };
549
+ };
550
+ required: string[];
551
+ };
552
+ };
553
+ };
554
+ };
555
+ "400": {
556
+ description: string;
557
+ content: {
558
+ "application/json": {
559
+ schema: {
560
+ type: "object";
561
+ properties: {
562
+ error: {
563
+ type: string;
564
+ };
565
+ error_description: {
566
+ type: string;
567
+ };
568
+ error_uri: {
569
+ type: string;
570
+ };
571
+ };
572
+ required: string[];
573
+ };
574
+ };
575
+ };
576
+ };
577
+ };
578
+ };
579
+ };
580
+ }, {
581
+ expires_in: number;
582
+ access_token: string;
583
+ expires_at: number;
584
+ token_type: import("@better-auth/oauth-provider").TokenType;
585
+ refresh_token: string | undefined;
586
+ scope: string;
587
+ id_token: string | undefined;
588
+ }>;
589
+ oauth2Introspect: import("better-call").StrictEndpoint<"/oauth2/introspect", {
590
+ method: "POST";
591
+ cloneRequest: true;
592
+ body: import("zod").ZodObject<{
593
+ client_id: import("zod").ZodOptional<import("zod").ZodString>;
594
+ client_secret: import("zod").ZodOptional<import("zod").ZodString>;
595
+ client_assertion: import("zod").ZodOptional<import("zod").ZodString>;
596
+ client_assertion_type: import("zod").ZodOptional<import("zod").ZodString>;
597
+ token: import("zod").ZodString;
598
+ token_type_hint: import("zod").ZodOptional<import("zod").ZodString>;
599
+ }, import("zod/v4/core").$strip>;
600
+ metadata: {
601
+ noStore: boolean;
602
+ allowedMediaTypes: string[];
603
+ openapi: {
604
+ description: string;
605
+ requestBody: {
606
+ required: boolean;
607
+ content: {
608
+ "application/json": {
609
+ schema: {
610
+ type: "object";
611
+ properties: {
612
+ client_id: {
613
+ type: string;
614
+ description: string;
615
+ };
616
+ client_secret: {
617
+ type: string;
618
+ description: string;
619
+ };
620
+ token: {
621
+ type: string;
622
+ description: string;
623
+ };
624
+ token_type_hint: {
625
+ type: string;
626
+ description: string;
627
+ };
628
+ };
629
+ required: string[];
630
+ };
631
+ };
632
+ };
633
+ };
634
+ responses: {
635
+ "200": {
636
+ description: string;
637
+ content: {
638
+ "application/json": {
639
+ schema: {
640
+ type: "object";
641
+ properties: {
642
+ active: {
643
+ type: string;
644
+ description: string;
645
+ };
646
+ scope: {
647
+ type: string;
648
+ description: string;
649
+ };
650
+ client_id: {
651
+ type: string;
652
+ description: string;
653
+ };
654
+ username: {
655
+ type: string;
656
+ description: string;
657
+ };
658
+ token_type: {
659
+ type: string;
660
+ description: string;
661
+ };
662
+ exp: {
663
+ type: string;
664
+ description: string;
665
+ };
666
+ iat: {
667
+ type: string;
668
+ description: string;
669
+ };
670
+ nbf: {
671
+ type: string;
672
+ description: string;
673
+ };
674
+ sub: {
675
+ type: string;
676
+ description: string;
677
+ };
678
+ aud: {
679
+ type: string;
680
+ description: string;
681
+ };
682
+ iss: {
683
+ type: string;
684
+ description: string;
685
+ };
686
+ jti: {
687
+ type: string;
688
+ description: string;
689
+ };
690
+ };
691
+ required: string[];
692
+ };
693
+ };
694
+ };
695
+ };
696
+ "400": {
697
+ description: string;
698
+ content: {
699
+ "application/json": {
700
+ schema: {
701
+ type: "object";
702
+ properties: {
703
+ error: {
704
+ type: string;
705
+ };
706
+ error_description: {
707
+ type: string;
708
+ };
709
+ error_uri: {
710
+ type: string;
711
+ };
712
+ };
713
+ required: string[];
714
+ };
715
+ };
716
+ };
717
+ };
718
+ };
719
+ };
720
+ };
721
+ }, import("jose").JWTPayload>;
722
+ oauth2Revoke: import("better-call").StrictEndpoint<"/oauth2/revoke", {
723
+ method: "POST";
724
+ cloneRequest: true;
725
+ body: import("zod").ZodObject<{
726
+ client_id: import("zod").ZodOptional<import("zod").ZodString>;
727
+ client_secret: import("zod").ZodOptional<import("zod").ZodString>;
728
+ client_assertion: import("zod").ZodOptional<import("zod").ZodString>;
729
+ client_assertion_type: import("zod").ZodOptional<import("zod").ZodString>;
730
+ token: import("zod").ZodString;
731
+ token_type_hint: import("zod").ZodOptional<import("zod").ZodString>;
732
+ }, import("zod/v4/core").$strip>;
733
+ metadata: {
734
+ allowedMediaTypes: string[];
735
+ openapi: {
736
+ description: string;
737
+ requestBody: {
738
+ required: boolean;
739
+ content: {
740
+ "application/json": {
741
+ schema: {
742
+ type: "object";
743
+ properties: {
744
+ client_id: {
745
+ type: string;
746
+ description: string;
747
+ };
748
+ client_secret: {
749
+ type: string;
750
+ description: string;
751
+ };
752
+ token: {
753
+ type: string;
754
+ description: string;
755
+ };
756
+ token_type_hint: {
757
+ type: string;
758
+ description: string;
759
+ };
760
+ };
761
+ required: string[];
762
+ };
763
+ };
764
+ };
765
+ };
766
+ responses: {
767
+ "200": {
768
+ description: string;
769
+ content: {
770
+ "application/json": {
771
+ schema: {
772
+ type: "object";
773
+ description: string;
774
+ };
775
+ };
776
+ };
777
+ };
778
+ "400": {
779
+ description: string;
780
+ content: {
781
+ "application/json": {
782
+ schema: {
783
+ type: "object";
784
+ properties: {
785
+ error: {
786
+ type: string;
787
+ };
788
+ error_description: {
789
+ type: string;
790
+ };
791
+ error_uri: {
792
+ type: string;
793
+ };
794
+ };
795
+ required: string[];
796
+ };
797
+ };
798
+ };
799
+ };
800
+ };
801
+ };
802
+ };
803
+ }, null | undefined>;
804
+ oauth2UserInfo: import("better-call").StrictEndpoint<"/oauth2/userinfo", {
805
+ method: ("GET" | "POST")[];
806
+ body: import("zod").ZodOptional<import("zod").ZodObject<{
807
+ access_token: import("zod").ZodOptional<import("zod").ZodString>;
808
+ }, import("zod/v4/core").$loose>>;
809
+ metadata: {
810
+ noStore: boolean;
811
+ allowedMediaTypes: string[];
812
+ openapi: {
813
+ description: string;
814
+ security: ({
815
+ bearerAuth: never[];
816
+ OAuth2?: undefined;
817
+ } | {
818
+ OAuth2: string[];
819
+ bearerAuth?: undefined;
820
+ })[];
821
+ parameters: {
822
+ name: string;
823
+ in: "header";
824
+ required: false;
825
+ schema: {
826
+ type: "string";
827
+ };
828
+ description: string;
829
+ }[];
830
+ responses: {
831
+ "200": {
832
+ description: string;
833
+ content: {
834
+ "application/json": {
835
+ schema: {
836
+ type: "object";
837
+ properties: {
838
+ sub: {
839
+ type: string;
840
+ description: string;
841
+ };
842
+ email: {
843
+ type: string;
844
+ format: string;
845
+ nullable: boolean;
846
+ description: string;
847
+ };
848
+ name: {
849
+ type: string;
850
+ nullable: boolean;
851
+ description: string;
852
+ };
853
+ picture: {
854
+ type: string;
855
+ format: string;
856
+ nullable: boolean;
857
+ description: string;
858
+ };
859
+ given_name: {
860
+ type: string;
861
+ nullable: boolean;
862
+ description: string;
863
+ };
864
+ family_name: {
865
+ type: string;
866
+ nullable: boolean;
867
+ description: string;
868
+ };
869
+ email_verified: {
870
+ type: string;
871
+ nullable: boolean;
872
+ description: string;
873
+ };
874
+ };
875
+ required: string[];
876
+ };
877
+ };
878
+ };
879
+ };
880
+ "401": {
881
+ description: string;
882
+ content: {
883
+ "application/json": {
884
+ schema: {
885
+ type: "object";
886
+ properties: {
887
+ error: {
888
+ type: string;
889
+ };
890
+ error_description: {
891
+ type: string;
892
+ };
893
+ };
894
+ required: string[];
895
+ };
896
+ };
897
+ };
898
+ };
899
+ "403": {
900
+ description: string;
901
+ content: {
902
+ "application/json": {
903
+ schema: {
904
+ type: "object";
905
+ properties: {
906
+ error: {
907
+ type: string;
908
+ };
909
+ error_description: {
910
+ type: string;
911
+ };
912
+ };
913
+ required: string[];
914
+ };
915
+ };
916
+ };
917
+ };
918
+ };
919
+ };
920
+ };
921
+ }, {
922
+ sub: unknown;
923
+ }>;
924
+ oauth2EndSession: import("better-call").StrictEndpoint<"/oauth2/end-session", {
925
+ method: ("GET" | "POST")[];
926
+ body: import("zod").ZodOptional<import("zod").ZodObject<{
927
+ id_token_hint: import("zod").ZodOptional<import("zod").ZodString>;
928
+ client_id: import("zod").ZodOptional<import("zod").ZodString>;
929
+ post_logout_redirect_uri: import("zod").ZodOptional<import("zod").ZodURL>;
930
+ state: import("zod").ZodOptional<import("zod").ZodString>;
931
+ }, import("zod/v4/core").$strip>>;
932
+ query: import("zod").ZodOptional<import("zod").ZodObject<{
933
+ id_token_hint: import("zod").ZodOptional<import("zod").ZodString>;
934
+ client_id: import("zod").ZodOptional<import("zod").ZodString>;
935
+ post_logout_redirect_uri: import("zod").ZodOptional<import("zod").ZodURL>;
936
+ state: import("zod").ZodOptional<import("zod").ZodString>;
937
+ }, import("zod/v4/core").$strip>>;
938
+ metadata: {
939
+ noStore: boolean;
940
+ allowedMediaTypes: string[];
941
+ $Infer: {
942
+ body: {
943
+ id_token_hint?: string;
944
+ client_id?: string;
945
+ post_logout_redirect_uri?: string;
946
+ state?: string;
947
+ } | {
948
+ query: {
949
+ id_token_hint?: string;
950
+ client_id?: string;
951
+ post_logout_redirect_uri?: string;
952
+ state?: string;
953
+ };
954
+ };
955
+ query: {
956
+ id_token_hint?: string;
957
+ client_id?: string;
958
+ post_logout_redirect_uri?: string;
959
+ state?: string;
960
+ };
961
+ };
962
+ openapi: {
963
+ description: string;
964
+ responses: {
965
+ "200": {
966
+ description: string;
967
+ content: {
968
+ "application/json": {
969
+ schema: {
970
+ type: "object";
971
+ properties: {
972
+ redirect_uri: {
973
+ type: string;
974
+ format: string;
975
+ description: string;
976
+ };
977
+ message: {
978
+ type: string;
979
+ description: string;
980
+ };
981
+ };
982
+ };
983
+ };
984
+ "text/html": {
985
+ schema: {
986
+ type: "string";
987
+ };
988
+ };
989
+ };
990
+ };
991
+ };
992
+ };
993
+ };
994
+ }, Response | {
995
+ redirect: true;
996
+ url: string;
997
+ } | null>;
998
+ oauth2EndSessionConfirmation: import("better-call").StrictEndpoint<"/oauth2/end-session/confirm", {
999
+ method: "POST";
1000
+ body: import("zod").ZodObject<{
1001
+ action: import("zod").ZodLiteral<"confirm">;
1002
+ }, import("zod/v4/core").$strip>;
1003
+ metadata: {
1004
+ noStore: boolean;
1005
+ allowedMediaTypes: string[];
1006
+ scope: "http";
1007
+ };
1008
+ }, Response | {
1009
+ redirect: true;
1010
+ url: string;
1011
+ } | null>;
1012
+ registerOAuthClient: import("better-call").StrictEndpoint<"/oauth2/register", {
1013
+ method: "POST";
1014
+ body: import("zod").ZodObject<{
1015
+ redirect_uris: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodURL>>;
1016
+ scope: import("zod").ZodOptional<import("zod").ZodString>;
1017
+ client_name: import("zod").ZodOptional<import("zod").ZodString>;
1018
+ client_uri: import("zod").ZodOptional<import("zod").ZodString>;
1019
+ logo_uri: import("zod").ZodOptional<import("zod").ZodString>;
1020
+ contacts: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
1021
+ tos_uri: import("zod").ZodOptional<import("zod").ZodString>;
1022
+ policy_uri: import("zod").ZodOptional<import("zod").ZodString>;
1023
+ software_id: import("zod").ZodOptional<import("zod").ZodString>;
1024
+ software_version: import("zod").ZodOptional<import("zod").ZodString>;
1025
+ software_statement: import("zod").ZodOptional<import("zod").ZodString>;
1026
+ post_logout_redirect_uris: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodURL>>;
1027
+ backchannel_logout_uri: import("zod").ZodOptional<import("zod").ZodURL>;
1028
+ backchannel_logout_session_required: import("zod").ZodOptional<import("zod").ZodBoolean>;
1029
+ token_endpoint_auth_method: import("zod").ZodOptional<import("zod").ZodString>;
1030
+ jwks: import("zod").ZodOptional<import("zod").ZodObject<{
1031
+ keys: import("zod").ZodArray<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>>;
1032
+ }, import("zod/v4/core").$strip>>;
1033
+ jwks_uri: import("zod").ZodOptional<import("zod").ZodString>;
1034
+ grant_types: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
1035
+ response_types: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodEnum<{
1036
+ code: "code";
1037
+ }>>>;
1038
+ application_type: import("zod").ZodOptional<import("zod").ZodEnum<{
1039
+ web: "web";
1040
+ native: "native";
1041
+ }>>;
1042
+ subject_type: import("zod").ZodOptional<import("zod").ZodEnum<{
1043
+ public: "public";
1044
+ pairwise: "pairwise";
1045
+ }>>;
1046
+ dpop_bound_access_tokens: import("zod").ZodOptional<import("zod").ZodBoolean>;
1047
+ resources: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
1048
+ skip_consent: import("zod").ZodOptional<import("zod").ZodNever>;
1049
+ }, import("zod/v4/core").$strip>;
1050
+ errorCodesByField: {
1051
+ redirect_uris: "invalid_redirect_uri";
1052
+ post_logout_redirect_uris: "invalid_redirect_uri";
1053
+ software_statement: "invalid_software_statement";
1054
+ resources: "invalid_target";
1055
+ };
1056
+ defaultError: "invalid_client_metadata";
1057
+ metadata: {
1058
+ noStore: boolean;
1059
+ openapi: {
1060
+ description: string;
1061
+ responses: {
1062
+ "201": {
1063
+ description: string;
1064
+ content: {
1065
+ "application/json": {
1066
+ schema: {
1067
+ type: "object";
1068
+ properties: {
1069
+ client_id: {
1070
+ type: string;
1071
+ description: string;
1072
+ };
1073
+ client_secret: {
1074
+ type: string;
1075
+ description: string;
1076
+ };
1077
+ client_secret_expires_at: {
1078
+ type: string;
1079
+ description: string;
1080
+ };
1081
+ scope: {
1082
+ type: string;
1083
+ description: string;
1084
+ };
1085
+ user_id: {
1086
+ type: string;
1087
+ description: string;
1088
+ };
1089
+ client_id_issued_at: {
1090
+ type: string;
1091
+ description: string;
1092
+ };
1093
+ client_name: {
1094
+ type: string;
1095
+ description: string;
1096
+ };
1097
+ client_uri: {
1098
+ type: string;
1099
+ description: string;
1100
+ };
1101
+ logo_uri: {
1102
+ type: string;
1103
+ description: string;
1104
+ };
1105
+ contacts: {
1106
+ type: string;
1107
+ items: {
1108
+ type: string;
1109
+ };
1110
+ description: string;
1111
+ };
1112
+ tos_uri: {
1113
+ type: string;
1114
+ description: string;
1115
+ };
1116
+ policy_uri: {
1117
+ type: string;
1118
+ description: string;
1119
+ };
1120
+ software_id: {
1121
+ type: string;
1122
+ description: string;
1123
+ };
1124
+ software_version: {
1125
+ type: string;
1126
+ description: string;
1127
+ };
1128
+ software_statement: {
1129
+ type: string;
1130
+ description: string;
1131
+ };
1132
+ redirect_uris: {
1133
+ type: string;
1134
+ items: {
1135
+ type: string;
1136
+ format: string;
1137
+ };
1138
+ description: string;
1139
+ };
1140
+ post_logout_redirect_uris: {
1141
+ type: string;
1142
+ items: {
1143
+ type: string;
1144
+ format: string;
1145
+ };
1146
+ description: string;
1147
+ };
1148
+ backchannel_logout_uri: {
1149
+ type: string;
1150
+ format: string;
1151
+ description: string;
1152
+ };
1153
+ backchannel_logout_session_required: {
1154
+ type: string;
1155
+ description: string;
1156
+ };
1157
+ token_endpoint_auth_method: {
1158
+ type: string;
1159
+ description: string;
1160
+ };
1161
+ grant_types: {
1162
+ type: string;
1163
+ items: {
1164
+ type: string;
1165
+ };
1166
+ description: string;
1167
+ };
1168
+ response_types: {
1169
+ type: string;
1170
+ items: {
1171
+ type: string;
1172
+ enum: string[];
1173
+ };
1174
+ description: string;
1175
+ };
1176
+ application_type: {
1177
+ type: string;
1178
+ description: string;
1179
+ enum: string[];
1180
+ };
1181
+ resources: {
1182
+ type: string;
1183
+ items: {
1184
+ type: string;
1185
+ format: string;
1186
+ };
1187
+ description: string;
1188
+ };
1189
+ disabled: {
1190
+ type: string;
1191
+ description: string;
1192
+ };
1193
+ };
1194
+ required: string[];
1195
+ };
1196
+ };
1197
+ };
1198
+ };
1199
+ };
1200
+ };
1201
+ };
1202
+ }, import("@better-auth/oauth-provider").OAuthClientRegistrationResponse>;
1203
+ adminCreateOAuthClient: import("better-call").StrictEndpoint<"/admin/oauth2/create-client", {
1204
+ method: "POST";
1205
+ body: import("zod").ZodObject<{
1206
+ redirect_uris: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodURL>>;
1207
+ scope: import("zod").ZodOptional<import("zod").ZodString>;
1208
+ client_name: import("zod").ZodOptional<import("zod").ZodString>;
1209
+ client_uri: import("zod").ZodOptional<import("zod").ZodString>;
1210
+ logo_uri: import("zod").ZodOptional<import("zod").ZodString>;
1211
+ contacts: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
1212
+ tos_uri: import("zod").ZodOptional<import("zod").ZodString>;
1213
+ policy_uri: import("zod").ZodOptional<import("zod").ZodString>;
1214
+ software_id: import("zod").ZodOptional<import("zod").ZodString>;
1215
+ software_version: import("zod").ZodOptional<import("zod").ZodString>;
1216
+ software_statement: import("zod").ZodOptional<import("zod").ZodString>;
1217
+ post_logout_redirect_uris: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodURL>>;
1218
+ backchannel_logout_uri: import("zod").ZodOptional<import("zod").ZodURL>;
1219
+ backchannel_logout_session_required: import("zod").ZodOptional<import("zod").ZodBoolean>;
1220
+ token_endpoint_auth_method: import("zod").ZodOptional<import("zod").ZodString>;
1221
+ application_type: import("zod").ZodOptional<import("zod").ZodEnum<{
1222
+ web: "web";
1223
+ native: "native";
1224
+ }>>;
1225
+ jwks: import("zod").ZodOptional<import("zod").ZodObject<{
1226
+ keys: import("zod").ZodArray<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>>;
1227
+ }, import("zod/v4/core").$strip>>;
1228
+ jwks_uri: import("zod").ZodOptional<import("zod").ZodString>;
1229
+ grant_types: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
1230
+ client_credentials_scopes: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
1231
+ resources: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
1232
+ response_types: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodEnum<{
1233
+ code: "code";
1234
+ }>>>;
1235
+ client_secret_expires_at: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodUnion<readonly [import("zod").ZodString, import("zod").ZodNumber]>>>;
1236
+ skip_consent: import("zod").ZodOptional<import("zod").ZodBoolean>;
1237
+ enable_end_session: import("zod").ZodOptional<import("zod").ZodBoolean>;
1238
+ require_pkce: import("zod").ZodOptional<import("zod").ZodBoolean>;
1239
+ dpop_bound_access_tokens: import("zod").ZodOptional<import("zod").ZodBoolean>;
1240
+ subject_type: import("zod").ZodOptional<import("zod").ZodEnum<{
1241
+ public: "public";
1242
+ pairwise: "pairwise";
1243
+ }>>;
1244
+ metadata: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>>;
1245
+ }, import("zod/v4/core").$strip>;
1246
+ metadata: {
1247
+ noStore: boolean;
1248
+ SERVER_ONLY: true;
1249
+ openapi: {
1250
+ description: string;
1251
+ responses: {
1252
+ "201": {
1253
+ description: string;
1254
+ content: {
1255
+ "application/json": {
1256
+ schema: {
1257
+ type: "object";
1258
+ properties: {
1259
+ client_id: {
1260
+ type: string;
1261
+ description: string;
1262
+ };
1263
+ client_secret: {
1264
+ type: string;
1265
+ description: string;
1266
+ };
1267
+ client_secret_expires_at: {
1268
+ type: string;
1269
+ description: string;
1270
+ };
1271
+ scope: {
1272
+ type: string;
1273
+ description: string;
1274
+ };
1275
+ client_credentials_scopes: {
1276
+ type: string;
1277
+ items: {
1278
+ type: string;
1279
+ };
1280
+ description: string;
1281
+ };
1282
+ user_id: {
1283
+ type: string;
1284
+ description: string;
1285
+ };
1286
+ client_id_issued_at: {
1287
+ type: string;
1288
+ description: string;
1289
+ };
1290
+ client_name: {
1291
+ type: string;
1292
+ description: string;
1293
+ };
1294
+ client_uri: {
1295
+ type: string;
1296
+ description: string;
1297
+ };
1298
+ logo_uri: {
1299
+ type: string;
1300
+ description: string;
1301
+ };
1302
+ contacts: {
1303
+ type: string;
1304
+ items: {
1305
+ type: string;
1306
+ };
1307
+ description: string;
1308
+ };
1309
+ tos_uri: {
1310
+ type: string;
1311
+ description: string;
1312
+ };
1313
+ policy_uri: {
1314
+ type: string;
1315
+ description: string;
1316
+ };
1317
+ software_id: {
1318
+ type: string;
1319
+ description: string;
1320
+ };
1321
+ software_version: {
1322
+ type: string;
1323
+ description: string;
1324
+ };
1325
+ software_statement: {
1326
+ type: string;
1327
+ description: string;
1328
+ };
1329
+ redirect_uris: {
1330
+ type: string;
1331
+ items: {
1332
+ type: string;
1333
+ format: string;
1334
+ };
1335
+ description: string;
1336
+ };
1337
+ token_endpoint_auth_method: {
1338
+ type: string;
1339
+ description: string;
1340
+ };
1341
+ grant_types: {
1342
+ type: string;
1343
+ items: {
1344
+ type: string;
1345
+ };
1346
+ description: string;
1347
+ };
1348
+ response_types: {
1349
+ type: string;
1350
+ items: {
1351
+ type: string;
1352
+ enum: string[];
1353
+ };
1354
+ description: string;
1355
+ };
1356
+ application_type: {
1357
+ type: string;
1358
+ description: string;
1359
+ enum: string[];
1360
+ };
1361
+ resources: {
1362
+ type: string;
1363
+ items: {
1364
+ type: string;
1365
+ format: string;
1366
+ };
1367
+ description: string;
1368
+ };
1369
+ disabled: {
1370
+ type: string;
1371
+ description: string;
1372
+ };
1373
+ require_pkce: {
1374
+ type: string;
1375
+ description: string;
1376
+ default: boolean;
1377
+ };
1378
+ metadata: {
1379
+ type: string;
1380
+ additionalProperties: boolean;
1381
+ nullable: boolean;
1382
+ description: string;
1383
+ };
1384
+ };
1385
+ required: string[];
1386
+ };
1387
+ };
1388
+ };
1389
+ };
1390
+ };
1391
+ };
1392
+ };
1393
+ }, import("@better-auth/oauth-provider").OAuthClientAdministrativeResponse>;
1394
+ createOAuthClient: import("better-call").StrictEndpoint<"/oauth2/create-client", {
1395
+ method: "POST";
1396
+ use: import("better-call").Middleware<import("better-call").MiddlewareOptions, (inputContext: import("better-call").MiddlewareInputContext<import("better-call").MiddlewareOptions>) => Promise<{
1397
+ session: {
1398
+ session: Record<string, any> & {
1399
+ id: string;
1400
+ createdAt: Date;
1401
+ updatedAt: Date;
1402
+ userId: string;
1403
+ expiresAt: Date;
1404
+ token: string;
1405
+ ipAddress?: string | null | undefined;
1406
+ userAgent?: string | null | undefined;
1407
+ };
1408
+ user: Record<string, any> & {
1409
+ id: string;
1410
+ createdAt: Date;
1411
+ updatedAt: Date;
1412
+ email: string;
1413
+ emailVerified: boolean;
1414
+ name: string;
1415
+ image?: string | null | undefined;
1416
+ };
1417
+ };
1418
+ }>>[];
1419
+ body: import("zod").ZodObject<{
1420
+ redirect_uris: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodURL>>;
1421
+ scope: import("zod").ZodOptional<import("zod").ZodString>;
1422
+ client_name: import("zod").ZodOptional<import("zod").ZodString>;
1423
+ client_uri: import("zod").ZodOptional<import("zod").ZodString>;
1424
+ logo_uri: import("zod").ZodOptional<import("zod").ZodString>;
1425
+ contacts: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
1426
+ tos_uri: import("zod").ZodOptional<import("zod").ZodString>;
1427
+ policy_uri: import("zod").ZodOptional<import("zod").ZodString>;
1428
+ software_id: import("zod").ZodOptional<import("zod").ZodString>;
1429
+ software_version: import("zod").ZodOptional<import("zod").ZodString>;
1430
+ software_statement: import("zod").ZodOptional<import("zod").ZodString>;
1431
+ post_logout_redirect_uris: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodURL>>;
1432
+ backchannel_logout_uri: import("zod").ZodOptional<import("zod").ZodURL>;
1433
+ backchannel_logout_session_required: import("zod").ZodOptional<import("zod").ZodBoolean>;
1434
+ token_endpoint_auth_method: import("zod").ZodOptional<import("zod").ZodString>;
1435
+ application_type: import("zod").ZodOptional<import("zod").ZodEnum<{
1436
+ web: "web";
1437
+ native: "native";
1438
+ }>>;
1439
+ jwks: import("zod").ZodOptional<import("zod").ZodObject<{
1440
+ keys: import("zod").ZodArray<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>>;
1441
+ }, import("zod/v4/core").$strip>>;
1442
+ jwks_uri: import("zod").ZodOptional<import("zod").ZodString>;
1443
+ grant_types: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
1444
+ response_types: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodEnum<{
1445
+ code: "code";
1446
+ }>>>;
1447
+ dpop_bound_access_tokens: import("zod").ZodOptional<import("zod").ZodBoolean>;
1448
+ }, import("zod/v4/core").$strip>;
1449
+ metadata: {
1450
+ noStore: boolean;
1451
+ openapi: {
1452
+ description: string;
1453
+ responses: {
1454
+ "201": {
1455
+ description: string;
1456
+ content: {
1457
+ "application/json": {
1458
+ schema: {
1459
+ type: "object";
1460
+ properties: {
1461
+ client_id: {
1462
+ type: string;
1463
+ description: string;
1464
+ };
1465
+ client_secret: {
1466
+ type: string;
1467
+ description: string;
1468
+ };
1469
+ client_secret_expires_at: {
1470
+ type: string;
1471
+ description: string;
1472
+ };
1473
+ scope: {
1474
+ type: string;
1475
+ description: string;
1476
+ };
1477
+ user_id: {
1478
+ type: string;
1479
+ description: string;
1480
+ };
1481
+ client_id_issued_at: {
1482
+ type: string;
1483
+ description: string;
1484
+ };
1485
+ client_name: {
1486
+ type: string;
1487
+ description: string;
1488
+ };
1489
+ client_uri: {
1490
+ type: string;
1491
+ description: string;
1492
+ };
1493
+ logo_uri: {
1494
+ type: string;
1495
+ description: string;
1496
+ };
1497
+ contacts: {
1498
+ type: string;
1499
+ items: {
1500
+ type: string;
1501
+ };
1502
+ description: string;
1503
+ };
1504
+ tos_uri: {
1505
+ type: string;
1506
+ description: string;
1507
+ };
1508
+ policy_uri: {
1509
+ type: string;
1510
+ description: string;
1511
+ };
1512
+ software_id: {
1513
+ type: string;
1514
+ description: string;
1515
+ };
1516
+ software_version: {
1517
+ type: string;
1518
+ description: string;
1519
+ };
1520
+ software_statement: {
1521
+ type: string;
1522
+ description: string;
1523
+ };
1524
+ redirect_uris: {
1525
+ type: string;
1526
+ items: {
1527
+ type: string;
1528
+ format: string;
1529
+ };
1530
+ description: string;
1531
+ };
1532
+ token_endpoint_auth_method: {
1533
+ type: string;
1534
+ description: string;
1535
+ };
1536
+ grant_types: {
1537
+ type: string;
1538
+ items: {
1539
+ type: string;
1540
+ };
1541
+ description: string;
1542
+ };
1543
+ response_types: {
1544
+ type: string;
1545
+ items: {
1546
+ type: string;
1547
+ enum: string[];
1548
+ };
1549
+ description: string;
1550
+ };
1551
+ application_type: {
1552
+ type: string;
1553
+ description: string;
1554
+ enum: string[];
1555
+ };
1556
+ resources: {
1557
+ type: string;
1558
+ items: {
1559
+ type: string;
1560
+ format: string;
1561
+ };
1562
+ description: string;
1563
+ };
1564
+ disabled: {
1565
+ type: string;
1566
+ description: string;
1567
+ };
1568
+ metadata: {
1569
+ type: string;
1570
+ additionalProperties: boolean;
1571
+ nullable: boolean;
1572
+ description: string;
1573
+ };
1574
+ };
1575
+ required: string[];
1576
+ };
1577
+ };
1578
+ };
1579
+ };
1580
+ };
1581
+ };
1582
+ };
1583
+ }, import("@better-auth/oauth-provider").OAuthClientRegistrationResponse>;
1584
+ getOAuthClient: import("better-call").StrictEndpoint<"/oauth2/get-client", {
1585
+ method: "GET";
1586
+ use: import("better-call").Middleware<import("better-call").MiddlewareOptions, (inputContext: import("better-call").MiddlewareInputContext<import("better-call").MiddlewareOptions>) => Promise<{
1587
+ session: {
1588
+ session: Record<string, any> & {
1589
+ id: string;
1590
+ createdAt: Date;
1591
+ updatedAt: Date;
1592
+ userId: string;
1593
+ expiresAt: Date;
1594
+ token: string;
1595
+ ipAddress?: string | null | undefined;
1596
+ userAgent?: string | null | undefined;
1597
+ };
1598
+ user: Record<string, any> & {
1599
+ id: string;
1600
+ createdAt: Date;
1601
+ updatedAt: Date;
1602
+ email: string;
1603
+ emailVerified: boolean;
1604
+ name: string;
1605
+ image?: string | null | undefined;
1606
+ };
1607
+ };
1608
+ }>>[];
1609
+ query: import("zod").ZodObject<{
1610
+ client_id: import("zod").ZodString;
1611
+ }, import("zod/v4/core").$strip>;
1612
+ metadata: {
1613
+ openapi: {
1614
+ description: string;
1615
+ };
1616
+ };
1617
+ }, import("@better-auth/oauth-provider").OAuthClient>;
1618
+ getOAuthClientPublic: import("better-call").StrictEndpoint<"/oauth2/public-client", {
1619
+ method: "GET";
1620
+ use: import("better-call").Middleware<import("better-call").MiddlewareOptions, (inputContext: import("better-call").MiddlewareInputContext<import("better-call").MiddlewareOptions>) => Promise<{
1621
+ session: {
1622
+ session: Record<string, any> & {
1623
+ id: string;
1624
+ createdAt: Date;
1625
+ updatedAt: Date;
1626
+ userId: string;
1627
+ expiresAt: Date;
1628
+ token: string;
1629
+ ipAddress?: string | null | undefined;
1630
+ userAgent?: string | null | undefined;
1631
+ };
1632
+ user: Record<string, any> & {
1633
+ id: string;
1634
+ createdAt: Date;
1635
+ updatedAt: Date;
1636
+ email: string;
1637
+ emailVerified: boolean;
1638
+ name: string;
1639
+ image?: string | null | undefined;
1640
+ };
1641
+ };
1642
+ }>>[];
1643
+ query: import("zod").ZodObject<{
1644
+ client_id: import("zod").ZodString;
1645
+ }, import("zod/v4/core").$strip>;
1646
+ metadata: {
1647
+ openapi: {
1648
+ description: string;
1649
+ };
1650
+ };
1651
+ }, import("@better-auth/oauth-provider").OAuthClient>;
1652
+ getOAuthClientPublicPrelogin: import("better-call").StrictEndpoint<"/oauth2/public-client-prelogin", {
1653
+ method: "POST";
1654
+ use: import("better-call").Middleware<import("better-call").MiddlewareOptions, (inputContext: import("better-call").MiddlewareInputContext<import("better-call").MiddlewareOptions>) => Promise<void>>[];
1655
+ body: import("zod").ZodObject<{
1656
+ client_id: import("zod").ZodString;
1657
+ oauth_query: import("zod").ZodOptional<import("zod").ZodString>;
1658
+ }, import("zod/v4/core").$strip>;
1659
+ metadata: {
1660
+ openapi: {
1661
+ description: string;
1662
+ };
1663
+ };
1664
+ }, import("@better-auth/oauth-provider").OAuthClient>;
1665
+ getOAuthClients: import("better-call").StrictEndpoint<"/oauth2/get-clients", {
1666
+ method: "GET";
1667
+ use: import("better-call").Middleware<import("better-call").MiddlewareOptions, (inputContext: import("better-call").MiddlewareInputContext<import("better-call").MiddlewareOptions>) => Promise<{
1668
+ session: {
1669
+ session: Record<string, any> & {
1670
+ id: string;
1671
+ createdAt: Date;
1672
+ updatedAt: Date;
1673
+ userId: string;
1674
+ expiresAt: Date;
1675
+ token: string;
1676
+ ipAddress?: string | null | undefined;
1677
+ userAgent?: string | null | undefined;
1678
+ };
1679
+ user: Record<string, any> & {
1680
+ id: string;
1681
+ createdAt: Date;
1682
+ updatedAt: Date;
1683
+ email: string;
1684
+ emailVerified: boolean;
1685
+ name: string;
1686
+ image?: string | null | undefined;
1687
+ };
1688
+ };
1689
+ }>>[];
1690
+ metadata: {
1691
+ openapi: {
1692
+ description: string;
1693
+ };
1694
+ };
1695
+ }, import("@better-auth/oauth-provider").OAuthClient[] | null>;
1696
+ adminUpdateOAuthClient: import("better-call").StrictEndpoint<"/admin/oauth2/update-client", {
1697
+ method: "PATCH";
1698
+ body: import("zod").ZodObject<{
1699
+ client_id: import("zod").ZodString;
1700
+ update: import("zod").ZodObject<{
1701
+ redirect_uris: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodURL>>;
1702
+ scope: import("zod").ZodOptional<import("zod").ZodString>;
1703
+ client_name: import("zod").ZodOptional<import("zod").ZodString>;
1704
+ client_uri: import("zod").ZodOptional<import("zod").ZodString>;
1705
+ logo_uri: import("zod").ZodOptional<import("zod").ZodString>;
1706
+ contacts: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
1707
+ tos_uri: import("zod").ZodOptional<import("zod").ZodString>;
1708
+ policy_uri: import("zod").ZodOptional<import("zod").ZodString>;
1709
+ software_id: import("zod").ZodOptional<import("zod").ZodString>;
1710
+ software_version: import("zod").ZodOptional<import("zod").ZodString>;
1711
+ software_statement: import("zod").ZodOptional<import("zod").ZodString>;
1712
+ post_logout_redirect_uris: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodURL>>;
1713
+ backchannel_logout_uri: import("zod").ZodOptional<import("zod").ZodURL>;
1714
+ backchannel_logout_session_required: import("zod").ZodOptional<import("zod").ZodBoolean>;
1715
+ application_type: import("zod").ZodOptional<import("zod").ZodEnum<{
1716
+ web: "web";
1717
+ native: "native";
1718
+ }>>;
1719
+ grant_types: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
1720
+ client_credentials_scopes: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
1721
+ response_types: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodEnum<{
1722
+ code: "code";
1723
+ }>>>;
1724
+ client_secret_expires_at: import("zod").ZodOptional<import("zod").ZodUnion<readonly [import("zod").ZodString, import("zod").ZodNumber]>>;
1725
+ skip_consent: import("zod").ZodOptional<import("zod").ZodBoolean>;
1726
+ enable_end_session: import("zod").ZodOptional<import("zod").ZodBoolean>;
1727
+ disabled: import("zod").ZodOptional<import("zod").ZodBoolean>;
1728
+ dpop_bound_access_tokens: import("zod").ZodOptional<import("zod").ZodBoolean>;
1729
+ metadata: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>>;
1730
+ }, import("zod/v4/core").$strip>;
1731
+ }, import("zod/v4/core").$strip>;
1732
+ metadata: {
1733
+ SERVER_ONLY: true;
1734
+ openapi: {
1735
+ description: string;
1736
+ };
1737
+ };
1738
+ }, import("@better-auth/oauth-provider").OAuthClientAdministrativeResponse>;
1739
+ updateOAuthClient: import("better-call").StrictEndpoint<"/oauth2/update-client", {
1740
+ method: "POST";
1741
+ use: import("better-call").Middleware<import("better-call").MiddlewareOptions, (inputContext: import("better-call").MiddlewareInputContext<import("better-call").MiddlewareOptions>) => Promise<{
1742
+ session: {
1743
+ session: Record<string, any> & {
1744
+ id: string;
1745
+ createdAt: Date;
1746
+ updatedAt: Date;
1747
+ userId: string;
1748
+ expiresAt: Date;
1749
+ token: string;
1750
+ ipAddress?: string | null | undefined;
1751
+ userAgent?: string | null | undefined;
1752
+ };
1753
+ user: Record<string, any> & {
1754
+ id: string;
1755
+ createdAt: Date;
1756
+ updatedAt: Date;
1757
+ email: string;
1758
+ emailVerified: boolean;
1759
+ name: string;
1760
+ image?: string | null | undefined;
1761
+ };
1762
+ };
1763
+ }>>[];
1764
+ body: import("zod").ZodObject<{
1765
+ client_id: import("zod").ZodString;
1766
+ update: import("zod").ZodObject<{
1767
+ redirect_uris: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodURL>>;
1768
+ scope: import("zod").ZodOptional<import("zod").ZodString>;
1769
+ client_name: import("zod").ZodOptional<import("zod").ZodString>;
1770
+ client_uri: import("zod").ZodOptional<import("zod").ZodString>;
1771
+ logo_uri: import("zod").ZodOptional<import("zod").ZodString>;
1772
+ contacts: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
1773
+ tos_uri: import("zod").ZodOptional<import("zod").ZodString>;
1774
+ policy_uri: import("zod").ZodOptional<import("zod").ZodString>;
1775
+ software_id: import("zod").ZodOptional<import("zod").ZodString>;
1776
+ software_version: import("zod").ZodOptional<import("zod").ZodString>;
1777
+ software_statement: import("zod").ZodOptional<import("zod").ZodString>;
1778
+ post_logout_redirect_uris: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodURL>>;
1779
+ backchannel_logout_uri: import("zod").ZodOptional<import("zod").ZodURL>;
1780
+ backchannel_logout_session_required: import("zod").ZodOptional<import("zod").ZodBoolean>;
1781
+ application_type: import("zod").ZodOptional<import("zod").ZodEnum<{
1782
+ web: "web";
1783
+ native: "native";
1784
+ }>>;
1785
+ grant_types: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
1786
+ response_types: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodEnum<{
1787
+ code: "code";
1788
+ }>>>;
1789
+ }, import("zod/v4/core").$strip>;
1790
+ }, import("zod/v4/core").$strip>;
1791
+ metadata: {
1792
+ openapi: {
1793
+ description: string;
1794
+ };
1795
+ };
1796
+ }, import("@better-auth/oauth-provider").OAuthClientRegistrationResponse>;
1797
+ rotateClientSecret: import("better-call").StrictEndpoint<"/oauth2/client/rotate-secret", {
1798
+ method: "POST";
1799
+ use: import("better-call").Middleware<import("better-call").MiddlewareOptions, (inputContext: import("better-call").MiddlewareInputContext<import("better-call").MiddlewareOptions>) => Promise<{
1800
+ session: {
1801
+ session: Record<string, any> & {
1802
+ id: string;
1803
+ createdAt: Date;
1804
+ updatedAt: Date;
1805
+ userId: string;
1806
+ expiresAt: Date;
1807
+ token: string;
1808
+ ipAddress?: string | null | undefined;
1809
+ userAgent?: string | null | undefined;
1810
+ };
1811
+ user: Record<string, any> & {
1812
+ id: string;
1813
+ createdAt: Date;
1814
+ updatedAt: Date;
1815
+ email: string;
1816
+ emailVerified: boolean;
1817
+ name: string;
1818
+ image?: string | null | undefined;
1819
+ };
1820
+ };
1821
+ }>>[];
1822
+ body: import("zod").ZodObject<{
1823
+ client_id: import("zod").ZodString;
1824
+ }, import("zod/v4/core").$strip>;
1825
+ metadata: {
1826
+ noStore: boolean;
1827
+ openapi: {
1828
+ description: string;
1829
+ };
1830
+ };
1831
+ }, import("@better-auth/oauth-provider").OAuthClient>;
1832
+ rotateClientKeys: import("better-call").StrictEndpoint<"/oauth2/client/rotate-keys", {
1833
+ method: "POST";
1834
+ body: import("zod").ZodObject<{
1835
+ client_assertion: import("zod").ZodString;
1836
+ client_assertion_type: import("zod").ZodString;
1837
+ jwks: import("zod").ZodObject<{
1838
+ keys: import("zod").ZodArray<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>>;
1839
+ }, import("zod/v4/core").$strip>;
1840
+ }, import("zod/v4/core").$strip>;
1841
+ errorCodesByField: {
1842
+ client_assertion: "invalid_client";
1843
+ client_assertion_type: "invalid_client";
1844
+ jwks: "invalid_client_metadata";
1845
+ };
1846
+ metadata: {
1847
+ noStore: boolean;
1848
+ openapi: {
1849
+ description: string;
1850
+ };
1851
+ };
1852
+ }, {
1853
+ client_id: string;
1854
+ jwks: {
1855
+ keys: Record<string, unknown>[];
1856
+ };
1857
+ }>;
1858
+ deleteOAuthClient: import("better-call").StrictEndpoint<"/oauth2/delete-client", {
1859
+ method: "POST";
1860
+ use: import("better-call").Middleware<import("better-call").MiddlewareOptions, (inputContext: import("better-call").MiddlewareInputContext<import("better-call").MiddlewareOptions>) => Promise<{
1861
+ session: {
1862
+ session: Record<string, any> & {
1863
+ id: string;
1864
+ createdAt: Date;
1865
+ updatedAt: Date;
1866
+ userId: string;
1867
+ expiresAt: Date;
1868
+ token: string;
1869
+ ipAddress?: string | null | undefined;
1870
+ userAgent?: string | null | undefined;
1871
+ };
1872
+ user: Record<string, any> & {
1873
+ id: string;
1874
+ createdAt: Date;
1875
+ updatedAt: Date;
1876
+ email: string;
1877
+ emailVerified: boolean;
1878
+ name: string;
1879
+ image?: string | null | undefined;
1880
+ };
1881
+ };
1882
+ }>>[];
1883
+ body: import("zod").ZodObject<{
1884
+ client_id: import("zod").ZodString;
1885
+ }, import("zod/v4/core").$strip>;
1886
+ metadata: {
1887
+ openapi: {
1888
+ description: string;
1889
+ };
1890
+ };
1891
+ }, void>;
1892
+ getOAuthConsent: import("better-call").StrictEndpoint<"/oauth2/get-consent", {
1893
+ method: "GET";
1894
+ query: import("zod").ZodObject<{
1895
+ id: import("zod").ZodString;
1896
+ }, import("zod/v4/core").$strip>;
1897
+ use: import("better-call").Middleware<import("better-call").MiddlewareOptions, (inputContext: import("better-call").MiddlewareInputContext<import("better-call").MiddlewareOptions>) => Promise<{
1898
+ session: {
1899
+ session: Record<string, any> & {
1900
+ id: string;
1901
+ createdAt: Date;
1902
+ updatedAt: Date;
1903
+ userId: string;
1904
+ expiresAt: Date;
1905
+ token: string;
1906
+ ipAddress?: string | null | undefined;
1907
+ userAgent?: string | null | undefined;
1908
+ };
1909
+ user: Record<string, any> & {
1910
+ id: string;
1911
+ createdAt: Date;
1912
+ updatedAt: Date;
1913
+ email: string;
1914
+ emailVerified: boolean;
1915
+ name: string;
1916
+ image?: string | null | undefined;
1917
+ };
1918
+ };
1919
+ }>>[];
1920
+ metadata: {
1921
+ openapi: {
1922
+ description: string;
1923
+ };
1924
+ };
1925
+ }, import("@better-auth/oauth-provider").OAuthConsent<import("@better-auth/oauth-provider").Scope[]>>;
1926
+ getOAuthConsents: import("better-call").StrictEndpoint<"/oauth2/get-consents", {
1927
+ method: "GET";
1928
+ use: import("better-call").Middleware<import("better-call").MiddlewareOptions, (inputContext: import("better-call").MiddlewareInputContext<import("better-call").MiddlewareOptions>) => Promise<{
1929
+ session: {
1930
+ session: Record<string, any> & {
1931
+ id: string;
1932
+ createdAt: Date;
1933
+ updatedAt: Date;
1934
+ userId: string;
1935
+ expiresAt: Date;
1936
+ token: string;
1937
+ ipAddress?: string | null | undefined;
1938
+ userAgent?: string | null | undefined;
1939
+ };
1940
+ user: Record<string, any> & {
1941
+ id: string;
1942
+ createdAt: Date;
1943
+ updatedAt: Date;
1944
+ email: string;
1945
+ emailVerified: boolean;
1946
+ name: string;
1947
+ image?: string | null | undefined;
1948
+ };
1949
+ };
1950
+ }>>[];
1951
+ metadata: {
1952
+ openapi: {
1953
+ description: string;
1954
+ };
1955
+ };
1956
+ }, import("@better-auth/oauth-provider").OAuthConsent<import("@better-auth/oauth-provider").Scope[]>[]>;
1957
+ updateOAuthConsent: import("better-call").StrictEndpoint<"/oauth2/update-consent", {
1958
+ method: "POST";
1959
+ use: import("better-call").Middleware<import("better-call").MiddlewareOptions, (inputContext: import("better-call").MiddlewareInputContext<import("better-call").MiddlewareOptions>) => Promise<{
1960
+ session: {
1961
+ session: Record<string, any> & {
1962
+ id: string;
1963
+ createdAt: Date;
1964
+ updatedAt: Date;
1965
+ userId: string;
1966
+ expiresAt: Date;
1967
+ token: string;
1968
+ ipAddress?: string | null | undefined;
1969
+ userAgent?: string | null | undefined;
1970
+ };
1971
+ user: Record<string, any> & {
1972
+ id: string;
1973
+ createdAt: Date;
1974
+ updatedAt: Date;
1975
+ email: string;
1976
+ emailVerified: boolean;
1977
+ name: string;
1978
+ image?: string | null | undefined;
1979
+ };
1980
+ };
1981
+ }>>[];
1982
+ body: import("zod").ZodObject<{
1983
+ id: import("zod").ZodString;
1984
+ update: import("zod").ZodObject<{
1985
+ scopes: import("zod").ZodArray<import("zod").ZodString>;
1986
+ }, import("zod/v4/core").$strip>;
1987
+ }, import("zod/v4/core").$strip>;
1988
+ metadata: {
1989
+ openapi: {
1990
+ description: string;
1991
+ };
1992
+ };
1993
+ }, import("@better-auth/oauth-provider").OAuthConsent<import("@better-auth/oauth-provider").Scope[]> | null>;
1994
+ deleteOAuthConsent: import("better-call").StrictEndpoint<"/oauth2/delete-consent", {
1995
+ method: "POST";
1996
+ use: import("better-call").Middleware<import("better-call").MiddlewareOptions, (inputContext: import("better-call").MiddlewareInputContext<import("better-call").MiddlewareOptions>) => Promise<{
1997
+ session: {
1998
+ session: Record<string, any> & {
1999
+ id: string;
2000
+ createdAt: Date;
2001
+ updatedAt: Date;
2002
+ userId: string;
2003
+ expiresAt: Date;
2004
+ token: string;
2005
+ ipAddress?: string | null | undefined;
2006
+ userAgent?: string | null | undefined;
2007
+ };
2008
+ user: Record<string, any> & {
2009
+ id: string;
2010
+ createdAt: Date;
2011
+ updatedAt: Date;
2012
+ email: string;
2013
+ emailVerified: boolean;
2014
+ name: string;
2015
+ image?: string | null | undefined;
2016
+ };
2017
+ };
2018
+ }>>[];
2019
+ body: import("zod").ZodObject<{
2020
+ id: import("zod").ZodString;
2021
+ }, import("zod/v4/core").$strip>;
2022
+ metadata: {
2023
+ openapi: {
2024
+ description: string;
2025
+ };
2026
+ };
2027
+ }, void>;
2028
+ adminCreateOAuthResource: import("better-call").StrictEndpoint<"/admin/oauth2/resources", {
2029
+ method: "POST";
2030
+ body: import("zod").ZodObject<{
2031
+ identifier: import("zod").ZodNonOptional<import("zod").ZodOptional<import("zod").ZodString>>;
2032
+ name: import("zod").ZodOptional<import("zod").ZodString>;
2033
+ accessTokenTtl: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodNumber>>;
2034
+ refreshTokenTtl: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodNumber>>;
2035
+ signingAlgorithm: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodEnum<{
2036
+ RS256: "RS256";
2037
+ PS256: "PS256";
2038
+ ES256: "ES256";
2039
+ ES512: "ES512";
2040
+ EdDSA: "EdDSA";
2041
+ }>>>;
2042
+ signingKeyId: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
2043
+ allowedScopes: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodArray<import("zod").ZodString>>>;
2044
+ customClaims: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>>>;
2045
+ dpopBoundAccessTokensRequired: import("zod").ZodOptional<import("zod").ZodBoolean>;
2046
+ disabled: import("zod").ZodOptional<import("zod").ZodBoolean>;
2047
+ metadata: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>>>;
2048
+ }, import("zod/v4/core").$strip>;
2049
+ metadata: {
2050
+ SERVER_ONLY: true;
2051
+ };
2052
+ }, import("@better-auth/oauth-provider").OAuthResource>;
2053
+ adminListOAuthResources: import("better-call").StrictEndpoint<"/admin/oauth2/resources", {
2054
+ method: "GET";
2055
+ metadata: {
2056
+ SERVER_ONLY: true;
2057
+ };
2058
+ }, import("@better-auth/oauth-provider").OAuthResource[]>;
2059
+ adminGetOAuthResource: import("better-call").StrictEndpoint<"/admin/oauth2/resources/:identifier", {
2060
+ method: "GET";
2061
+ metadata: {
2062
+ SERVER_ONLY: true;
2063
+ };
2064
+ }, import("@better-auth/oauth-provider").OAuthResource>;
2065
+ adminUpdateOAuthResource: import("better-call").StrictEndpoint<"/admin/oauth2/resources/:identifier", {
2066
+ method: "PATCH";
2067
+ body: import("zod").ZodObject<{
2068
+ identifier: import("zod").ZodOptional<import("zod").ZodString>;
2069
+ name: import("zod").ZodOptional<import("zod").ZodString>;
2070
+ accessTokenTtl: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodNumber>>;
2071
+ refreshTokenTtl: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodNumber>>;
2072
+ signingAlgorithm: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodEnum<{
2073
+ RS256: "RS256";
2074
+ PS256: "PS256";
2075
+ ES256: "ES256";
2076
+ ES512: "ES512";
2077
+ EdDSA: "EdDSA";
2078
+ }>>>;
2079
+ signingKeyId: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
2080
+ allowedScopes: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodArray<import("zod").ZodString>>>;
2081
+ customClaims: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>>>;
2082
+ dpopBoundAccessTokensRequired: import("zod").ZodOptional<import("zod").ZodBoolean>;
2083
+ disabled: import("zod").ZodOptional<import("zod").ZodBoolean>;
2084
+ metadata: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>>>;
2085
+ }, import("zod/v4/core").$strip>;
2086
+ metadata: {
2087
+ SERVER_ONLY: true;
2088
+ };
2089
+ }, import("@better-auth/oauth-provider").OAuthResource>;
2090
+ adminDeleteOAuthResource: import("better-call").StrictEndpoint<"/admin/oauth2/resources/:identifier", {
2091
+ method: "DELETE";
2092
+ metadata: {
2093
+ SERVER_ONLY: true;
2094
+ };
2095
+ }, {
2096
+ deleted: boolean;
2097
+ }>;
2098
+ adminLinkClientResource: import("better-call").StrictEndpoint<"/admin/oauth2/resources/:identifier/clients/:client_id", {
2099
+ method: "POST";
2100
+ metadata: {
2101
+ SERVER_ONLY: true;
2102
+ };
2103
+ }, {
2104
+ linked: boolean;
2105
+ }>;
2106
+ adminUnlinkClientResource: import("better-call").StrictEndpoint<"/admin/oauth2/resources/:identifier/clients/:client_id", {
2107
+ method: "DELETE";
2108
+ metadata: {
2109
+ SERVER_ONLY: true;
2110
+ };
2111
+ }, {
2112
+ unlinked: boolean;
2113
+ }>;
2114
+ };
2115
+ schema: {
2116
+ oauthClient: {
2117
+ modelName: string;
2118
+ fields: {
2119
+ clientId: {
2120
+ type: "string";
2121
+ unique: true;
2122
+ required: true;
2123
+ };
2124
+ clientSecret: {
2125
+ type: "string";
2126
+ required: false;
2127
+ };
2128
+ clientDiscoveryId: {
2129
+ type: "string";
2130
+ required: false;
2131
+ };
2132
+ disabled: {
2133
+ type: "boolean";
2134
+ defaultValue: false;
2135
+ required: false;
2136
+ };
2137
+ skipConsent: {
2138
+ type: "boolean";
2139
+ required: false;
2140
+ };
2141
+ enableEndSession: {
2142
+ type: "boolean";
2143
+ required: false;
2144
+ };
2145
+ subjectType: {
2146
+ type: "string";
2147
+ required: false;
2148
+ };
2149
+ scopes: {
2150
+ type: "string[]";
2151
+ required: false;
2152
+ };
2153
+ clientCredentialsScopes: {
2154
+ type: "string[]";
2155
+ required: false;
2156
+ defaultValue: never[];
2157
+ };
2158
+ userId: {
2159
+ type: "string";
2160
+ required: false;
2161
+ references: {
2162
+ model: string;
2163
+ field: string;
2164
+ };
2165
+ index: true;
2166
+ };
2167
+ createdAt: {
2168
+ type: "date";
2169
+ required: false;
2170
+ };
2171
+ updatedAt: {
2172
+ type: "date";
2173
+ required: false;
2174
+ };
2175
+ name: {
2176
+ type: "string";
2177
+ required: false;
2178
+ };
2179
+ uri: {
2180
+ type: "string";
2181
+ required: false;
2182
+ };
2183
+ icon: {
2184
+ type: "string";
2185
+ required: false;
2186
+ };
2187
+ contacts: {
2188
+ type: "string[]";
2189
+ required: false;
2190
+ };
2191
+ tos: {
2192
+ type: "string";
2193
+ required: false;
2194
+ };
2195
+ policy: {
2196
+ type: "string";
2197
+ required: false;
2198
+ };
2199
+ softwareId: {
2200
+ type: "string";
2201
+ required: false;
2202
+ };
2203
+ softwareVersion: {
2204
+ type: "string";
2205
+ required: false;
2206
+ };
2207
+ softwareStatement: {
2208
+ type: "string";
2209
+ required: false;
2210
+ };
2211
+ redirectUris: {
2212
+ type: "string[]";
2213
+ required: true;
2214
+ };
2215
+ postLogoutRedirectUris: {
2216
+ type: "string[]";
2217
+ required: false;
2218
+ };
2219
+ backchannelLogoutUri: {
2220
+ type: "string";
2221
+ required: false;
2222
+ };
2223
+ backchannelLogoutSessionRequired: {
2224
+ type: "boolean";
2225
+ required: false;
2226
+ };
2227
+ tokenEndpointAuthMethod: {
2228
+ type: "string";
2229
+ required: false;
2230
+ };
2231
+ applicationType: {
2232
+ type: "string";
2233
+ required: false;
2234
+ };
2235
+ jwks: {
2236
+ type: "string";
2237
+ required: false;
2238
+ };
2239
+ jwksUri: {
2240
+ type: "string";
2241
+ required: false;
2242
+ };
2243
+ grantTypes: {
2244
+ type: "string[]";
2245
+ required: false;
2246
+ };
2247
+ responseTypes: {
2248
+ type: "string[]";
2249
+ required: false;
2250
+ };
2251
+ requirePKCE: {
2252
+ type: "boolean";
2253
+ required: false;
2254
+ };
2255
+ dpopBoundAccessTokens: {
2256
+ type: "boolean";
2257
+ required: false;
2258
+ defaultValue: false;
2259
+ };
2260
+ referenceId: {
2261
+ type: "string";
2262
+ required: false;
2263
+ };
2264
+ metadata: {
2265
+ type: "json";
2266
+ required: false;
2267
+ };
2268
+ };
2269
+ };
2270
+ oauthResource: {
2271
+ modelName: string;
2272
+ fields: {
2273
+ identifier: {
2274
+ type: "string";
2275
+ required: true;
2276
+ unique: true;
2277
+ };
2278
+ name: {
2279
+ type: "string";
2280
+ required: true;
2281
+ };
2282
+ accessTokenTtl: {
2283
+ type: "number";
2284
+ required: false;
2285
+ };
2286
+ refreshTokenTtl: {
2287
+ type: "number";
2288
+ required: false;
2289
+ };
2290
+ signingAlgorithm: {
2291
+ type: "string";
2292
+ required: false;
2293
+ };
2294
+ signingKeyId: {
2295
+ type: "string";
2296
+ required: false;
2297
+ };
2298
+ allowedScopes: {
2299
+ type: "string[]";
2300
+ required: false;
2301
+ };
2302
+ customClaims: {
2303
+ type: "json";
2304
+ required: false;
2305
+ };
2306
+ dpopBoundAccessTokensRequired: {
2307
+ type: "boolean";
2308
+ required: false;
2309
+ defaultValue: false;
2310
+ };
2311
+ disabled: {
2312
+ type: "boolean";
2313
+ required: false;
2314
+ defaultValue: false;
2315
+ };
2316
+ createdAt: {
2317
+ type: "date";
2318
+ required: false;
2319
+ };
2320
+ updatedAt: {
2321
+ type: "date";
2322
+ required: false;
2323
+ };
2324
+ policyVersion: {
2325
+ type: "number";
2326
+ required: false;
2327
+ defaultValue: number;
2328
+ };
2329
+ metadata: {
2330
+ type: "json";
2331
+ required: false;
2332
+ };
2333
+ };
2334
+ };
2335
+ oauthClientResource: {
2336
+ modelName: string;
2337
+ fields: {
2338
+ clientId: {
2339
+ type: "string";
2340
+ required: true;
2341
+ references: {
2342
+ model: string;
2343
+ field: string;
2344
+ onDelete: "cascade";
2345
+ };
2346
+ index: true;
2347
+ };
2348
+ resourceId: {
2349
+ type: "string";
2350
+ required: true;
2351
+ references: {
2352
+ model: string;
2353
+ field: string;
2354
+ onDelete: "cascade";
2355
+ };
2356
+ index: true;
2357
+ };
2358
+ metadata: {
2359
+ type: "json";
2360
+ required: false;
2361
+ };
2362
+ createdAt: {
2363
+ type: "date";
2364
+ required: false;
2365
+ };
2366
+ };
2367
+ indexes: {
2368
+ fields: [string, string];
2369
+ unique: true;
2370
+ }[];
2371
+ };
2372
+ oauthRefreshToken: {
2373
+ fields: {
2374
+ token: {
2375
+ type: "string";
2376
+ required: true;
2377
+ unique: true;
2378
+ };
2379
+ clientId: {
2380
+ type: "string";
2381
+ required: true;
2382
+ references: {
2383
+ model: string;
2384
+ field: string;
2385
+ };
2386
+ index: true;
2387
+ };
2388
+ sessionId: {
2389
+ type: "string";
2390
+ required: false;
2391
+ references: {
2392
+ model: string;
2393
+ field: string;
2394
+ onDelete: "set null";
2395
+ };
2396
+ index: true;
2397
+ };
2398
+ userId: {
2399
+ type: "string";
2400
+ required: true;
2401
+ references: {
2402
+ model: string;
2403
+ field: string;
2404
+ };
2405
+ index: true;
2406
+ };
2407
+ referenceId: {
2408
+ type: "string";
2409
+ required: false;
2410
+ };
2411
+ authorizationCodeId: {
2412
+ type: "string";
2413
+ required: false;
2414
+ index: true;
2415
+ };
2416
+ resources: {
2417
+ type: "string[]";
2418
+ required: false;
2419
+ };
2420
+ requestedUserInfoClaims: {
2421
+ type: "string[]";
2422
+ required: false;
2423
+ };
2424
+ expiresAt: {
2425
+ type: "date";
2426
+ };
2427
+ createdAt: {
2428
+ type: "date";
2429
+ };
2430
+ revoked: {
2431
+ type: "date";
2432
+ required: false;
2433
+ };
2434
+ rotatedAt: {
2435
+ type: "date";
2436
+ required: false;
2437
+ };
2438
+ rotationReplayResponse: {
2439
+ type: "string";
2440
+ required: false;
2441
+ };
2442
+ rotationReplayExpiresAt: {
2443
+ type: "date";
2444
+ required: false;
2445
+ };
2446
+ authTime: {
2447
+ type: "date";
2448
+ required: false;
2449
+ };
2450
+ confirmation: {
2451
+ type: "json";
2452
+ required: false;
2453
+ };
2454
+ scopes: {
2455
+ type: "string[]";
2456
+ required: true;
2457
+ };
2458
+ };
2459
+ };
2460
+ oauthAccessToken: {
2461
+ modelName: string;
2462
+ fields: {
2463
+ token: {
2464
+ type: "string";
2465
+ unique: true;
2466
+ };
2467
+ clientId: {
2468
+ type: "string";
2469
+ required: true;
2470
+ references: {
2471
+ model: string;
2472
+ field: string;
2473
+ };
2474
+ index: true;
2475
+ };
2476
+ sessionId: {
2477
+ type: "string";
2478
+ required: false;
2479
+ references: {
2480
+ model: string;
2481
+ field: string;
2482
+ onDelete: "set null";
2483
+ };
2484
+ index: true;
2485
+ };
2486
+ userId: {
2487
+ type: "string";
2488
+ required: false;
2489
+ references: {
2490
+ model: string;
2491
+ field: string;
2492
+ };
2493
+ index: true;
2494
+ };
2495
+ referenceId: {
2496
+ type: "string";
2497
+ required: false;
2498
+ };
2499
+ authorizationCodeId: {
2500
+ type: "string";
2501
+ required: false;
2502
+ index: true;
2503
+ };
2504
+ resources: {
2505
+ type: "string[]";
2506
+ required: false;
2507
+ };
2508
+ requestedUserInfoClaims: {
2509
+ type: "string[]";
2510
+ required: false;
2511
+ };
2512
+ refreshId: {
2513
+ type: "string";
2514
+ required: false;
2515
+ references: {
2516
+ model: string;
2517
+ field: string;
2518
+ };
2519
+ index: true;
2520
+ };
2521
+ expiresAt: {
2522
+ type: "date";
2523
+ };
2524
+ createdAt: {
2525
+ type: "date";
2526
+ };
2527
+ revoked: {
2528
+ type: "date";
2529
+ required: false;
2530
+ };
2531
+ confirmation: {
2532
+ type: "json";
2533
+ required: false;
2534
+ };
2535
+ scopes: {
2536
+ type: "string[]";
2537
+ required: true;
2538
+ };
2539
+ };
2540
+ };
2541
+ oauthConsent: {
2542
+ modelName: string;
2543
+ fields: {
2544
+ clientId: {
2545
+ type: "string";
2546
+ required: true;
2547
+ references: {
2548
+ model: string;
2549
+ field: string;
2550
+ };
2551
+ index: true;
2552
+ };
2553
+ userId: {
2554
+ type: "string";
2555
+ required: false;
2556
+ references: {
2557
+ model: string;
2558
+ field: string;
2559
+ };
2560
+ index: true;
2561
+ };
2562
+ referenceId: {
2563
+ type: "string";
2564
+ required: false;
2565
+ };
2566
+ resources: {
2567
+ type: "string[]";
2568
+ required: false;
2569
+ };
2570
+ requestedUserInfoClaims: {
2571
+ type: "string[]";
2572
+ required: false;
2573
+ };
2574
+ scopes: {
2575
+ type: "string[]";
2576
+ required: true;
2577
+ };
2578
+ createdAt: {
2579
+ type: "date";
2580
+ };
2581
+ updatedAt: {
2582
+ type: "date";
2583
+ };
2584
+ };
2585
+ };
2586
+ oauthClientAssertion: {
2587
+ modelName: string;
2588
+ fields: {
2589
+ expiresAt: {
2590
+ type: "date";
2591
+ required: true;
2592
+ };
2593
+ };
2594
+ };
2595
+ };
2596
+ rateLimit: ({
2597
+ pathMatcher: (path: string) => path is "/oauth2/token";
2598
+ window: number;
2599
+ max: number;
2600
+ } | {
2601
+ pathMatcher: (path: string) => path is "/oauth2/authorize";
2602
+ window: number;
2603
+ max: number;
2604
+ } | {
2605
+ pathMatcher: (path: string) => path is "/oauth2/introspect";
2606
+ window: number;
2607
+ max: number;
2608
+ } | {
2609
+ pathMatcher: (path: string) => path is "/oauth2/revoke";
2610
+ window: number;
2611
+ max: number;
2612
+ } | {
2613
+ pathMatcher: (path: string) => path is "/oauth2/register";
2614
+ window: number;
2615
+ max: number;
2616
+ } | {
2617
+ pathMatcher: (path: string) => path is "/oauth2/client/rotate-keys";
2618
+ window: number;
2619
+ max: number;
2620
+ } | {
2621
+ pathMatcher: (path: string) => path is "/oauth2/userinfo";
2622
+ window: number;
2623
+ max: number;
2624
+ })[];
2625
+ } | {
2626
+ id: "cimd";
2627
+ version: string;
2628
+ init(ctx: import("better-auth").AuthContext): void;
2629
+ } | {
2630
+ id: "protobase-mcp-grant-revocation";
2631
+ hooks: {
2632
+ after: {
2633
+ matcher: (context: import("better-auth").HookEndpointContext) => boolean;
2634
+ handler: import("better-call").Middleware<import("better-call").MiddlewareOptions, (inputContext: import("better-call").MiddlewareInputContext<import("better-call").MiddlewareOptions>) => Promise<void>>;
2635
+ }[];
2636
+ };
2637
+ } | {
2638
+ id: "protobase-mcp-refresh-reuse";
2639
+ hooks: {
2640
+ before: {
2641
+ matcher: (context: {
2642
+ path?: string;
2643
+ body?: unknown;
2644
+ }) => boolean;
2645
+ handler: import("better-call").Middleware<import("better-call").MiddlewareOptions, (inputContext: import("better-call").MiddlewareInputContext<import("better-call").MiddlewareOptions>) => Promise<void>>;
2646
+ }[];
2647
+ after: {
2648
+ matcher: (context: {
2649
+ path?: string;
2650
+ body?: unknown;
2651
+ }) => boolean;
2652
+ handler: import("better-call").Middleware<import("better-call").MiddlewareOptions, (inputContext: import("better-call").MiddlewareInputContext<import("better-call").MiddlewareOptions>) => Promise<void>>;
2653
+ }[];
2654
+ };
2655
+ } | {
2656
+ id: "protobase-mcp-connected-apps";
2657
+ endpoints: {
2658
+ listConnectedApps: import("better-call").StrictEndpoint<"/account/connected-apps", {
2659
+ method: "GET";
2660
+ use: import("better-call").Middleware<import("better-call").MiddlewareOptions, (inputContext: import("better-call").MiddlewareInputContext<import("better-call").MiddlewareOptions>) => Promise<{
2661
+ session: {
2662
+ session: Record<string, any> & {
2663
+ id: string;
2664
+ createdAt: Date;
2665
+ updatedAt: Date;
2666
+ userId: string;
2667
+ expiresAt: Date;
2668
+ token: string;
2669
+ ipAddress?: string | null | undefined;
2670
+ userAgent?: string | null | undefined;
2671
+ };
2672
+ user: Record<string, any> & {
2673
+ id: string;
2674
+ createdAt: Date;
2675
+ updatedAt: Date;
2676
+ email: string;
2677
+ emailVerified: boolean;
2678
+ name: string;
2679
+ image?: string | null | undefined;
2680
+ };
2681
+ };
2682
+ }>>[];
2683
+ }, {
2684
+ apps: ConnectedApp[];
2685
+ }>;
2686
+ disconnectApp: import("better-call").StrictEndpoint<"/account/connected-apps/disconnect", {
2687
+ method: "POST";
2688
+ use: import("better-call").Middleware<import("better-call").MiddlewareOptions, (inputContext: import("better-call").MiddlewareInputContext<import("better-call").MiddlewareOptions>) => Promise<{
2689
+ session: {
2690
+ session: Record<string, any> & {
2691
+ id: string;
2692
+ createdAt: Date;
2693
+ updatedAt: Date;
2694
+ userId: string;
2695
+ expiresAt: Date;
2696
+ token: string;
2697
+ ipAddress?: string | null | undefined;
2698
+ userAgent?: string | null | undefined;
2699
+ };
2700
+ user: Record<string, any> & {
2701
+ id: string;
2702
+ createdAt: Date;
2703
+ updatedAt: Date;
2704
+ email: string;
2705
+ emailVerified: boolean;
2706
+ name: string;
2707
+ image?: string | null | undefined;
2708
+ };
2709
+ };
2710
+ }>>[];
2711
+ body: import("zod").ZodObject<{
2712
+ clientId: import("zod").ZodString;
2713
+ }, import("zod/v4/core").$strip>;
2714
+ }, {
2715
+ disconnected: boolean;
2716
+ }>;
2717
+ };
2718
+ })[];
2719
+ //#endregion