import * as nanostores from 'nanostores'; import * as _better_fetch_fetch from '@better-fetch/fetch'; import { SuccessContext } from '@better-fetch/fetch'; import { C as ClientOptions, B as BetterAuthClientPlugin, I as IsSignal, d as InferRoute, c as InferErrorCodes } from '../shared/better-auth.XepECsIK.js'; import { B as BetterAuthOptions, U as User, t as InferAPI, a as Adapter, u as AdditionalSessionFieldsOutput, n as Auth, v as AdditionalUserFieldsOutput, w as InferFieldsFromPlugins, x as InferFieldsFromOptions, y as AdditionalUserFieldsInput, h as BetterAuthPlugin, p as AuthContext, z as InferPluginTypes, i as InferPluginErrorCodes, F as FilterActions, S as Session, D as setCookieToHeader } from '../shared/better-auth.UgZtsmr9.js'; import * as better_call from 'better-call'; import { U as UnionToIntersection, S as StripEmptyObjects, a as Prettify } from '../shared/better-auth.ZSfSbnQT.js'; import { O as OAuth2Tokens } from '../shared/better-auth.BVGuK4ar.js'; import * as zod_v4_core from 'zod/v4/core'; import * as zod from 'zod'; import { Kysely } from 'kysely'; import 'zod/v4'; import 'better-sqlite3'; import 'bun:sqlite'; import 'jose'; declare function getTestInstanceMemory, C extends ClientOptions>(options?: O, config?: { clientOptions?: C; port?: number; disableTestUser?: boolean; testUser?: Partial; testWith?: "sqlite" | "postgres" | "mongodb" | "mysql" | "memory"; }): Promise<{ auth: { handler: (request: Request) => Promise; api: InferAPI<{ ok: { (inputCtx_0?: ({ body?: undefined; } & { method?: "GET" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }) | undefined): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { ok: boolean; }; } : { ok: boolean; }>; options: { method: "GET"; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { ok: { type: string; description: string; }; }; required: string[]; }; }; }; }; }; }; isAction: false; }; } & { use: any[]; }; path: "/ok"; }; error: { (inputCtx_0?: ({ body?: undefined; } & { method?: "GET" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }) | undefined): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: Response; } : Response>; options: { method: "GET"; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "text/html": { schema: { type: "string"; description: string; }; }; }; }; }; }; isAction: false; }; } & { use: any[]; }; path: "/error"; }; signInSocial: { (inputCtx_0: { body: { provider: unknown; callbackURL?: string | undefined; newUserCallbackURL?: string | undefined; errorCallbackURL?: string | undefined; disableRedirect?: boolean | undefined; idToken?: { token: string; nonce?: string | undefined; accessToken?: string | undefined; refreshToken?: string | undefined; expiresAt?: number | undefined; } | undefined; scopes?: string[] | undefined; requestSignUp?: boolean | undefined; loginHint?: string | undefined; }; } & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { redirect: boolean; token: string; url: undefined; user: { id: string; email: string; name: string; image: string | null | undefined; emailVerified: boolean; createdAt: Date; updatedAt: Date; }; } | { url: string; redirect: boolean; }; } : { redirect: boolean; token: string; url: undefined; user: { id: string; email: string; name: string; image: string | null | undefined; emailVerified: boolean; createdAt: Date; updatedAt: Date; }; } | { url: string; redirect: boolean; }>; options: { method: "POST"; body: zod.ZodObject<{ callbackURL: zod.ZodOptional; newUserCallbackURL: zod.ZodOptional; errorCallbackURL: zod.ZodOptional; provider: zod.ZodType<"github" | "apple" | "discord" | "facebook" | "microsoft" | "google" | "huggingface" | "slack" | "spotify" | "twitch" | "twitter" | "dropbox" | "kick" | "linear" | "linkedin" | "gitlab" | "tiktok" | "reddit" | "roblox" | "vk" | "zoom" | "notion" | (string & {}), unknown, zod_v4_core.$ZodTypeInternals<"github" | "apple" | "discord" | "facebook" | "microsoft" | "google" | "huggingface" | "slack" | "spotify" | "twitch" | "twitter" | "dropbox" | "kick" | "linear" | "linkedin" | "gitlab" | "tiktok" | "reddit" | "roblox" | "vk" | "zoom" | "notion" | (string & {}), unknown>>; disableRedirect: zod.ZodOptional; idToken: zod.ZodOptional; accessToken: zod.ZodOptional; refreshToken: zod.ZodOptional; expiresAt: zod.ZodOptional; }, zod_v4_core.$strip>>; scopes: zod.ZodOptional>; requestSignUp: zod.ZodOptional; loginHint: zod.ZodOptional; }, zod_v4_core.$strip>; metadata: { openapi: { description: string; operationId: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; description: string; properties: { redirect: { type: string; enum: boolean[]; }; token: { type: string; description: string; url: { type: string; nullable: boolean; }; user: { type: string; properties: { id: { type: string; }; email: { type: string; }; name: { type: string; nullable: boolean; }; image: { type: string; nullable: boolean; }; emailVerified: { type: string; }; createdAt: { type: string; format: string; }; updatedAt: { type: string; format: string; }; }; required: string[]; }; }; }; required: string[]; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/sign-in/social"; }; callbackOAuth: { (inputCtx_0: { body?: { code?: string | undefined; error?: string | undefined; device_id?: string | undefined; error_description?: string | undefined; state?: string | undefined; user?: string | undefined; } | undefined; } & { method: "GET" | "POST"; } & { query?: { code?: string | undefined; error?: string | undefined; device_id?: string | undefined; error_description?: string | undefined; state?: string | undefined; user?: string | undefined; } | undefined; } & { params: { id: string; }; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: void; } : void>; options: { method: ("GET" | "POST")[]; body: zod.ZodOptional; error: zod.ZodOptional; device_id: zod.ZodOptional; error_description: zod.ZodOptional; state: zod.ZodOptional; user: zod.ZodOptional; }, zod_v4_core.$strip>>; query: zod.ZodOptional; error: zod.ZodOptional; device_id: zod.ZodOptional; error_description: zod.ZodOptional; state: zod.ZodOptional; user: zod.ZodOptional; }, zod_v4_core.$strip>>; metadata: { isAction: false; }; } & { use: any[]; }; path: "/callback/:id"; }; getSession: { (inputCtx_0: { body?: undefined; } & { method?: "GET" | undefined; } & { query?: { disableCookieCache?: unknown; disableRefresh?: unknown; } | undefined; } & { params?: Record; } & { request?: Request; } & { headers: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { session: UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T ? T extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T extends BetterAuthOptions ? AdditionalSessionFieldsOutput : T extends Auth ? AdditionalSessionFieldsOutput : {} : never : never)>>; user: UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_1 ? T_1 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_1 extends BetterAuthOptions ? AdditionalUserFieldsOutput : T_1 extends Auth ? AdditionalUserFieldsOutput : {} : never : never)>>; } | null; } : { session: UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_2 ? T_2 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_2 extends BetterAuthOptions ? AdditionalSessionFieldsOutput : T_2 extends Auth ? AdditionalSessionFieldsOutput : {} : never : never)>>; user: UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_3 ? T_3 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_3 extends BetterAuthOptions ? AdditionalUserFieldsOutput : T_3 extends Auth ? AdditionalUserFieldsOutput : {} : never : never)>>; } | null>; options: { method: "GET"; query: zod.ZodOptional>; disableRefresh: zod.ZodOptional>; }, zod_v4_core.$strip>>; requireHeaders: true; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { session: { $ref: string; }; user: { $ref: string; }; }; required: string[]; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/get-session"; }; signOut: { (inputCtx_0: { body?: undefined; } & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { success: boolean; }; } : { success: boolean; }>; options: { method: "POST"; requireHeaders: true; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { success: { type: string; }; }; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/sign-out"; }; signUpEmail: { (...inputCtx: better_call.HasRequiredKeys; metadata: { $Infer: { body: { name: string; email: string; password: string; image?: string; callbackURL?: string; rememberMe?: boolean; } & InferFieldsFromPlugins Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }, "user", "input"> & InferFieldsFromOptions Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }, "user", "input">; }; openapi: { description: string; requestBody: { content: { "application/json": { schema: { type: "object"; properties: { name: { type: string; description: string; }; email: { type: string; description: string; }; password: { type: string; description: string; }; image: { type: string; description: string; }; callbackURL: { type: string; description: string; }; rememberMe: { type: string; description: string; }; }; required: string[]; }; }; }; }; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { token: { type: string; nullable: boolean; description: string; }; user: { type: string; properties: { id: { type: string; description: string; }; email: { type: string; format: string; description: string; }; name: { type: string; description: string; }; image: { type: string; format: string; nullable: boolean; description: string; }; emailVerified: { type: string; description: string; }; createdAt: { type: string; format: string; description: string; }; updatedAt: { type: string; format: string; description: string; }; }; required: string[]; }; }; required: string[]; }; }; }; }; }; }; }; } & { use: any[]; }>> extends true ? [better_call.InferBodyInput<{ method: "POST"; body: zod.ZodRecord; metadata: { $Infer: { body: { name: string; email: string; password: string; image?: string; callbackURL?: string; rememberMe?: boolean; } & InferFieldsFromPlugins Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }, "user", "input"> & InferFieldsFromOptions Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }, "user", "input">; }; openapi: { description: string; requestBody: { content: { "application/json": { schema: { type: "object"; properties: { name: { type: string; description: string; }; email: { type: string; description: string; }; password: { type: string; description: string; }; image: { type: string; description: string; }; callbackURL: { type: string; description: string; }; rememberMe: { type: string; description: string; }; }; required: string[]; }; }; }; }; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { token: { type: string; nullable: boolean; description: string; }; user: { type: string; properties: { id: { type: string; description: string; }; email: { type: string; format: string; description: string; }; name: { type: string; description: string; }; image: { type: string; format: string; nullable: boolean; description: string; }; emailVerified: { type: string; description: string; }; createdAt: { type: string; format: string; description: string; }; updatedAt: { type: string; format: string; description: string; }; }; required: string[]; }; }; required: string[]; }; }; }; }; }; }; }; } & { use: any[]; }, { name: string; email: string; password: string; image?: string; callbackURL?: string; rememberMe?: boolean; } & InferFieldsFromPlugins Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }, "user", "input"> & InferFieldsFromOptions Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }, "user", "input">> & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }] : [((better_call.InferBodyInput<{ method: "POST"; body: zod.ZodRecord; metadata: { $Infer: { body: { name: string; email: string; password: string; image?: string; callbackURL?: string; rememberMe?: boolean; } & InferFieldsFromPlugins Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }, "user", "input"> & InferFieldsFromOptions Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }, "user", "input">; }; openapi: { description: string; requestBody: { content: { "application/json": { schema: { type: "object"; properties: { name: { type: string; description: string; }; email: { type: string; description: string; }; password: { type: string; description: string; }; image: { type: string; description: string; }; callbackURL: { type: string; description: string; }; rememberMe: { type: string; description: string; }; }; required: string[]; }; }; }; }; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { token: { type: string; nullable: boolean; description: string; }; user: { type: string; properties: { id: { type: string; description: string; }; email: { type: string; format: string; description: string; }; name: { type: string; description: string; }; image: { type: string; format: string; nullable: boolean; description: string; }; emailVerified: { type: string; description: string; }; createdAt: { type: string; format: string; description: string; }; updatedAt: { type: string; format: string; description: string; }; }; required: string[]; }; }; required: string[]; }; }; }; }; }; }; }; } & { use: any[]; }, { name: string; email: string; password: string; image?: string; callbackURL?: string; rememberMe?: boolean; } & InferFieldsFromPlugins Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }, "user", "input"> & InferFieldsFromOptions Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }, "user", "input">> & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }) | undefined)?]): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { token: null; user: { id: string; email: string; name: string; image: string | null | undefined; emailVerified: boolean; createdAt: Date; updatedAt: Date; }; } | { token: string; user: { id: string; email: string; name: string; image: string | null | undefined; emailVerified: boolean; createdAt: Date; updatedAt: Date; }; }; } : { token: null; user: { id: string; email: string; name: string; image: string | null | undefined; emailVerified: boolean; createdAt: Date; updatedAt: Date; }; } | { token: string; user: { id: string; email: string; name: string; image: string | null | undefined; emailVerified: boolean; createdAt: Date; updatedAt: Date; }; }>; options: { method: "POST"; body: zod.ZodRecord; metadata: { $Infer: { body: { name: string; email: string; password: string; image?: string; callbackURL?: string; rememberMe?: boolean; } & InferFieldsFromPlugins Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }, "user", "input"> & InferFieldsFromOptions Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }, "user", "input">; }; openapi: { description: string; requestBody: { content: { "application/json": { schema: { type: "object"; properties: { name: { type: string; description: string; }; email: { type: string; description: string; }; password: { type: string; description: string; }; image: { type: string; description: string; }; callbackURL: { type: string; description: string; }; rememberMe: { type: string; description: string; }; }; required: string[]; }; }; }; }; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { token: { type: string; nullable: boolean; description: string; }; user: { type: string; properties: { id: { type: string; description: string; }; email: { type: string; format: string; description: string; }; name: { type: string; description: string; }; image: { type: string; format: string; nullable: boolean; description: string; }; emailVerified: { type: string; description: string; }; createdAt: { type: string; format: string; description: string; }; updatedAt: { type: string; format: string; description: string; }; }; required: string[]; }; }; required: string[]; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/sign-up/email"; }; signInEmail: { (inputCtx_0: { body: { email: string; password: string; callbackURL?: string | undefined; rememberMe?: boolean | undefined; }; } & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { redirect: boolean; token: string; url: string | undefined; user: { id: string; email: string; name: string; image: string | null | undefined; emailVerified: boolean; createdAt: Date; updatedAt: Date; }; }; } : { redirect: boolean; token: string; url: string | undefined; user: { id: string; email: string; name: string; image: string | null | undefined; emailVerified: boolean; createdAt: Date; updatedAt: Date; }; }>; options: { method: "POST"; body: zod.ZodObject<{ email: zod.ZodString; password: zod.ZodString; callbackURL: zod.ZodOptional; rememberMe: zod.ZodOptional>; }, zod_v4_core.$strip>; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; description: string; properties: { redirect: { type: string; enum: boolean[]; }; token: { type: string; description: string; }; url: { type: string; nullable: boolean; }; user: { type: string; properties: { id: { type: string; }; email: { type: string; }; name: { type: string; nullable: boolean; }; image: { type: string; nullable: boolean; }; emailVerified: { type: string; }; createdAt: { type: string; format: string; }; updatedAt: { type: string; format: string; }; }; required: string[]; }; }; required: string[]; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/sign-in/email"; }; forgetPassword: { (inputCtx_0: { body: { email: string; redirectTo?: string | undefined; }; } & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { status: boolean; }; } : { status: boolean; }>; options: { method: "POST"; body: zod.ZodObject<{ email: zod.ZodString; redirectTo: zod.ZodOptional; }, zod_v4_core.$strip>; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { status: { type: string; }; message: { type: string; }; }; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/forget-password"; }; resetPassword: { (inputCtx_0: { body: { newPassword: string; token?: string | undefined; }; } & { method?: "POST" | undefined; } & { query?: { token?: string | undefined; } | undefined; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { status: boolean; }; } : { status: boolean; }>; options: { method: "POST"; query: zod.ZodOptional; }, zod_v4_core.$strip>>; body: zod.ZodObject<{ newPassword: zod.ZodString; token: zod.ZodOptional; }, zod_v4_core.$strip>; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { status: { type: string; }; }; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/reset-password"; }; verifyEmail: { (inputCtx_0: { body?: undefined; } & { method?: "GET" | undefined; } & { query: { token: string; callbackURL?: string | undefined; }; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: void | { status: boolean; user: { id: any; email: any; name: any; image: any; emailVerified: any; createdAt: any; updatedAt: any; }; } | { status: boolean; user: null; }; } : void | { status: boolean; user: { id: any; email: any; name: any; image: any; emailVerified: any; createdAt: any; updatedAt: any; }; } | { status: boolean; user: null; }>; options: { method: "GET"; query: zod.ZodObject<{ token: zod.ZodString; callbackURL: zod.ZodOptional; }, zod_v4_core.$strip>; use: ((inputContext: better_call.MiddlewareInputContext) => Promise)[]; metadata: { openapi: { description: string; parameters: ({ name: string; in: "query"; description: string; required: true; schema: { type: "string"; }; } | { name: string; in: "query"; description: string; required: false; schema: { type: "string"; }; })[]; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { user: { type: string; properties: { id: { type: string; description: string; }; email: { type: string; description: string; }; name: { type: string; description: string; }; image: { type: string; description: string; }; emailVerified: { type: string; description: string; }; createdAt: { type: string; description: string; }; updatedAt: { type: string; description: string; }; }; required: string[]; }; status: { type: string; description: string; }; }; required: string[]; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/verify-email"; }; sendVerificationEmail: { (inputCtx_0: { body: { email: string; callbackURL?: string | undefined; }; } & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { status: boolean; }; } : { status: boolean; }>; options: { method: "POST"; body: zod.ZodObject<{ email: zod.ZodEmail; callbackURL: zod.ZodOptional; }, zod_v4_core.$strip>; metadata: { openapi: { description: string; requestBody: { content: { "application/json": { schema: { type: "object"; properties: { email: { type: string; description: string; example: string; }; callbackURL: { type: string; description: string; example: string; nullable: boolean; }; }; required: string[]; }; }; }; }; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { status: { type: string; description: string; example: boolean; }; }; }; }; }; }; "400": { description: string; content: { "application/json": { schema: { type: "object"; properties: { message: { type: string; description: string; example: string; }; }; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/send-verification-email"; }; changeEmail: { (inputCtx_0: { body: { newEmail: string; callbackURL?: string | undefined; }; } & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { status: boolean; }; } : { status: boolean; }>; options: { method: "POST"; body: zod.ZodObject<{ newEmail: zod.ZodEmail; callbackURL: zod.ZodOptional; }, zod_v4_core.$strip>; use: ((inputContext: better_call.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; userId: string; expiresAt: Date; createdAt: Date; updatedAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; email: string; emailVerified: boolean; name: string; createdAt: Date; updatedAt: Date; image?: string | null | undefined; }; }; }>)[]; metadata: { openapi: { responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { status: { type: string; description: string; }; message: { type: string; enum: string[]; description: string; nullable: boolean; }; }; required: string[]; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/change-email"; }; changePassword: { (inputCtx_0: { body: { newPassword: string; currentPassword: string; revokeOtherSessions?: boolean | undefined; }; } & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { token: string | null; user: { id: string; email: string; name: string; image: string | null | undefined; emailVerified: boolean; createdAt: Date; updatedAt: Date; }; }; } : { token: string | null; user: { id: string; email: string; name: string; image: string | null | undefined; emailVerified: boolean; createdAt: Date; updatedAt: Date; }; }>; options: { method: "POST"; body: zod.ZodObject<{ newPassword: zod.ZodString; currentPassword: zod.ZodString; revokeOtherSessions: zod.ZodOptional; }, zod_v4_core.$strip>; use: ((inputContext: better_call.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; userId: string; expiresAt: Date; createdAt: Date; updatedAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; email: string; emailVerified: boolean; name: string; createdAt: Date; updatedAt: Date; image?: string | null | undefined; }; }; }>)[]; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { token: { type: string; nullable: boolean; description: string; }; user: { type: string; properties: { id: { type: string; description: string; }; email: { type: string; format: string; description: string; }; name: { type: string; description: string; }; image: { type: string; format: string; nullable: boolean; description: string; }; emailVerified: { type: string; description: string; }; createdAt: { type: string; format: string; description: string; }; updatedAt: { type: string; format: string; description: string; }; }; required: string[]; }; }; required: string[]; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/change-password"; }; setPassword: { (inputCtx_0: { body: { newPassword: string; }; } & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { status: boolean; }; } : { status: boolean; }>; options: { method: "POST"; body: zod.ZodObject<{ newPassword: zod.ZodString; }, zod_v4_core.$strip>; metadata: { SERVER_ONLY: true; }; use: ((inputContext: better_call.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; userId: string; expiresAt: Date; createdAt: Date; updatedAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; email: string; emailVerified: boolean; name: string; createdAt: Date; updatedAt: Date; image?: string | null | undefined; }; }; }>)[]; } & { use: any[]; }; path: "/set-password"; }; updateUser: { (...inputCtx: better_call.HasRequiredKeys; use: ((inputContext: better_call.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; userId: string; expiresAt: Date; createdAt: Date; updatedAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; email: string; emailVerified: boolean; name: string; createdAt: Date; updatedAt: Date; image?: string | null | undefined; }; }; }>)[]; metadata: { $Infer: { body: Partial Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }>> & { name?: string; image?: string; }; }; openapi: { description: string; requestBody: { content: { "application/json": { schema: { type: "object"; properties: { name: { type: string; description: string; }; image: { type: string; description: string; }; }; }; }; }; }; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { status: { type: string; description: string; }; }; }; }; }; }; }; }; }; } & { use: any[]; }>> extends true ? [better_call.InferBodyInput<{ method: "POST"; body: zod.ZodRecord; use: ((inputContext: better_call.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; userId: string; expiresAt: Date; createdAt: Date; updatedAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; email: string; emailVerified: boolean; name: string; createdAt: Date; updatedAt: Date; image?: string | null | undefined; }; }; }>)[]; metadata: { $Infer: { body: Partial Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }>> & { name?: string; image?: string; }; }; openapi: { description: string; requestBody: { content: { "application/json": { schema: { type: "object"; properties: { name: { type: string; description: string; }; image: { type: string; description: string; }; }; }; }; }; }; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { status: { type: string; description: string; }; }; }; }; }; }; }; }; }; } & { use: any[]; }, Partial Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }>> & { name?: string; image?: string; }> & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }] : [((better_call.InferBodyInput<{ method: "POST"; body: zod.ZodRecord; use: ((inputContext: better_call.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; userId: string; expiresAt: Date; createdAt: Date; updatedAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; email: string; emailVerified: boolean; name: string; createdAt: Date; updatedAt: Date; image?: string | null | undefined; }; }; }>)[]; metadata: { $Infer: { body: Partial Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }>> & { name?: string; image?: string; }; }; openapi: { description: string; requestBody: { content: { "application/json": { schema: { type: "object"; properties: { name: { type: string; description: string; }; image: { type: string; description: string; }; }; }; }; }; }; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { status: { type: string; description: string; }; }; }; }; }; }; }; }; }; } & { use: any[]; }, Partial Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }>> & { name?: string; image?: string; }> & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }) | undefined)?]): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { status: boolean; }; } : { status: boolean; }>; options: { method: "POST"; body: zod.ZodRecord; use: ((inputContext: better_call.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; userId: string; expiresAt: Date; createdAt: Date; updatedAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; email: string; emailVerified: boolean; name: string; createdAt: Date; updatedAt: Date; image?: string | null | undefined; }; }; }>)[]; metadata: { $Infer: { body: Partial Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }>> & { name?: string; image?: string; }; }; openapi: { description: string; requestBody: { content: { "application/json": { schema: { type: "object"; properties: { name: { type: string; description: string; }; image: { type: string; description: string; }; }; }; }; }; }; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { status: { type: string; description: string; }; }; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/update-user"; }; deleteUser: { (inputCtx_0: { body: { callbackURL?: string | undefined; password?: string | undefined; token?: string | undefined; }; } & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { success: boolean; message: string; }; } : { success: boolean; message: string; }>; options: { method: "POST"; use: ((inputContext: better_call.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; userId: string; expiresAt: Date; createdAt: Date; updatedAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; email: string; emailVerified: boolean; name: string; createdAt: Date; updatedAt: Date; image?: string | null | undefined; }; }; }>)[]; body: zod.ZodObject<{ callbackURL: zod.ZodOptional; password: zod.ZodOptional; token: zod.ZodOptional; }, zod_v4_core.$strip>; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { success: { type: string; description: string; }; message: { type: string; enum: string[]; description: string; }; }; required: string[]; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/delete-user"; }; forgetPasswordCallback: { (inputCtx_0: { body?: undefined; } & { method?: "GET" | undefined; } & { query: { callbackURL: string; }; } & { params: { token: string; }; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: never; } : never>; options: { method: "GET"; query: zod.ZodObject<{ callbackURL: zod.ZodString; }, zod_v4_core.$strip>; use: ((inputContext: better_call.MiddlewareInputContext) => Promise)[]; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { token: { type: string; }; }; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/reset-password/:token"; }; requestPasswordReset: { (inputCtx_0: { body: { email: string; redirectTo?: string | undefined; }; } & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { status: boolean; }; } : { status: boolean; }>; options: { method: "POST"; body: zod.ZodObject<{ email: zod.ZodEmail; redirectTo: zod.ZodOptional; }, zod_v4_core.$strip>; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { status: { type: string; }; message: { type: string; }; }; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/request-password-reset"; }; requestPasswordResetCallback: { (inputCtx_0: { body?: undefined; } & { method?: "GET" | undefined; } & { query: { callbackURL: string; }; } & { params: { token: string; }; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: never; } : never>; options: { method: "GET"; query: zod.ZodObject<{ callbackURL: zod.ZodString; }, zod_v4_core.$strip>; use: ((inputContext: better_call.MiddlewareInputContext) => Promise)[]; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { token: { type: string; }; }; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/reset-password/:token"; }; listSessions: { (inputCtx_0: { body?: undefined; } & { method?: "GET" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: Prettify Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T ? T extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T extends BetterAuthOptions ? AdditionalSessionFieldsOutput : T extends Auth ? AdditionalSessionFieldsOutput : {} : never : never)>>>[]; } : Prettify Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_1 ? T_1 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_1 extends BetterAuthOptions ? AdditionalSessionFieldsOutput : T_1 extends Auth ? AdditionalSessionFieldsOutput : {} : never : never)>>>[]>; options: { method: "GET"; use: ((inputContext: better_call.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; userId: string; expiresAt: Date; createdAt: Date; updatedAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; email: string; emailVerified: boolean; name: string; createdAt: Date; updatedAt: Date; image?: string | null | undefined; }; }; }>)[]; requireHeaders: true; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "array"; items: { $ref: string; }; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/list-sessions"; }; revokeSession: { (inputCtx_0: { body: { token: string; }; } & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { status: boolean; }; } : { status: boolean; }>; options: { method: "POST"; body: zod.ZodObject<{ token: zod.ZodString; }, zod_v4_core.$strip>; use: ((inputContext: better_call.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; userId: string; expiresAt: Date; createdAt: Date; updatedAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; email: string; emailVerified: boolean; name: string; createdAt: Date; updatedAt: Date; image?: string | null | undefined; }; }; }>)[]; requireHeaders: true; metadata: { openapi: { description: string; requestBody: { content: { "application/json": { schema: { type: "object"; properties: { token: { type: string; description: string; }; }; required: string[]; }; }; }; }; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { status: { type: string; description: string; }; }; required: string[]; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/revoke-session"; }; revokeSessions: { (inputCtx_0: { body?: undefined; } & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { status: boolean; }; } : { status: boolean; }>; options: { method: "POST"; use: ((inputContext: better_call.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; userId: string; expiresAt: Date; createdAt: Date; updatedAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; email: string; emailVerified: boolean; name: string; createdAt: Date; updatedAt: Date; image?: string | null | undefined; }; }; }>)[]; requireHeaders: true; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { status: { type: string; description: string; }; }; required: string[]; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/revoke-sessions"; }; revokeOtherSessions: { (inputCtx_0: { body?: undefined; } & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { status: boolean; }; } : { status: boolean; }>; options: { method: "POST"; requireHeaders: true; use: ((inputContext: better_call.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; userId: string; expiresAt: Date; createdAt: Date; updatedAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; email: string; emailVerified: boolean; name: string; createdAt: Date; updatedAt: Date; image?: string | null | undefined; }; }; }>)[]; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { status: { type: string; description: string; }; }; required: string[]; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/revoke-other-sessions"; }; linkSocialAccount: { (inputCtx_0: { body: { provider: unknown; callbackURL?: string | undefined; idToken?: { token: string; nonce?: string | undefined; accessToken?: string | undefined; refreshToken?: string | undefined; scopes?: string[] | undefined; } | undefined; requestSignUp?: boolean | undefined; scopes?: string[] | undefined; errorCallbackURL?: string | undefined; }; } & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { url: string; redirect: boolean; }; } : { url: string; redirect: boolean; }>; options: { method: "POST"; requireHeaders: true; body: zod.ZodObject<{ callbackURL: zod.ZodOptional; provider: zod.ZodType<"github" | "apple" | "discord" | "facebook" | "microsoft" | "google" | "huggingface" | "slack" | "spotify" | "twitch" | "twitter" | "dropbox" | "kick" | "linear" | "linkedin" | "gitlab" | "tiktok" | "reddit" | "roblox" | "vk" | "zoom" | "notion" | (string & {}), unknown, zod_v4_core.$ZodTypeInternals<"github" | "apple" | "discord" | "facebook" | "microsoft" | "google" | "huggingface" | "slack" | "spotify" | "twitch" | "twitter" | "dropbox" | "kick" | "linear" | "linkedin" | "gitlab" | "tiktok" | "reddit" | "roblox" | "vk" | "zoom" | "notion" | (string & {}), unknown>>; idToken: zod.ZodOptional; accessToken: zod.ZodOptional; refreshToken: zod.ZodOptional; scopes: zod.ZodOptional>; }, zod_v4_core.$strip>>; requestSignUp: zod.ZodOptional; scopes: zod.ZodOptional>; errorCallbackURL: zod.ZodOptional; }, zod_v4_core.$strip>; use: ((inputContext: better_call.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; userId: string; expiresAt: Date; createdAt: Date; updatedAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; email: string; emailVerified: boolean; name: string; createdAt: Date; updatedAt: Date; image?: string | null | undefined; }; }; }>)[]; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { url: { type: string; description: string; }; redirect: { type: string; description: string; }; status: { type: string; }; }; required: string[]; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/link-social"; }; listUserAccounts: { (inputCtx_0?: ({ body?: undefined; } & { method?: "GET" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }) | undefined): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { id: string; provider: string; createdAt: Date; updatedAt: Date; accountId: string; scopes: string[]; }[]; } : { id: string; provider: string; createdAt: Date; updatedAt: Date; accountId: string; scopes: string[]; }[]>; options: { method: "GET"; use: ((inputContext: better_call.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; userId: string; expiresAt: Date; createdAt: Date; updatedAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; email: string; emailVerified: boolean; name: string; createdAt: Date; updatedAt: Date; image?: string | null | undefined; }; }; }>)[]; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "array"; items: { type: string; properties: { id: { type: string; }; provider: { type: string; }; createdAt: { type: string; format: string; }; updatedAt: { type: string; format: string; }; }; accountId: { type: string; }; scopes: { type: string; items: { type: string; }; }; }; required: string[]; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/list-accounts"; }; deleteUserCallback: { (inputCtx_0: { body?: undefined; } & { method?: "GET" | undefined; } & { query: { token: string; callbackURL?: string | undefined; }; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { success: boolean; message: string; }; } : { success: boolean; message: string; }>; options: { method: "GET"; query: zod.ZodObject<{ token: zod.ZodString; callbackURL: zod.ZodOptional; }, zod_v4_core.$strip>; use: ((inputContext: better_call.MiddlewareInputContext) => Promise)[]; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { success: { type: string; description: string; }; message: { type: string; enum: string[]; description: string; }; }; required: string[]; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/delete-user/callback"; }; unlinkAccount: { (inputCtx_0: { body: { providerId: string; accountId?: string | undefined; }; } & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { status: boolean; }; } : { status: boolean; }>; options: { method: "POST"; body: zod.ZodObject<{ providerId: zod.ZodString; accountId: zod.ZodOptional; }, zod_v4_core.$strip>; use: ((inputContext: better_call.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; userId: string; expiresAt: Date; createdAt: Date; updatedAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; email: string; emailVerified: boolean; name: string; createdAt: Date; updatedAt: Date; image?: string | null | undefined; }; }; }>)[]; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { status: { type: string; }; }; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/unlink-account"; }; refreshToken: { (inputCtx_0: { body: { providerId: string; accountId?: string | undefined; userId?: string | undefined; }; } & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: OAuth2Tokens; } : OAuth2Tokens>; options: { method: "POST"; body: zod.ZodObject<{ providerId: zod.ZodString; accountId: zod.ZodOptional; userId: zod.ZodOptional; }, zod_v4_core.$strip>; metadata: { openapi: { description: string; responses: { 200: { description: string; content: { "application/json": { schema: { type: "object"; properties: { tokenType: { type: string; }; idToken: { type: string; }; accessToken: { type: string; }; refreshToken: { type: string; }; accessTokenExpiresAt: { type: string; format: string; }; refreshTokenExpiresAt: { type: string; format: string; }; }; }; }; }; }; 400: { description: string; }; }; }; }; } & { use: any[]; }; path: "/refresh-token"; }; getAccessToken: { (inputCtx_0: { body: { providerId: string; accountId?: string | undefined; userId?: string | undefined; }; } & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { accessToken: string; accessTokenExpiresAt: Date | undefined; scopes: string[]; idToken: string | undefined; }; } : { accessToken: string; accessTokenExpiresAt: Date | undefined; scopes: string[]; idToken: string | undefined; }>; options: { method: "POST"; body: zod.ZodObject<{ providerId: zod.ZodString; accountId: zod.ZodOptional; userId: zod.ZodOptional; }, zod_v4_core.$strip>; metadata: { openapi: { description: string; responses: { 200: { description: string; content: { "application/json": { schema: { type: "object"; properties: { tokenType: { type: string; }; idToken: { type: string; }; accessToken: { type: string; }; refreshToken: { type: string; }; accessTokenExpiresAt: { type: string; format: string; }; refreshTokenExpiresAt: { type: string; format: string; }; }; }; }; }; }; 400: { description: string; }; }; }; }; } & { use: any[]; }; path: "/get-access-token"; }; accountInfo: { (inputCtx_0: { body: { accountId: string; }; } & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { user: { id: string; name?: string; email?: string | null; image?: string; emailVerified: boolean; }; data: Record; } | null; } : { user: { id: string; name?: string; email?: string | null; image?: string; emailVerified: boolean; }; data: Record; } | null>; options: { method: "POST"; use: ((inputContext: better_call.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; userId: string; expiresAt: Date; createdAt: Date; updatedAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; email: string; emailVerified: boolean; name: string; createdAt: Date; updatedAt: Date; image?: string | null | undefined; }; }; }>)[]; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { user: { type: string; properties: { id: { type: string; }; name: { type: string; }; email: { type: string; }; image: { type: string; }; emailVerified: { type: string; }; }; required: string[]; }; data: { type: string; properties: {}; additionalProperties: boolean; }; }; required: string[]; additionalProperties: boolean; }; }; }; }; }; }; }; body: zod.ZodObject<{ accountId: zod.ZodString; }, zod_v4_core.$strip>; } & { use: any[]; }; path: "/account-info"; }; } & UnionToIntersection<(O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; })["plugins"] extends (infer T)[] ? T extends BetterAuthPlugin ? T extends { endpoints: infer E; } ? E : {} : {} : {}>>; options: O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }; $context: Promise; $Infer: { Session: { session: UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_110 ? T_110 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_110 extends BetterAuthOptions ? AdditionalSessionFieldsOutput : T_110 extends Auth ? AdditionalSessionFieldsOutput : {} : never : never)>> extends infer T_1 ? { [K in keyof T_1]: UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_2 ? T_2 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_2 extends BetterAuthOptions ? AdditionalSessionFieldsOutput : T_2 extends Auth ? AdditionalSessionFieldsOutput : {} : never : never)>>[K] extends (...args: any[]) => any ? UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_3 ? T_3 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_3 extends BetterAuthOptions ? AdditionalSessionFieldsOutput : T_3 extends Auth ? AdditionalSessionFieldsOutput : {} : never : never)>>[K] : UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_4 ? T_4 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_4 extends BetterAuthOptions ? AdditionalSessionFieldsOutput : T_4 extends Auth ? AdditionalSessionFieldsOutput : {} : never : never)>>[K] extends object ? UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_5 ? T_5 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_5 extends BetterAuthOptions ? AdditionalSessionFieldsOutput : T_5 extends Auth ? AdditionalSessionFieldsOutput : {} : never : never)>>[K] extends any[] ? UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_6 ? T_6 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_6 extends BetterAuthOptions ? AdditionalSessionFieldsOutput : T_6 extends Auth ? AdditionalSessionFieldsOutput : {} : never : never)>>[K] : UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_7 ? T_7 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_7 extends BetterAuthOptions ? AdditionalSessionFieldsOutput : T_7 extends Auth ? AdditionalSessionFieldsOutput : {} : never : never)>>[K] extends Date ? UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_8 ? T_8 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_8 extends BetterAuthOptions ? AdditionalSessionFieldsOutput : T_8 extends Auth ? AdditionalSessionFieldsOutput : {} : never : never)>>[K] : UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_108 ? T_108 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_108 extends BetterAuthOptions ? AdditionalSessionFieldsOutput : T_108 extends Auth ? AdditionalSessionFieldsOutput : {} : never : never)>>[K] extends infer T_9 ? { [K_1 in keyof T_9]: UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_10 ? T_10 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_10 extends BetterAuthOptions ? AdditionalSessionFieldsOutput : T_10 extends Auth ? AdditionalSessionFieldsOutput : {} : never : never)>>[K][K_1] extends (...args: any[]) => any ? UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_11 ? T_11 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_11 extends BetterAuthOptions ? AdditionalSessionFieldsOutput : T_11 extends Auth ? AdditionalSessionFieldsOutput : {} : never : never)>>[K][K_1] : UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_12 ? T_12 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_12 extends BetterAuthOptions ? AdditionalSessionFieldsOutput : T_12 extends Auth ? AdditionalSessionFieldsOutput : {} : never : never)>>[K][K_1] extends object ? UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_13 ? T_13 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_13 extends BetterAuthOptions ? AdditionalSessionFieldsOutput : T_13 extends Auth ? AdditionalSessionFieldsOutput : {} : never : never)>>[K][K_1] extends any[] ? UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_14 ? T_14 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_14 extends BetterAuthOptions ? AdditionalSessionFieldsOutput : T_14 extends Auth ? AdditionalSessionFieldsOutput : {} : never : never)>>[K][K_1] : UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_15 ? T_15 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_15 extends BetterAuthOptions ? AdditionalSessionFieldsOutput : T_15 extends Auth ? AdditionalSessionFieldsOutput : {} : never : never)>>[K][K_1] extends Date ? UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_16 ? T_16 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_16 extends BetterAuthOptions ? AdditionalSessionFieldsOutput : T_16 extends Auth ? AdditionalSessionFieldsOutput : {} : never : never)>>[K][K_1] : UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_106 ? T_106 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_106 extends BetterAuthOptions ? AdditionalSessionFieldsOutput : T_106 extends Auth ? AdditionalSessionFieldsOutput : {} : never : never)>>[K][K_1] extends infer T_17 ? { [K_2 in keyof T_17]: UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_18 ? T_18 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_18 extends BetterAuthOptions ? AdditionalSessionFieldsOutput : T_18 extends Auth ? AdditionalSessionFieldsOutput : {} : never : never)>>[K][K_1][K_2] extends (...args: any[]) => any ? UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_19 ? T_19 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_19 extends BetterAuthOptions ? AdditionalSessionFieldsOutput : T_19 extends Auth ? AdditionalSessionFieldsOutput : {} : never : never)>>[K][K_1][K_2] : UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_20 ? T_20 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_20 extends BetterAuthOptions ? AdditionalSessionFieldsOutput : T_20 extends Auth ? AdditionalSessionFieldsOutput : {} : never : never)>>[K][K_1][K_2] extends object ? UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_21 ? T_21 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_21 extends BetterAuthOptions ? AdditionalSessionFieldsOutput : T_21 extends Auth ? AdditionalSessionFieldsOutput : {} : never : never)>>[K][K_1][K_2] extends any[] ? UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_22 ? T_22 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_22 extends BetterAuthOptions ? AdditionalSessionFieldsOutput : T_22 extends Auth ? AdditionalSessionFieldsOutput : {} : never : never)>>[K][K_1][K_2] : UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_23 ? T_23 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_23 extends BetterAuthOptions ? AdditionalSessionFieldsOutput : T_23 extends Auth ? AdditionalSessionFieldsOutput : {} : never : never)>>[K][K_1][K_2] extends Date ? UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_24 ? T_24 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_24 extends BetterAuthOptions ? AdditionalSessionFieldsOutput : T_24 extends Auth ? AdditionalSessionFieldsOutput : {} : never : never)>>[K][K_1][K_2] : UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_104 ? T_104 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_104 extends BetterAuthOptions ? AdditionalSessionFieldsOutput : T_104 extends Auth ? AdditionalSessionFieldsOutput : {} : never : never)>>[K][K_1][K_2] extends infer T_25 ? { [K_3 in keyof T_25]: UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_26 ? T_26 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_26 extends BetterAuthOptions ? AdditionalSessionFieldsOutput : T_26 extends Auth ? AdditionalSessionFieldsOutput : {} : never : never)>>[K][K_1][K_2][K_3] extends (...args: any[]) => any ? UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_27 ? T_27 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_27 extends BetterAuthOptions ? AdditionalSessionFieldsOutput : T_27 extends Auth ? AdditionalSessionFieldsOutput : {} : never : never)>>[K][K_1][K_2][K_3] : UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_28 ? T_28 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_28 extends BetterAuthOptions ? AdditionalSessionFieldsOutput : T_28 extends Auth ? AdditionalSessionFieldsOutput : {} : never : never)>>[K][K_1][K_2][K_3] extends object ? UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_29 ? T_29 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_29 extends BetterAuthOptions ? AdditionalSessionFieldsOutput : T_29 extends Auth ? AdditionalSessionFieldsOutput : {} : never : never)>>[K][K_1][K_2][K_3] extends any[] ? UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_30 ? T_30 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_30 extends BetterAuthOptions ? AdditionalSessionFieldsOutput : T_30 extends Auth ? AdditionalSessionFieldsOutput : {} : never : never)>>[K][K_1][K_2][K_3] : UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_31 ? T_31 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_31 extends BetterAuthOptions ? AdditionalSessionFieldsOutput : T_31 extends Auth ? AdditionalSessionFieldsOutput : {} : never : never)>>[K][K_1][K_2][K_3] extends Date ? UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_32 ? T_32 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_32 extends BetterAuthOptions ? AdditionalSessionFieldsOutput : T_32 extends Auth ? AdditionalSessionFieldsOutput : {} : never : never)>>[K][K_1][K_2][K_3] : UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_102 ? T_102 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_102 extends BetterAuthOptions ? AdditionalSessionFieldsOutput : T_102 extends Auth ? AdditionalSessionFieldsOutput : {} : never : never)>>[K][K_1][K_2][K_3] extends infer T_33 ? { [K_4 in keyof T_33]: UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_34 ? T_34 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_34 extends BetterAuthOptions ? AdditionalSessionFieldsOutput : T_34 extends Auth ? AdditionalSessionFieldsOutput : {} : never : never)>>[K][K_1][K_2][K_3][K_4] extends (...args: any[]) => any ? UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_35 ? T_35 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_35 extends BetterAuthOptions ? AdditionalSessionFieldsOutput : T_35 extends Auth ? AdditionalSessionFieldsOutput : {} : never : never)>>[K][K_1][K_2][K_3][K_4] : UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_36 ? T_36 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_36 extends BetterAuthOptions ? AdditionalSessionFieldsOutput : T_36 extends Auth ? AdditionalSessionFieldsOutput : {} : never : never)>>[K][K_1][K_2][K_3][K_4] extends object ? UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_37 ? T_37 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_37 extends BetterAuthOptions ? AdditionalSessionFieldsOutput : T_37 extends Auth ? AdditionalSessionFieldsOutput : {} : never : never)>>[K][K_1][K_2][K_3][K_4] extends any[] ? UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_38 ? T_38 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_38 extends BetterAuthOptions ? AdditionalSessionFieldsOutput : T_38 extends Auth ? AdditionalSessionFieldsOutput : {} : never : never)>>[K][K_1][K_2][K_3][K_4] : UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_39 ? T_39 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_39 extends BetterAuthOptions ? AdditionalSessionFieldsOutput : T_39 extends Auth ? AdditionalSessionFieldsOutput : {} : never : never)>>[K][K_1][K_2][K_3][K_4] extends Date ? UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_40 ? T_40 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_40 extends BetterAuthOptions ? AdditionalSessionFieldsOutput : T_40 extends Auth ? AdditionalSessionFieldsOutput : {} : never : never)>>[K][K_1][K_2][K_3][K_4] : UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_100 ? T_100 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_100 extends BetterAuthOptions ? AdditionalSessionFieldsOutput : T_100 extends Auth ? AdditionalSessionFieldsOutput : {} : never : never)>>[K][K_1][K_2][K_3][K_4] extends infer T_41 ? { [K_5 in keyof T_41]: UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_42 ? T_42 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_42 extends BetterAuthOptions ? AdditionalSessionFieldsOutput : T_42 extends Auth ? AdditionalSessionFieldsOutput : {} : never : never)>>[K][K_1][K_2][K_3][K_4][K_5] extends (...args: any[]) => any ? UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_43 ? T_43 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_43 extends BetterAuthOptions ? AdditionalSessionFieldsOutput : T_43 extends Auth ? AdditionalSessionFieldsOutput : {} : never : never)>>[K][K_1][K_2][K_3][K_4][K_5] : UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_44 ? T_44 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_44 extends BetterAuthOptions ? AdditionalSessionFieldsOutput : T_44 extends Auth ? AdditionalSessionFieldsOutput : {} : never : never)>>[K][K_1][K_2][K_3][K_4][K_5] extends object ? UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_45 ? T_45 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_45 extends BetterAuthOptions ? AdditionalSessionFieldsOutput : T_45 extends Auth ? AdditionalSessionFieldsOutput : {} : never : never)>>[K][K_1][K_2][K_3][K_4][K_5] extends any[] ? UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_46 ? T_46 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_46 extends BetterAuthOptions ? AdditionalSessionFieldsOutput : T_46 extends Auth ? AdditionalSessionFieldsOutput : {} : never : never)>>[K][K_1][K_2][K_3][K_4][K_5] : UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_47 ? T_47 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_47 extends BetterAuthOptions ? AdditionalSessionFieldsOutput : T_47 extends Auth ? AdditionalSessionFieldsOutput : {} : never : never)>>[K][K_1][K_2][K_3][K_4][K_5] extends Date ? UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_48 ? T_48 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_48 extends BetterAuthOptions ? AdditionalSessionFieldsOutput : T_48 extends Auth ? AdditionalSessionFieldsOutput : {} : never : never)>>[K][K_1][K_2][K_3][K_4][K_5] : UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_98 ? T_98 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_98 extends BetterAuthOptions ? AdditionalSessionFieldsOutput : T_98 extends Auth ? AdditionalSessionFieldsOutput : {} : never : never)>>[K][K_1][K_2][K_3][K_4][K_5] extends infer T_49 ? { [K_6 in keyof T_49]: UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_50 ? T_50 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_50 extends BetterAuthOptions ? AdditionalSessionFieldsOutput : T_50 extends Auth ? AdditionalSessionFieldsOutput : {} : never : never)>>[K][K_1][K_2][K_3][K_4][K_5][K_6] extends (...args: any[]) => any ? UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_51 ? T_51 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_51 extends BetterAuthOptions ? AdditionalSessionFieldsOutput : T_51 extends Auth ? AdditionalSessionFieldsOutput : {} : never : never)>>[K][K_1][K_2][K_3][K_4][K_5][K_6] : UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_52 ? T_52 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_52 extends BetterAuthOptions ? AdditionalSessionFieldsOutput : T_52 extends Auth ? AdditionalSessionFieldsOutput : {} : never : never)>>[K][K_1][K_2][K_3][K_4][K_5][K_6] extends object ? UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_53 ? T_53 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_53 extends BetterAuthOptions ? AdditionalSessionFieldsOutput : T_53 extends Auth ? AdditionalSessionFieldsOutput : {} : never : never)>>[K][K_1][K_2][K_3][K_4][K_5][K_6] extends any[] ? UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_54 ? T_54 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_54 extends BetterAuthOptions ? AdditionalSessionFieldsOutput : T_54 extends Auth ? AdditionalSessionFieldsOutput : {} : never : never)>>[K][K_1][K_2][K_3][K_4][K_5][K_6] : UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_55 ? T_55 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_55 extends BetterAuthOptions ? AdditionalSessionFieldsOutput : T_55 extends Auth ? AdditionalSessionFieldsOutput : {} : never : never)>>[K][K_1][K_2][K_3][K_4][K_5][K_6] extends Date ? UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_56 ? T_56 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_56 extends BetterAuthOptions ? AdditionalSessionFieldsOutput : T_56 extends Auth ? AdditionalSessionFieldsOutput : {} : never : never)>>[K][K_1][K_2][K_3][K_4][K_5][K_6] : UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_96 ? T_96 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_96 extends BetterAuthOptions ? AdditionalSessionFieldsOutput : T_96 extends Auth ? AdditionalSessionFieldsOutput : {} : never : never)>>[K][K_1][K_2][K_3][K_4][K_5][K_6] extends infer T_57 ? { [K_7 in keyof T_57]: UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_58 ? T_58 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_58 extends BetterAuthOptions ? AdditionalSessionFieldsOutput : T_58 extends Auth ? AdditionalSessionFieldsOutput : {} : never : never)>>[K][K_1][K_2][K_3][K_4][K_5][K_6][K_7] extends (...args: any[]) => any ? UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_59 ? T_59 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_59 extends BetterAuthOptions ? AdditionalSessionFieldsOutput : T_59 extends Auth ? AdditionalSessionFieldsOutput : {} : never : never)>>[K][K_1][K_2][K_3][K_4][K_5][K_6][K_7] : UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_60 ? T_60 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_60 extends BetterAuthOptions ? AdditionalSessionFieldsOutput : T_60 extends Auth ? AdditionalSessionFieldsOutput : {} : never : never)>>[K][K_1][K_2][K_3][K_4][K_5][K_6][K_7] extends object ? UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_61 ? T_61 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_61 extends BetterAuthOptions ? AdditionalSessionFieldsOutput : T_61 extends Auth ? AdditionalSessionFieldsOutput : {} : never : never)>>[K][K_1][K_2][K_3][K_4][K_5][K_6][K_7] extends any[] ? UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_62 ? T_62 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_62 extends BetterAuthOptions ? AdditionalSessionFieldsOutput : T_62 extends Auth ? AdditionalSessionFieldsOutput : {} : never : never)>>[K][K_1][K_2][K_3][K_4][K_5][K_6][K_7] : UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_63 ? T_63 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_63 extends BetterAuthOptions ? AdditionalSessionFieldsOutput : T_63 extends Auth ? AdditionalSessionFieldsOutput : {} : never : never)>>[K][K_1][K_2][K_3][K_4][K_5][K_6][K_7] extends Date ? UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_64 ? T_64 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_64 extends BetterAuthOptions ? AdditionalSessionFieldsOutput : T_64 extends Auth ? AdditionalSessionFieldsOutput : {} : never : never)>>[K][K_1][K_2][K_3][K_4][K_5][K_6][K_7] : UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_94 ? T_94 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_94 extends BetterAuthOptions ? AdditionalSessionFieldsOutput : T_94 extends Auth ? AdditionalSessionFieldsOutput : {} : never : never)>>[K][K_1][K_2][K_3][K_4][K_5][K_6][K_7] extends infer T_65 ? { [K_8 in keyof T_65]: UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_66 ? T_66 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_66 extends BetterAuthOptions ? AdditionalSessionFieldsOutput : T_66 extends Auth ? AdditionalSessionFieldsOutput : {} : never : never)>>[K][K_1][K_2][K_3][K_4][K_5][K_6][K_7][K_8] extends (...args: any[]) => any ? UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_67 ? T_67 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_67 extends BetterAuthOptions ? AdditionalSessionFieldsOutput : T_67 extends Auth ? AdditionalSessionFieldsOutput : {} : never : never)>>[K][K_1][K_2][K_3][K_4][K_5][K_6][K_7][K_8] : UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_68 ? T_68 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_68 extends BetterAuthOptions ? AdditionalSessionFieldsOutput : T_68 extends Auth ? AdditionalSessionFieldsOutput : {} : never : never)>>[K][K_1][K_2][K_3][K_4][K_5][K_6][K_7][K_8] extends object ? UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_69 ? T_69 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_69 extends BetterAuthOptions ? AdditionalSessionFieldsOutput : T_69 extends Auth ? AdditionalSessionFieldsOutput : {} : never : never)>>[K][K_1][K_2][K_3][K_4][K_5][K_6][K_7][K_8] extends any[] ? UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_70 ? T_70 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_70 extends BetterAuthOptions ? AdditionalSessionFieldsOutput : T_70 extends Auth ? AdditionalSessionFieldsOutput : {} : never : never)>>[K][K_1][K_2][K_3][K_4][K_5][K_6][K_7][K_8] : UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_71 ? T_71 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_71 extends BetterAuthOptions ? AdditionalSessionFieldsOutput : T_71 extends Auth ? AdditionalSessionFieldsOutput : {} : never : never)>>[K][K_1][K_2][K_3][K_4][K_5][K_6][K_7][K_8] extends Date ? UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_72 ? T_72 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_72 extends BetterAuthOptions ? AdditionalSessionFieldsOutput : T_72 extends Auth ? AdditionalSessionFieldsOutput : {} : never : never)>>[K][K_1][K_2][K_3][K_4][K_5][K_6][K_7][K_8] : UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_92 ? T_92 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_92 extends BetterAuthOptions ? AdditionalSessionFieldsOutput : T_92 extends Auth ? AdditionalSessionFieldsOutput : {} : never : never)>>[K][K_1][K_2][K_3][K_4][K_5][K_6][K_7][K_8] extends infer T_73 ? { [K_9 in keyof T_73]: UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_74 ? T_74 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_74 extends BetterAuthOptions ? AdditionalSessionFieldsOutput : T_74 extends Auth ? AdditionalSessionFieldsOutput : {} : never : never)>>[K][K_1][K_2][K_3][K_4][K_5][K_6][K_7][K_8][K_9] extends (...args: any[]) => any ? UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_75 ? T_75 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_75 extends BetterAuthOptions ? AdditionalSessionFieldsOutput : T_75 extends Auth ? AdditionalSessionFieldsOutput : {} : never : never)>>[K][K_1][K_2][K_3][K_4][K_5][K_6][K_7][K_8][K_9] : UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_76 ? T_76 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_76 extends BetterAuthOptions ? AdditionalSessionFieldsOutput : T_76 extends Auth ? AdditionalSessionFieldsOutput : {} : never : never)>>[K][K_1][K_2][K_3][K_4][K_5][K_6][K_7][K_8][K_9] extends object ? UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_77 ? T_77 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_77 extends BetterAuthOptions ? AdditionalSessionFieldsOutput : T_77 extends Auth ? AdditionalSessionFieldsOutput : {} : never : never)>>[K][K_1][K_2][K_3][K_4][K_5][K_6][K_7][K_8][K_9] extends any[] ? UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_78 ? T_78 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_78 extends BetterAuthOptions ? AdditionalSessionFieldsOutput : T_78 extends Auth ? AdditionalSessionFieldsOutput : {} : never : never)>>[K][K_1][K_2][K_3][K_4][K_5][K_6][K_7][K_8][K_9] : UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_79 ? T_79 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_79 extends BetterAuthOptions ? AdditionalSessionFieldsOutput : T_79 extends Auth ? AdditionalSessionFieldsOutput : {} : never : never)>>[K][K_1][K_2][K_3][K_4][K_5][K_6][K_7][K_8][K_9] extends Date ? UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_80 ? T_80 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_80 extends BetterAuthOptions ? AdditionalSessionFieldsOutput : T_80 extends Auth ? AdditionalSessionFieldsOutput : {} : never : never)>>[K][K_1][K_2][K_3][K_4][K_5][K_6][K_7][K_8][K_9] : UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_90 ? T_90 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_90 extends BetterAuthOptions ? AdditionalSessionFieldsOutput : T_90 extends Auth ? AdditionalSessionFieldsOutput : {} : never : never)>>[K][K_1][K_2][K_3][K_4][K_5][K_6][K_7][K_8][K_9] extends infer T_81 ? { [K_10 in keyof T_81]: UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_82 ? T_82 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_82 extends BetterAuthOptions ? AdditionalSessionFieldsOutput : T_82 extends Auth ? AdditionalSessionFieldsOutput : {} : never : never)>>[K][K_1][K_2][K_3][K_4][K_5][K_6][K_7][K_8][K_9][K_10] extends (...args: any[]) => any ? UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_83 ? T_83 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_83 extends BetterAuthOptions ? AdditionalSessionFieldsOutput : T_83 extends Auth ? AdditionalSessionFieldsOutput : {} : never : never)>>[K][K_1][K_2][K_3][K_4][K_5][K_6][K_7][K_8][K_9][K_10] : UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_84 ? T_84 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_84 extends BetterAuthOptions ? AdditionalSessionFieldsOutput : T_84 extends Auth ? AdditionalSessionFieldsOutput : {} : never : never)>>[K][K_1][K_2][K_3][K_4][K_5][K_6][K_7][K_8][K_9][K_10] extends object ? UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_85 ? T_85 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_85 extends BetterAuthOptions ? AdditionalSessionFieldsOutput : T_85 extends Auth ? AdditionalSessionFieldsOutput : {} : never : never)>>[K][K_1][K_2][K_3][K_4][K_5][K_6][K_7][K_8][K_9][K_10] extends any[] ? UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_86 ? T_86 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_86 extends BetterAuthOptions ? AdditionalSessionFieldsOutput : T_86 extends Auth ? AdditionalSessionFieldsOutput : {} : never : never)>>[K][K_1][K_2][K_3][K_4][K_5][K_6][K_7][K_8][K_9][K_10] : UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_87 ? T_87 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_87 extends BetterAuthOptions ? AdditionalSessionFieldsOutput : T_87 extends Auth ? AdditionalSessionFieldsOutput : {} : never : never)>>[K][K_1][K_2][K_3][K_4][K_5][K_6][K_7][K_8][K_9][K_10] extends Date ? UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_88 ? T_88 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_88 extends BetterAuthOptions ? AdditionalSessionFieldsOutput : T_88 extends Auth ? AdditionalSessionFieldsOutput : {} : never : never)>>[K][K_1][K_2][K_3][K_4][K_5][K_6][K_7][K_8][K_9][K_10] : /*elided*/ any : UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_89 ? T_89 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_89 extends BetterAuthOptions ? AdditionalSessionFieldsOutput : T_89 extends Auth ? AdditionalSessionFieldsOutput : {} : never : never)>>[K][K_1][K_2][K_3][K_4][K_5][K_6][K_7][K_8][K_9][K_10]; } : never : UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_91 ? T_91 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_91 extends BetterAuthOptions ? AdditionalSessionFieldsOutput : T_91 extends Auth ? AdditionalSessionFieldsOutput : {} : never : never)>>[K][K_1][K_2][K_3][K_4][K_5][K_6][K_7][K_8][K_9]; } : never : UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_93 ? T_93 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_93 extends BetterAuthOptions ? AdditionalSessionFieldsOutput : T_93 extends Auth ? AdditionalSessionFieldsOutput : {} : never : never)>>[K][K_1][K_2][K_3][K_4][K_5][K_6][K_7][K_8]; } : never : UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_95 ? T_95 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_95 extends BetterAuthOptions ? AdditionalSessionFieldsOutput : T_95 extends Auth ? AdditionalSessionFieldsOutput : {} : never : never)>>[K][K_1][K_2][K_3][K_4][K_5][K_6][K_7]; } : never : UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_97 ? T_97 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_97 extends BetterAuthOptions ? AdditionalSessionFieldsOutput : T_97 extends Auth ? AdditionalSessionFieldsOutput : {} : never : never)>>[K][K_1][K_2][K_3][K_4][K_5][K_6]; } : never : UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_99 ? T_99 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_99 extends BetterAuthOptions ? AdditionalSessionFieldsOutput : T_99 extends Auth ? AdditionalSessionFieldsOutput : {} : never : never)>>[K][K_1][K_2][K_3][K_4][K_5]; } : never : UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_101 ? T_101 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_101 extends BetterAuthOptions ? AdditionalSessionFieldsOutput : T_101 extends Auth ? AdditionalSessionFieldsOutput : {} : never : never)>>[K][K_1][K_2][K_3][K_4]; } : never : UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_103 ? T_103 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_103 extends BetterAuthOptions ? AdditionalSessionFieldsOutput : T_103 extends Auth ? AdditionalSessionFieldsOutput : {} : never : never)>>[K][K_1][K_2][K_3]; } : never : UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_105 ? T_105 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_105 extends BetterAuthOptions ? AdditionalSessionFieldsOutput : T_105 extends Auth ? AdditionalSessionFieldsOutput : {} : never : never)>>[K][K_1][K_2]; } : never : UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_107 ? T_107 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_107 extends BetterAuthOptions ? AdditionalSessionFieldsOutput : T_107 extends Auth ? AdditionalSessionFieldsOutput : {} : never : never)>>[K][K_1]; } : never : UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_109 ? T_109 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_109 extends BetterAuthOptions ? AdditionalSessionFieldsOutput : T_109 extends Auth ? AdditionalSessionFieldsOutput : {} : never : never)>>[K]; } : never; user: UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_220 ? T_220 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_220 extends BetterAuthOptions ? AdditionalUserFieldsOutput : T_220 extends Auth ? AdditionalUserFieldsOutput : {} : never : never)>> extends infer T_111 ? { [K_11 in keyof T_111]: UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_112 ? T_112 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_112 extends BetterAuthOptions ? AdditionalUserFieldsOutput : T_112 extends Auth ? AdditionalUserFieldsOutput : {} : never : never)>>[K_11] extends (...args: any[]) => any ? UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_113 ? T_113 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_113 extends BetterAuthOptions ? AdditionalUserFieldsOutput : T_113 extends Auth ? AdditionalUserFieldsOutput : {} : never : never)>>[K_11] : UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_114 ? T_114 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_114 extends BetterAuthOptions ? AdditionalUserFieldsOutput : T_114 extends Auth ? AdditionalUserFieldsOutput : {} : never : never)>>[K_11] extends object ? UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_115 ? T_115 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_115 extends BetterAuthOptions ? AdditionalUserFieldsOutput : T_115 extends Auth ? AdditionalUserFieldsOutput : {} : never : never)>>[K_11] extends any[] ? UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_116 ? T_116 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_116 extends BetterAuthOptions ? AdditionalUserFieldsOutput : T_116 extends Auth ? AdditionalUserFieldsOutput : {} : never : never)>>[K_11] : UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_117 ? T_117 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_117 extends BetterAuthOptions ? AdditionalUserFieldsOutput : T_117 extends Auth ? AdditionalUserFieldsOutput : {} : never : never)>>[K_11] extends Date ? UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_118 ? T_118 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_118 extends BetterAuthOptions ? AdditionalUserFieldsOutput : T_118 extends Auth ? AdditionalUserFieldsOutput : {} : never : never)>>[K_11] : UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_218 ? T_218 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_218 extends BetterAuthOptions ? AdditionalUserFieldsOutput : T_218 extends Auth ? AdditionalUserFieldsOutput : {} : never : never)>>[K_11] extends infer T_119 ? { [K_12 in keyof T_119]: UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_120 ? T_120 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_120 extends BetterAuthOptions ? AdditionalUserFieldsOutput : T_120 extends Auth ? AdditionalUserFieldsOutput : {} : never : never)>>[K_11][K_12] extends (...args: any[]) => any ? UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_121 ? T_121 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_121 extends BetterAuthOptions ? AdditionalUserFieldsOutput : T_121 extends Auth ? AdditionalUserFieldsOutput : {} : never : never)>>[K_11][K_12] : UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_122 ? T_122 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_122 extends BetterAuthOptions ? AdditionalUserFieldsOutput : T_122 extends Auth ? AdditionalUserFieldsOutput : {} : never : never)>>[K_11][K_12] extends object ? UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_123 ? T_123 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_123 extends BetterAuthOptions ? AdditionalUserFieldsOutput : T_123 extends Auth ? AdditionalUserFieldsOutput : {} : never : never)>>[K_11][K_12] extends any[] ? UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_124 ? T_124 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_124 extends BetterAuthOptions ? AdditionalUserFieldsOutput : T_124 extends Auth ? AdditionalUserFieldsOutput : {} : never : never)>>[K_11][K_12] : UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_125 ? T_125 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_125 extends BetterAuthOptions ? AdditionalUserFieldsOutput : T_125 extends Auth ? AdditionalUserFieldsOutput : {} : never : never)>>[K_11][K_12] extends Date ? UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_126 ? T_126 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_126 extends BetterAuthOptions ? AdditionalUserFieldsOutput : T_126 extends Auth ? AdditionalUserFieldsOutput : {} : never : never)>>[K_11][K_12] : UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_216 ? T_216 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_216 extends BetterAuthOptions ? AdditionalUserFieldsOutput : T_216 extends Auth ? AdditionalUserFieldsOutput : {} : never : never)>>[K_11][K_12] extends infer T_127 ? { [K_13 in keyof T_127]: UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_128 ? T_128 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_128 extends BetterAuthOptions ? AdditionalUserFieldsOutput : T_128 extends Auth ? AdditionalUserFieldsOutput : {} : never : never)>>[K_11][K_12][K_13] extends (...args: any[]) => any ? UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_129 ? T_129 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_129 extends BetterAuthOptions ? AdditionalUserFieldsOutput : T_129 extends Auth ? AdditionalUserFieldsOutput : {} : never : never)>>[K_11][K_12][K_13] : UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_130 ? T_130 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_130 extends BetterAuthOptions ? AdditionalUserFieldsOutput : T_130 extends Auth ? AdditionalUserFieldsOutput : {} : never : never)>>[K_11][K_12][K_13] extends object ? UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_131 ? T_131 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_131 extends BetterAuthOptions ? AdditionalUserFieldsOutput : T_131 extends Auth ? AdditionalUserFieldsOutput : {} : never : never)>>[K_11][K_12][K_13] extends any[] ? UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_132 ? T_132 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_132 extends BetterAuthOptions ? AdditionalUserFieldsOutput : T_132 extends Auth ? AdditionalUserFieldsOutput : {} : never : never)>>[K_11][K_12][K_13] : UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_133 ? T_133 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_133 extends BetterAuthOptions ? AdditionalUserFieldsOutput : T_133 extends Auth ? AdditionalUserFieldsOutput : {} : never : never)>>[K_11][K_12][K_13] extends Date ? UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_134 ? T_134 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_134 extends BetterAuthOptions ? AdditionalUserFieldsOutput : T_134 extends Auth ? AdditionalUserFieldsOutput : {} : never : never)>>[K_11][K_12][K_13] : UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_214 ? T_214 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_214 extends BetterAuthOptions ? AdditionalUserFieldsOutput : T_214 extends Auth ? AdditionalUserFieldsOutput : {} : never : never)>>[K_11][K_12][K_13] extends infer T_135 ? { [K_14 in keyof T_135]: UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_136 ? T_136 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_136 extends BetterAuthOptions ? AdditionalUserFieldsOutput : T_136 extends Auth ? AdditionalUserFieldsOutput : {} : never : never)>>[K_11][K_12][K_13][K_14] extends (...args: any[]) => any ? UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_137 ? T_137 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_137 extends BetterAuthOptions ? AdditionalUserFieldsOutput : T_137 extends Auth ? AdditionalUserFieldsOutput : {} : never : never)>>[K_11][K_12][K_13][K_14] : UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_138 ? T_138 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_138 extends BetterAuthOptions ? AdditionalUserFieldsOutput : T_138 extends Auth ? AdditionalUserFieldsOutput : {} : never : never)>>[K_11][K_12][K_13][K_14] extends object ? UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_139 ? T_139 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_139 extends BetterAuthOptions ? AdditionalUserFieldsOutput : T_139 extends Auth ? AdditionalUserFieldsOutput : {} : never : never)>>[K_11][K_12][K_13][K_14] extends any[] ? UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_140 ? T_140 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_140 extends BetterAuthOptions ? AdditionalUserFieldsOutput : T_140 extends Auth ? AdditionalUserFieldsOutput : {} : never : never)>>[K_11][K_12][K_13][K_14] : UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_141 ? T_141 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_141 extends BetterAuthOptions ? AdditionalUserFieldsOutput : T_141 extends Auth ? AdditionalUserFieldsOutput : {} : never : never)>>[K_11][K_12][K_13][K_14] extends Date ? UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_142 ? T_142 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_142 extends BetterAuthOptions ? AdditionalUserFieldsOutput : T_142 extends Auth ? AdditionalUserFieldsOutput : {} : never : never)>>[K_11][K_12][K_13][K_14] : UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_212 ? T_212 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_212 extends BetterAuthOptions ? AdditionalUserFieldsOutput : T_212 extends Auth ? AdditionalUserFieldsOutput : {} : never : never)>>[K_11][K_12][K_13][K_14] extends infer T_143 ? { [K_15 in keyof T_143]: UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_144 ? T_144 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_144 extends BetterAuthOptions ? AdditionalUserFieldsOutput : T_144 extends Auth ? AdditionalUserFieldsOutput : {} : never : never)>>[K_11][K_12][K_13][K_14][K_15] extends (...args: any[]) => any ? UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_145 ? T_145 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_145 extends BetterAuthOptions ? AdditionalUserFieldsOutput : T_145 extends Auth ? AdditionalUserFieldsOutput : {} : never : never)>>[K_11][K_12][K_13][K_14][K_15] : UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_146 ? T_146 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_146 extends BetterAuthOptions ? AdditionalUserFieldsOutput : T_146 extends Auth ? AdditionalUserFieldsOutput : {} : never : never)>>[K_11][K_12][K_13][K_14][K_15] extends object ? UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_147 ? T_147 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_147 extends BetterAuthOptions ? AdditionalUserFieldsOutput : T_147 extends Auth ? AdditionalUserFieldsOutput : {} : never : never)>>[K_11][K_12][K_13][K_14][K_15] extends any[] ? UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_148 ? T_148 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_148 extends BetterAuthOptions ? AdditionalUserFieldsOutput : T_148 extends Auth ? AdditionalUserFieldsOutput : {} : never : never)>>[K_11][K_12][K_13][K_14][K_15] : UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_149 ? T_149 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_149 extends BetterAuthOptions ? AdditionalUserFieldsOutput : T_149 extends Auth ? AdditionalUserFieldsOutput : {} : never : never)>>[K_11][K_12][K_13][K_14][K_15] extends Date ? UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_150 ? T_150 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_150 extends BetterAuthOptions ? AdditionalUserFieldsOutput : T_150 extends Auth ? AdditionalUserFieldsOutput : {} : never : never)>>[K_11][K_12][K_13][K_14][K_15] : UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_210 ? T_210 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_210 extends BetterAuthOptions ? AdditionalUserFieldsOutput : T_210 extends Auth ? AdditionalUserFieldsOutput : {} : never : never)>>[K_11][K_12][K_13][K_14][K_15] extends infer T_151 ? { [K_16 in keyof T_151]: UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_152 ? T_152 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_152 extends BetterAuthOptions ? AdditionalUserFieldsOutput : T_152 extends Auth ? AdditionalUserFieldsOutput : {} : never : never)>>[K_11][K_12][K_13][K_14][K_15][K_16] extends (...args: any[]) => any ? UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_153 ? T_153 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_153 extends BetterAuthOptions ? AdditionalUserFieldsOutput : T_153 extends Auth ? AdditionalUserFieldsOutput : {} : never : never)>>[K_11][K_12][K_13][K_14][K_15][K_16] : UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_154 ? T_154 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_154 extends BetterAuthOptions ? AdditionalUserFieldsOutput : T_154 extends Auth ? AdditionalUserFieldsOutput : {} : never : never)>>[K_11][K_12][K_13][K_14][K_15][K_16] extends object ? UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_155 ? T_155 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_155 extends BetterAuthOptions ? AdditionalUserFieldsOutput : T_155 extends Auth ? AdditionalUserFieldsOutput : {} : never : never)>>[K_11][K_12][K_13][K_14][K_15][K_16] extends any[] ? UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_156 ? T_156 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_156 extends BetterAuthOptions ? AdditionalUserFieldsOutput : T_156 extends Auth ? AdditionalUserFieldsOutput : {} : never : never)>>[K_11][K_12][K_13][K_14][K_15][K_16] : UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_157 ? T_157 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_157 extends BetterAuthOptions ? AdditionalUserFieldsOutput : T_157 extends Auth ? AdditionalUserFieldsOutput : {} : never : never)>>[K_11][K_12][K_13][K_14][K_15][K_16] extends Date ? UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_158 ? T_158 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_158 extends BetterAuthOptions ? AdditionalUserFieldsOutput : T_158 extends Auth ? AdditionalUserFieldsOutput : {} : never : never)>>[K_11][K_12][K_13][K_14][K_15][K_16] : UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_208 ? T_208 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_208 extends BetterAuthOptions ? AdditionalUserFieldsOutput : T_208 extends Auth ? AdditionalUserFieldsOutput : {} : never : never)>>[K_11][K_12][K_13][K_14][K_15][K_16] extends infer T_159 ? { [K_17 in keyof T_159]: UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_160 ? T_160 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_160 extends BetterAuthOptions ? AdditionalUserFieldsOutput : T_160 extends Auth ? AdditionalUserFieldsOutput : {} : never : never)>>[K_11][K_12][K_13][K_14][K_15][K_16][K_17] extends (...args: any[]) => any ? UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_161 ? T_161 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_161 extends BetterAuthOptions ? AdditionalUserFieldsOutput : T_161 extends Auth ? AdditionalUserFieldsOutput : {} : never : never)>>[K_11][K_12][K_13][K_14][K_15][K_16][K_17] : UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_162 ? T_162 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_162 extends BetterAuthOptions ? AdditionalUserFieldsOutput : T_162 extends Auth ? AdditionalUserFieldsOutput : {} : never : never)>>[K_11][K_12][K_13][K_14][K_15][K_16][K_17] extends object ? UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_163 ? T_163 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_163 extends BetterAuthOptions ? AdditionalUserFieldsOutput : T_163 extends Auth ? AdditionalUserFieldsOutput : {} : never : never)>>[K_11][K_12][K_13][K_14][K_15][K_16][K_17] extends any[] ? UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_164 ? T_164 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_164 extends BetterAuthOptions ? AdditionalUserFieldsOutput : T_164 extends Auth ? AdditionalUserFieldsOutput : {} : never : never)>>[K_11][K_12][K_13][K_14][K_15][K_16][K_17] : UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_165 ? T_165 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_165 extends BetterAuthOptions ? AdditionalUserFieldsOutput : T_165 extends Auth ? AdditionalUserFieldsOutput : {} : never : never)>>[K_11][K_12][K_13][K_14][K_15][K_16][K_17] extends Date ? UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_166 ? T_166 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_166 extends BetterAuthOptions ? AdditionalUserFieldsOutput : T_166 extends Auth ? AdditionalUserFieldsOutput : {} : never : never)>>[K_11][K_12][K_13][K_14][K_15][K_16][K_17] : UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_206 ? T_206 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_206 extends BetterAuthOptions ? AdditionalUserFieldsOutput : T_206 extends Auth ? AdditionalUserFieldsOutput : {} : never : never)>>[K_11][K_12][K_13][K_14][K_15][K_16][K_17] extends infer T_167 ? { [K_18 in keyof T_167]: UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_168 ? T_168 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_168 extends BetterAuthOptions ? AdditionalUserFieldsOutput : T_168 extends Auth ? AdditionalUserFieldsOutput : {} : never : never)>>[K_11][K_12][K_13][K_14][K_15][K_16][K_17][K_18] extends (...args: any[]) => any ? UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_169 ? T_169 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_169 extends BetterAuthOptions ? AdditionalUserFieldsOutput : T_169 extends Auth ? AdditionalUserFieldsOutput : {} : never : never)>>[K_11][K_12][K_13][K_14][K_15][K_16][K_17][K_18] : UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_170 ? T_170 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_170 extends BetterAuthOptions ? AdditionalUserFieldsOutput : T_170 extends Auth ? AdditionalUserFieldsOutput : {} : never : never)>>[K_11][K_12][K_13][K_14][K_15][K_16][K_17][K_18] extends object ? UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_171 ? T_171 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_171 extends BetterAuthOptions ? AdditionalUserFieldsOutput : T_171 extends Auth ? AdditionalUserFieldsOutput : {} : never : never)>>[K_11][K_12][K_13][K_14][K_15][K_16][K_17][K_18] extends any[] ? UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_172 ? T_172 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_172 extends BetterAuthOptions ? AdditionalUserFieldsOutput : T_172 extends Auth ? AdditionalUserFieldsOutput : {} : never : never)>>[K_11][K_12][K_13][K_14][K_15][K_16][K_17][K_18] : UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_173 ? T_173 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_173 extends BetterAuthOptions ? AdditionalUserFieldsOutput : T_173 extends Auth ? AdditionalUserFieldsOutput : {} : never : never)>>[K_11][K_12][K_13][K_14][K_15][K_16][K_17][K_18] extends Date ? UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_174 ? T_174 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_174 extends BetterAuthOptions ? AdditionalUserFieldsOutput : T_174 extends Auth ? AdditionalUserFieldsOutput : {} : never : never)>>[K_11][K_12][K_13][K_14][K_15][K_16][K_17][K_18] : UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_204 ? T_204 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_204 extends BetterAuthOptions ? AdditionalUserFieldsOutput : T_204 extends Auth ? AdditionalUserFieldsOutput : {} : never : never)>>[K_11][K_12][K_13][K_14][K_15][K_16][K_17][K_18] extends infer T_175 ? { [K_19 in keyof T_175]: UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_176 ? T_176 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_176 extends BetterAuthOptions ? AdditionalUserFieldsOutput : T_176 extends Auth ? AdditionalUserFieldsOutput : {} : never : never)>>[K_11][K_12][K_13][K_14][K_15][K_16][K_17][K_18][K_19] extends (...args: any[]) => any ? UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_177 ? T_177 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_177 extends BetterAuthOptions ? AdditionalUserFieldsOutput : T_177 extends Auth ? AdditionalUserFieldsOutput : {} : never : never)>>[K_11][K_12][K_13][K_14][K_15][K_16][K_17][K_18][K_19] : UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_178 ? T_178 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_178 extends BetterAuthOptions ? AdditionalUserFieldsOutput : T_178 extends Auth ? AdditionalUserFieldsOutput : {} : never : never)>>[K_11][K_12][K_13][K_14][K_15][K_16][K_17][K_18][K_19] extends object ? UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_179 ? T_179 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_179 extends BetterAuthOptions ? AdditionalUserFieldsOutput : T_179 extends Auth ? AdditionalUserFieldsOutput : {} : never : never)>>[K_11][K_12][K_13][K_14][K_15][K_16][K_17][K_18][K_19] extends any[] ? UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_180 ? T_180 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_180 extends BetterAuthOptions ? AdditionalUserFieldsOutput : T_180 extends Auth ? AdditionalUserFieldsOutput : {} : never : never)>>[K_11][K_12][K_13][K_14][K_15][K_16][K_17][K_18][K_19] : UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_181 ? T_181 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_181 extends BetterAuthOptions ? AdditionalUserFieldsOutput : T_181 extends Auth ? AdditionalUserFieldsOutput : {} : never : never)>>[K_11][K_12][K_13][K_14][K_15][K_16][K_17][K_18][K_19] extends Date ? UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_182 ? T_182 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_182 extends BetterAuthOptions ? AdditionalUserFieldsOutput : T_182 extends Auth ? AdditionalUserFieldsOutput : {} : never : never)>>[K_11][K_12][K_13][K_14][K_15][K_16][K_17][K_18][K_19] : UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_202 ? T_202 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_202 extends BetterAuthOptions ? AdditionalUserFieldsOutput : T_202 extends Auth ? AdditionalUserFieldsOutput : {} : never : never)>>[K_11][K_12][K_13][K_14][K_15][K_16][K_17][K_18][K_19] extends infer T_183 ? { [K_20 in keyof T_183]: UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_184 ? T_184 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_184 extends BetterAuthOptions ? AdditionalUserFieldsOutput : T_184 extends Auth ? AdditionalUserFieldsOutput : {} : never : never)>>[K_11][K_12][K_13][K_14][K_15][K_16][K_17][K_18][K_19][K_20] extends (...args: any[]) => any ? UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_185 ? T_185 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_185 extends BetterAuthOptions ? AdditionalUserFieldsOutput : T_185 extends Auth ? AdditionalUserFieldsOutput : {} : never : never)>>[K_11][K_12][K_13][K_14][K_15][K_16][K_17][K_18][K_19][K_20] : UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_186 ? T_186 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_186 extends BetterAuthOptions ? AdditionalUserFieldsOutput : T_186 extends Auth ? AdditionalUserFieldsOutput : {} : never : never)>>[K_11][K_12][K_13][K_14][K_15][K_16][K_17][K_18][K_19][K_20] extends object ? UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_187 ? T_187 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_187 extends BetterAuthOptions ? AdditionalUserFieldsOutput : T_187 extends Auth ? AdditionalUserFieldsOutput : {} : never : never)>>[K_11][K_12][K_13][K_14][K_15][K_16][K_17][K_18][K_19][K_20] extends any[] ? UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_188 ? T_188 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_188 extends BetterAuthOptions ? AdditionalUserFieldsOutput : T_188 extends Auth ? AdditionalUserFieldsOutput : {} : never : never)>>[K_11][K_12][K_13][K_14][K_15][K_16][K_17][K_18][K_19][K_20] : UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_189 ? T_189 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_189 extends BetterAuthOptions ? AdditionalUserFieldsOutput : T_189 extends Auth ? AdditionalUserFieldsOutput : {} : never : never)>>[K_11][K_12][K_13][K_14][K_15][K_16][K_17][K_18][K_19][K_20] extends Date ? UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_190 ? T_190 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_190 extends BetterAuthOptions ? AdditionalUserFieldsOutput : T_190 extends Auth ? AdditionalUserFieldsOutput : {} : never : never)>>[K_11][K_12][K_13][K_14][K_15][K_16][K_17][K_18][K_19][K_20] : UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_200 ? T_200 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_200 extends BetterAuthOptions ? AdditionalUserFieldsOutput : T_200 extends Auth ? AdditionalUserFieldsOutput : {} : never : never)>>[K_11][K_12][K_13][K_14][K_15][K_16][K_17][K_18][K_19][K_20] extends infer T_191 ? { [K_21 in keyof T_191]: UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_192 ? T_192 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_192 extends BetterAuthOptions ? AdditionalUserFieldsOutput : T_192 extends Auth ? AdditionalUserFieldsOutput : {} : never : never)>>[K_11][K_12][K_13][K_14][K_15][K_16][K_17][K_18][K_19][K_20][K_21] extends (...args: any[]) => any ? UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_193 ? T_193 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_193 extends BetterAuthOptions ? AdditionalUserFieldsOutput : T_193 extends Auth ? AdditionalUserFieldsOutput : {} : never : never)>>[K_11][K_12][K_13][K_14][K_15][K_16][K_17][K_18][K_19][K_20][K_21] : UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_194 ? T_194 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_194 extends BetterAuthOptions ? AdditionalUserFieldsOutput : T_194 extends Auth ? AdditionalUserFieldsOutput : {} : never : never)>>[K_11][K_12][K_13][K_14][K_15][K_16][K_17][K_18][K_19][K_20][K_21] extends object ? UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_195 ? T_195 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_195 extends BetterAuthOptions ? AdditionalUserFieldsOutput : T_195 extends Auth ? AdditionalUserFieldsOutput : {} : never : never)>>[K_11][K_12][K_13][K_14][K_15][K_16][K_17][K_18][K_19][K_20][K_21] extends any[] ? UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_196 ? T_196 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_196 extends BetterAuthOptions ? AdditionalUserFieldsOutput : T_196 extends Auth ? AdditionalUserFieldsOutput : {} : never : never)>>[K_11][K_12][K_13][K_14][K_15][K_16][K_17][K_18][K_19][K_20][K_21] : UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_197 ? T_197 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_197 extends BetterAuthOptions ? AdditionalUserFieldsOutput : T_197 extends Auth ? AdditionalUserFieldsOutput : {} : never : never)>>[K_11][K_12][K_13][K_14][K_15][K_16][K_17][K_18][K_19][K_20][K_21] extends Date ? UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_198 ? T_198 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_198 extends BetterAuthOptions ? AdditionalUserFieldsOutput : T_198 extends Auth ? AdditionalUserFieldsOutput : {} : never : never)>>[K_11][K_12][K_13][K_14][K_15][K_16][K_17][K_18][K_19][K_20][K_21] : /*elided*/ any : UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_199 ? T_199 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_199 extends BetterAuthOptions ? AdditionalUserFieldsOutput : T_199 extends Auth ? AdditionalUserFieldsOutput : {} : never : never)>>[K_11][K_12][K_13][K_14][K_15][K_16][K_17][K_18][K_19][K_20][K_21]; } : never : UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_201 ? T_201 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_201 extends BetterAuthOptions ? AdditionalUserFieldsOutput : T_201 extends Auth ? AdditionalUserFieldsOutput : {} : never : never)>>[K_11][K_12][K_13][K_14][K_15][K_16][K_17][K_18][K_19][K_20]; } : never : UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_203 ? T_203 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_203 extends BetterAuthOptions ? AdditionalUserFieldsOutput : T_203 extends Auth ? AdditionalUserFieldsOutput : {} : never : never)>>[K_11][K_12][K_13][K_14][K_15][K_16][K_17][K_18][K_19]; } : never : UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_205 ? T_205 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_205 extends BetterAuthOptions ? AdditionalUserFieldsOutput : T_205 extends Auth ? AdditionalUserFieldsOutput : {} : never : never)>>[K_11][K_12][K_13][K_14][K_15][K_16][K_17][K_18]; } : never : UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_207 ? T_207 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_207 extends BetterAuthOptions ? AdditionalUserFieldsOutput : T_207 extends Auth ? AdditionalUserFieldsOutput : {} : never : never)>>[K_11][K_12][K_13][K_14][K_15][K_16][K_17]; } : never : UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_209 ? T_209 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_209 extends BetterAuthOptions ? AdditionalUserFieldsOutput : T_209 extends Auth ? AdditionalUserFieldsOutput : {} : never : never)>>[K_11][K_12][K_13][K_14][K_15][K_16]; } : never : UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_211 ? T_211 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_211 extends BetterAuthOptions ? AdditionalUserFieldsOutput : T_211 extends Auth ? AdditionalUserFieldsOutput : {} : never : never)>>[K_11][K_12][K_13][K_14][K_15]; } : never : UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_213 ? T_213 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_213 extends BetterAuthOptions ? AdditionalUserFieldsOutput : T_213 extends Auth ? AdditionalUserFieldsOutput : {} : never : never)>>[K_11][K_12][K_13][K_14]; } : never : UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_215 ? T_215 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_215 extends BetterAuthOptions ? AdditionalUserFieldsOutput : T_215 extends Auth ? AdditionalUserFieldsOutput : {} : never : never)>>[K_11][K_12][K_13]; } : never : UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_217 ? T_217 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_217 extends BetterAuthOptions ? AdditionalUserFieldsOutput : T_217 extends Auth ? AdditionalUserFieldsOutput : {} : never : never)>>[K_11][K_12]; } : never : UnionToIntersection Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) extends infer T_219 ? T_219 extends (O extends undefined ? { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }) ? T_219 extends BetterAuthOptions ? AdditionalUserFieldsOutput : T_219 extends Auth ? AdditionalUserFieldsOutput : {} : never : never)>>[K_11]; } : never; }; } & InferPluginTypes Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }>; $ERROR_CODES: InferPluginErrorCodes Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; } : O & { socialProviders: { github: { clientId: string; clientSecret: string; }; google: { clientId: string; clientSecret: string; }; }; secret: string; database: ((options: BetterAuthOptions) => Adapter) | { db: Kysely; type: "postgres"; } | { db: Kysely; type: "mysql"; } | undefined; emailAndPassword: { enabled: true; }; rateLimit: { enabled: false; }; advanced: { cookies: {}; }; }> & { USER_NOT_FOUND: string; FAILED_TO_CREATE_USER: string; FAILED_TO_CREATE_SESSION: string; FAILED_TO_UPDATE_USER: string; FAILED_TO_GET_SESSION: string; INVALID_PASSWORD: string; INVALID_EMAIL: string; INVALID_EMAIL_OR_PASSWORD: string; SOCIAL_ACCOUNT_ALREADY_LINKED: string; PROVIDER_NOT_FOUND: string; INVALID_TOKEN: string; ID_TOKEN_NOT_SUPPORTED: string; FAILED_TO_GET_USER_INFO: string; USER_EMAIL_NOT_FOUND: string; EMAIL_NOT_VERIFIED: string; PASSWORD_TOO_SHORT: string; PASSWORD_TOO_LONG: string; USER_ALREADY_EXISTS: string; EMAIL_CAN_NOT_BE_UPDATED: string; CREDENTIAL_ACCOUNT_NOT_FOUND: string; SESSION_EXPIRED: string; FAILED_TO_UNLINK_LAST_ACCOUNT: string; ACCOUNT_NOT_FOUND: string; USER_ALREADY_HAS_PASSWORD: string; }; }; client: UnionToIntersection<((C extends undefined ? {} : C) & { baseURL: string | undefined; fetchOptions: { customFetchImpl: (url: string | URL | Request, init?: RequestInit) => Promise; }; })["plugins"] extends (infer Plugin)[] ? Plugin extends BetterAuthClientPlugin ? Plugin["getAtoms"] extends (fetch: any) => infer Atoms ? Atoms extends Record ? { [key in keyof Atoms as IsSignal extends true ? never : key extends string ? `use${Capitalize}` : never]: Atoms[key]; } : {} : {} : {} : {}> & UnionToIntersection Promise; }; })["plugins"] extends any[] ? FilterActions<{ ok: { (inputCtx_0?: ({ body?: undefined; } & { method?: "GET" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }) | undefined): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { ok: boolean; }; } : { ok: boolean; }>; options: { method: "GET"; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { ok: { type: string; description: string; }; }; required: string[]; }; }; }; }; }; }; isAction: false; }; } & { use: any[]; }; path: "/ok"; }; error: { (inputCtx_0?: ({ body?: undefined; } & { method?: "GET" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }) | undefined): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: Response; } : Response>; options: { method: "GET"; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "text/html": { schema: { type: "string"; description: string; }; }; }; }; }; }; isAction: false; }; } & { use: any[]; }; path: "/error"; }; signInSocial: { (inputCtx_0: { body: { provider: unknown; callbackURL?: string | undefined; newUserCallbackURL?: string | undefined; errorCallbackURL?: string | undefined; disableRedirect?: boolean | undefined; idToken?: { token: string; nonce?: string | undefined; accessToken?: string | undefined; refreshToken?: string | undefined; expiresAt?: number | undefined; } | undefined; scopes?: string[] | undefined; requestSignUp?: boolean | undefined; loginHint?: string | undefined; }; } & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { redirect: boolean; token: string; url: undefined; user: { id: string; email: string; name: string; image: string | null | undefined; emailVerified: boolean; createdAt: Date; updatedAt: Date; }; } | { url: string; redirect: boolean; }; } : { redirect: boolean; token: string; url: undefined; user: { id: string; email: string; name: string; image: string | null | undefined; emailVerified: boolean; createdAt: Date; updatedAt: Date; }; } | { url: string; redirect: boolean; }>; options: { method: "POST"; body: zod.ZodObject<{ callbackURL: zod.ZodOptional; newUserCallbackURL: zod.ZodOptional; errorCallbackURL: zod.ZodOptional; provider: zod.ZodType<"github" | "apple" | "discord" | "facebook" | "microsoft" | "google" | "huggingface" | "slack" | "spotify" | "twitch" | "twitter" | "dropbox" | "kick" | "linear" | "linkedin" | "gitlab" | "tiktok" | "reddit" | "roblox" | "vk" | "zoom" | "notion" | (string & {}), unknown, zod_v4_core.$ZodTypeInternals<"github" | "apple" | "discord" | "facebook" | "microsoft" | "google" | "huggingface" | "slack" | "spotify" | "twitch" | "twitter" | "dropbox" | "kick" | "linear" | "linkedin" | "gitlab" | "tiktok" | "reddit" | "roblox" | "vk" | "zoom" | "notion" | (string & {}), unknown>>; disableRedirect: zod.ZodOptional; idToken: zod.ZodOptional; accessToken: zod.ZodOptional; refreshToken: zod.ZodOptional; expiresAt: zod.ZodOptional; }, zod_v4_core.$strip>>; scopes: zod.ZodOptional>; requestSignUp: zod.ZodOptional; loginHint: zod.ZodOptional; }, zod_v4_core.$strip>; metadata: { openapi: { description: string; operationId: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; description: string; properties: { redirect: { type: string; enum: boolean[]; }; token: { type: string; description: string; url: { type: string; nullable: boolean; }; user: { type: string; properties: { id: { type: string; }; email: { type: string; }; name: { type: string; nullable: boolean; }; image: { type: string; nullable: boolean; }; emailVerified: { type: string; }; createdAt: { type: string; format: string; }; updatedAt: { type: string; format: string; }; }; required: string[]; }; }; }; required: string[]; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/sign-in/social"; }; callbackOAuth: { (inputCtx_0: { body?: { code?: string | undefined; error?: string | undefined; device_id?: string | undefined; error_description?: string | undefined; state?: string | undefined; user?: string | undefined; } | undefined; } & { method: "GET" | "POST"; } & { query?: { code?: string | undefined; error?: string | undefined; device_id?: string | undefined; error_description?: string | undefined; state?: string | undefined; user?: string | undefined; } | undefined; } & { params: { id: string; }; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: void; } : void>; options: { method: ("GET" | "POST")[]; body: zod.ZodOptional; error: zod.ZodOptional; device_id: zod.ZodOptional; error_description: zod.ZodOptional; state: zod.ZodOptional; user: zod.ZodOptional; }, zod_v4_core.$strip>>; query: zod.ZodOptional; error: zod.ZodOptional; device_id: zod.ZodOptional; error_description: zod.ZodOptional; state: zod.ZodOptional; user: zod.ZodOptional; }, zod_v4_core.$strip>>; metadata: { isAction: false; }; } & { use: any[]; }; path: "/callback/:id"; }; getSession: { (inputCtx_0: { body?: undefined; } & { method?: "GET" | undefined; } & { query?: { disableCookieCache?: unknown; disableRefresh?: unknown; } | undefined; } & { params?: Record; } & { request?: Request; } & { headers: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { session: { id: string; userId: string; expiresAt: Date; createdAt: Date; updatedAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: { id: string; email: string; emailVerified: boolean; name: string; createdAt: Date; updatedAt: Date; image?: string | null | undefined; }; } | null; } : { session: { id: string; userId: string; expiresAt: Date; createdAt: Date; updatedAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: { id: string; email: string; emailVerified: boolean; name: string; createdAt: Date; updatedAt: Date; image?: string | null | undefined; }; } | null>; options: { method: "GET"; query: zod.ZodOptional>; disableRefresh: zod.ZodOptional>; }, zod_v4_core.$strip>>; requireHeaders: true; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { session: { $ref: string; }; user: { $ref: string; }; }; required: string[]; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/get-session"; }; signOut: { (inputCtx_0: { body?: undefined; } & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { success: boolean; }; } : { success: boolean; }>; options: { method: "POST"; requireHeaders: true; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { success: { type: string; }; }; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/sign-out"; }; signUpEmail: { (inputCtx_0: { body: { name: string; email: string; password: string; image?: string; callbackURL?: string; rememberMe?: boolean; }; } & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { token: null; user: { id: string; email: string; name: string; image: string | null | undefined; emailVerified: boolean; createdAt: Date; updatedAt: Date; }; } | { token: string; user: { id: string; email: string; name: string; image: string | null | undefined; emailVerified: boolean; createdAt: Date; updatedAt: Date; }; }; } : { token: null; user: { id: string; email: string; name: string; image: string | null | undefined; emailVerified: boolean; createdAt: Date; updatedAt: Date; }; } | { token: string; user: { id: string; email: string; name: string; image: string | null | undefined; emailVerified: boolean; createdAt: Date; updatedAt: Date; }; }>; options: { method: "POST"; body: zod.ZodRecord; metadata: { $Infer: { body: { name: string; email: string; password: string; image?: string; callbackURL?: string; rememberMe?: boolean; }; }; openapi: { description: string; requestBody: { content: { "application/json": { schema: { type: "object"; properties: { name: { type: string; description: string; }; email: { type: string; description: string; }; password: { type: string; description: string; }; image: { type: string; description: string; }; callbackURL: { type: string; description: string; }; rememberMe: { type: string; description: string; }; }; required: string[]; }; }; }; }; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { token: { type: string; nullable: boolean; description: string; }; user: { type: string; properties: { id: { type: string; description: string; }; email: { type: string; format: string; description: string; }; name: { type: string; description: string; }; image: { type: string; format: string; nullable: boolean; description: string; }; emailVerified: { type: string; description: string; }; createdAt: { type: string; format: string; description: string; }; updatedAt: { type: string; format: string; description: string; }; }; required: string[]; }; }; required: string[]; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/sign-up/email"; }; signInEmail: { (inputCtx_0: { body: { email: string; password: string; callbackURL?: string | undefined; rememberMe?: boolean | undefined; }; } & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { redirect: boolean; token: string; url: string | undefined; user: { id: string; email: string; name: string; image: string | null | undefined; emailVerified: boolean; createdAt: Date; updatedAt: Date; }; }; } : { redirect: boolean; token: string; url: string | undefined; user: { id: string; email: string; name: string; image: string | null | undefined; emailVerified: boolean; createdAt: Date; updatedAt: Date; }; }>; options: { method: "POST"; body: zod.ZodObject<{ email: zod.ZodString; password: zod.ZodString; callbackURL: zod.ZodOptional; rememberMe: zod.ZodOptional>; }, zod_v4_core.$strip>; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; description: string; properties: { redirect: { type: string; enum: boolean[]; }; token: { type: string; description: string; }; url: { type: string; nullable: boolean; }; user: { type: string; properties: { id: { type: string; }; email: { type: string; }; name: { type: string; nullable: boolean; }; image: { type: string; nullable: boolean; }; emailVerified: { type: string; }; createdAt: { type: string; format: string; }; updatedAt: { type: string; format: string; }; }; required: string[]; }; }; required: string[]; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/sign-in/email"; }; forgetPassword: { (inputCtx_0: { body: { email: string; redirectTo?: string | undefined; }; } & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { status: boolean; }; } : { status: boolean; }>; options: { method: "POST"; body: zod.ZodObject<{ email: zod.ZodString; redirectTo: zod.ZodOptional; }, zod_v4_core.$strip>; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { status: { type: string; }; message: { type: string; }; }; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/forget-password"; }; resetPassword: { (inputCtx_0: { body: { newPassword: string; token?: string | undefined; }; } & { method?: "POST" | undefined; } & { query?: { token?: string | undefined; } | undefined; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { status: boolean; }; } : { status: boolean; }>; options: { method: "POST"; query: zod.ZodOptional; }, zod_v4_core.$strip>>; body: zod.ZodObject<{ newPassword: zod.ZodString; token: zod.ZodOptional; }, zod_v4_core.$strip>; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { status: { type: string; }; }; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/reset-password"; }; verifyEmail: { (inputCtx_0: { body?: undefined; } & { method?: "GET" | undefined; } & { query: { token: string; callbackURL?: string | undefined; }; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: void | { status: boolean; user: { id: any; email: any; name: any; image: any; emailVerified: any; createdAt: any; updatedAt: any; }; } | { status: boolean; user: null; }; } : void | { status: boolean; user: { id: any; email: any; name: any; image: any; emailVerified: any; createdAt: any; updatedAt: any; }; } | { status: boolean; user: null; }>; options: { method: "GET"; query: zod.ZodObject<{ token: zod.ZodString; callbackURL: zod.ZodOptional; }, zod_v4_core.$strip>; use: ((inputContext: better_call.MiddlewareInputContext) => Promise)[]; metadata: { openapi: { description: string; parameters: ({ name: string; in: "query"; description: string; required: true; schema: { type: "string"; }; } | { name: string; in: "query"; description: string; required: false; schema: { type: "string"; }; })[]; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { user: { type: string; properties: { id: { type: string; description: string; }; email: { type: string; description: string; }; name: { type: string; description: string; }; image: { type: string; description: string; }; emailVerified: { type: string; description: string; }; createdAt: { type: string; description: string; }; updatedAt: { type: string; description: string; }; }; required: string[]; }; status: { type: string; description: string; }; }; required: string[]; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/verify-email"; }; sendVerificationEmail: { (inputCtx_0: { body: { email: string; callbackURL?: string | undefined; }; } & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { status: boolean; }; } : { status: boolean; }>; options: { method: "POST"; body: zod.ZodObject<{ email: zod.ZodEmail; callbackURL: zod.ZodOptional; }, zod_v4_core.$strip>; metadata: { openapi: { description: string; requestBody: { content: { "application/json": { schema: { type: "object"; properties: { email: { type: string; description: string; example: string; }; callbackURL: { type: string; description: string; example: string; nullable: boolean; }; }; required: string[]; }; }; }; }; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { status: { type: string; description: string; example: boolean; }; }; }; }; }; }; "400": { description: string; content: { "application/json": { schema: { type: "object"; properties: { message: { type: string; description: string; example: string; }; }; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/send-verification-email"; }; changeEmail: { (inputCtx_0: { body: { newEmail: string; callbackURL?: string | undefined; }; } & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { status: boolean; }; } : { status: boolean; }>; options: { method: "POST"; body: zod.ZodObject<{ newEmail: zod.ZodEmail; callbackURL: zod.ZodOptional; }, zod_v4_core.$strip>; use: ((inputContext: better_call.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; userId: string; expiresAt: Date; createdAt: Date; updatedAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; email: string; emailVerified: boolean; name: string; createdAt: Date; updatedAt: Date; image?: string | null | undefined; }; }; }>)[]; metadata: { openapi: { responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { status: { type: string; description: string; }; message: { type: string; enum: string[]; description: string; nullable: boolean; }; }; required: string[]; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/change-email"; }; changePassword: { (inputCtx_0: { body: { newPassword: string; currentPassword: string; revokeOtherSessions?: boolean | undefined; }; } & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { token: string | null; user: { id: string; email: string; name: string; image: string | null | undefined; emailVerified: boolean; createdAt: Date; updatedAt: Date; }; }; } : { token: string | null; user: { id: string; email: string; name: string; image: string | null | undefined; emailVerified: boolean; createdAt: Date; updatedAt: Date; }; }>; options: { method: "POST"; body: zod.ZodObject<{ newPassword: zod.ZodString; currentPassword: zod.ZodString; revokeOtherSessions: zod.ZodOptional; }, zod_v4_core.$strip>; use: ((inputContext: better_call.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; userId: string; expiresAt: Date; createdAt: Date; updatedAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; email: string; emailVerified: boolean; name: string; createdAt: Date; updatedAt: Date; image?: string | null | undefined; }; }; }>)[]; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { token: { type: string; nullable: boolean; description: string; }; user: { type: string; properties: { id: { type: string; description: string; }; email: { type: string; format: string; description: string; }; name: { type: string; description: string; }; image: { type: string; format: string; nullable: boolean; description: string; }; emailVerified: { type: string; description: string; }; createdAt: { type: string; format: string; description: string; }; updatedAt: { type: string; format: string; description: string; }; }; required: string[]; }; }; required: string[]; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/change-password"; }; setPassword: { (inputCtx_0: { body: { newPassword: string; }; } & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { status: boolean; }; } : { status: boolean; }>; options: { method: "POST"; body: zod.ZodObject<{ newPassword: zod.ZodString; }, zod_v4_core.$strip>; metadata: { SERVER_ONLY: true; }; use: ((inputContext: better_call.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; userId: string; expiresAt: Date; createdAt: Date; updatedAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; email: string; emailVerified: boolean; name: string; createdAt: Date; updatedAt: Date; image?: string | null | undefined; }; }; }>)[]; } & { use: any[]; }; path: "/set-password"; }; updateUser: { (inputCtx_0: { body: Partial<{}> & { name?: string; image?: string; }; } & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { status: boolean; }; } : { status: boolean; }>; options: { method: "POST"; body: zod.ZodRecord; use: ((inputContext: better_call.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; userId: string; expiresAt: Date; createdAt: Date; updatedAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; email: string; emailVerified: boolean; name: string; createdAt: Date; updatedAt: Date; image?: string | null | undefined; }; }; }>)[]; metadata: { $Infer: { body: Partial<{}> & { name?: string; image?: string; }; }; openapi: { description: string; requestBody: { content: { "application/json": { schema: { type: "object"; properties: { name: { type: string; description: string; }; image: { type: string; description: string; }; }; }; }; }; }; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { status: { type: string; description: string; }; }; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/update-user"; }; deleteUser: { (inputCtx_0: { body: { callbackURL?: string | undefined; password?: string | undefined; token?: string | undefined; }; } & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { success: boolean; message: string; }; } : { success: boolean; message: string; }>; options: { method: "POST"; use: ((inputContext: better_call.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; userId: string; expiresAt: Date; createdAt: Date; updatedAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; email: string; emailVerified: boolean; name: string; createdAt: Date; updatedAt: Date; image?: string | null | undefined; }; }; }>)[]; body: zod.ZodObject<{ callbackURL: zod.ZodOptional; password: zod.ZodOptional; token: zod.ZodOptional; }, zod_v4_core.$strip>; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { success: { type: string; description: string; }; message: { type: string; enum: string[]; description: string; }; }; required: string[]; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/delete-user"; }; forgetPasswordCallback: { (inputCtx_0: { body?: undefined; } & { method?: "GET" | undefined; } & { query: { callbackURL: string; }; } & { params: { token: string; }; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: never; } : never>; options: { method: "GET"; query: zod.ZodObject<{ callbackURL: zod.ZodString; }, zod_v4_core.$strip>; use: ((inputContext: better_call.MiddlewareInputContext) => Promise)[]; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { token: { type: string; }; }; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/reset-password/:token"; }; requestPasswordReset: { (inputCtx_0: { body: { email: string; redirectTo?: string | undefined; }; } & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { status: boolean; }; } : { status: boolean; }>; options: { method: "POST"; body: zod.ZodObject<{ email: zod.ZodEmail; redirectTo: zod.ZodOptional; }, zod_v4_core.$strip>; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { status: { type: string; }; message: { type: string; }; }; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/request-password-reset"; }; requestPasswordResetCallback: { (inputCtx_0: { body?: undefined; } & { method?: "GET" | undefined; } & { query: { callbackURL: string; }; } & { params: { token: string; }; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: never; } : never>; options: { method: "GET"; query: zod.ZodObject<{ callbackURL: zod.ZodString; }, zod_v4_core.$strip>; use: ((inputContext: better_call.MiddlewareInputContext) => Promise)[]; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { token: { type: string; }; }; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/reset-password/:token"; }; listSessions: { (inputCtx_0: { body?: undefined; } & { method?: "GET" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: Prettify<{ id: string; userId: string; expiresAt: Date; createdAt: Date; updatedAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }>[]; } : Prettify<{ id: string; userId: string; expiresAt: Date; createdAt: Date; updatedAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }>[]>; options: { method: "GET"; use: ((inputContext: better_call.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; userId: string; expiresAt: Date; createdAt: Date; updatedAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; email: string; emailVerified: boolean; name: string; createdAt: Date; updatedAt: Date; image?: string | null | undefined; }; }; }>)[]; requireHeaders: true; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "array"; items: { $ref: string; }; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/list-sessions"; }; revokeSession: { (inputCtx_0: { body: { token: string; }; } & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { status: boolean; }; } : { status: boolean; }>; options: { method: "POST"; body: zod.ZodObject<{ token: zod.ZodString; }, zod_v4_core.$strip>; use: ((inputContext: better_call.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; userId: string; expiresAt: Date; createdAt: Date; updatedAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; email: string; emailVerified: boolean; name: string; createdAt: Date; updatedAt: Date; image?: string | null | undefined; }; }; }>)[]; requireHeaders: true; metadata: { openapi: { description: string; requestBody: { content: { "application/json": { schema: { type: "object"; properties: { token: { type: string; description: string; }; }; required: string[]; }; }; }; }; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { status: { type: string; description: string; }; }; required: string[]; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/revoke-session"; }; revokeSessions: { (inputCtx_0: { body?: undefined; } & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { status: boolean; }; } : { status: boolean; }>; options: { method: "POST"; use: ((inputContext: better_call.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; userId: string; expiresAt: Date; createdAt: Date; updatedAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; email: string; emailVerified: boolean; name: string; createdAt: Date; updatedAt: Date; image?: string | null | undefined; }; }; }>)[]; requireHeaders: true; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { status: { type: string; description: string; }; }; required: string[]; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/revoke-sessions"; }; revokeOtherSessions: { (inputCtx_0: { body?: undefined; } & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { status: boolean; }; } : { status: boolean; }>; options: { method: "POST"; requireHeaders: true; use: ((inputContext: better_call.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; userId: string; expiresAt: Date; createdAt: Date; updatedAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; email: string; emailVerified: boolean; name: string; createdAt: Date; updatedAt: Date; image?: string | null | undefined; }; }; }>)[]; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { status: { type: string; description: string; }; }; required: string[]; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/revoke-other-sessions"; }; linkSocialAccount: { (inputCtx_0: { body: { provider: unknown; callbackURL?: string | undefined; idToken?: { token: string; nonce?: string | undefined; accessToken?: string | undefined; refreshToken?: string | undefined; scopes?: string[] | undefined; } | undefined; requestSignUp?: boolean | undefined; scopes?: string[] | undefined; errorCallbackURL?: string | undefined; }; } & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { url: string; redirect: boolean; }; } : { url: string; redirect: boolean; }>; options: { method: "POST"; requireHeaders: true; body: zod.ZodObject<{ callbackURL: zod.ZodOptional; provider: zod.ZodType<"github" | "apple" | "discord" | "facebook" | "microsoft" | "google" | "huggingface" | "slack" | "spotify" | "twitch" | "twitter" | "dropbox" | "kick" | "linear" | "linkedin" | "gitlab" | "tiktok" | "reddit" | "roblox" | "vk" | "zoom" | "notion" | (string & {}), unknown, zod_v4_core.$ZodTypeInternals<"github" | "apple" | "discord" | "facebook" | "microsoft" | "google" | "huggingface" | "slack" | "spotify" | "twitch" | "twitter" | "dropbox" | "kick" | "linear" | "linkedin" | "gitlab" | "tiktok" | "reddit" | "roblox" | "vk" | "zoom" | "notion" | (string & {}), unknown>>; idToken: zod.ZodOptional; accessToken: zod.ZodOptional; refreshToken: zod.ZodOptional; scopes: zod.ZodOptional>; }, zod_v4_core.$strip>>; requestSignUp: zod.ZodOptional; scopes: zod.ZodOptional>; errorCallbackURL: zod.ZodOptional; }, zod_v4_core.$strip>; use: ((inputContext: better_call.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; userId: string; expiresAt: Date; createdAt: Date; updatedAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; email: string; emailVerified: boolean; name: string; createdAt: Date; updatedAt: Date; image?: string | null | undefined; }; }; }>)[]; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { url: { type: string; description: string; }; redirect: { type: string; description: string; }; status: { type: string; }; }; required: string[]; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/link-social"; }; listUserAccounts: { (inputCtx_0?: ({ body?: undefined; } & { method?: "GET" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }) | undefined): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { id: string; provider: string; createdAt: Date; updatedAt: Date; accountId: string; scopes: string[]; }[]; } : { id: string; provider: string; createdAt: Date; updatedAt: Date; accountId: string; scopes: string[]; }[]>; options: { method: "GET"; use: ((inputContext: better_call.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; userId: string; expiresAt: Date; createdAt: Date; updatedAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; email: string; emailVerified: boolean; name: string; createdAt: Date; updatedAt: Date; image?: string | null | undefined; }; }; }>)[]; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "array"; items: { type: string; properties: { id: { type: string; }; provider: { type: string; }; createdAt: { type: string; format: string; }; updatedAt: { type: string; format: string; }; }; accountId: { type: string; }; scopes: { type: string; items: { type: string; }; }; }; required: string[]; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/list-accounts"; }; deleteUserCallback: { (inputCtx_0: { body?: undefined; } & { method?: "GET" | undefined; } & { query: { token: string; callbackURL?: string | undefined; }; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { success: boolean; message: string; }; } : { success: boolean; message: string; }>; options: { method: "GET"; query: zod.ZodObject<{ token: zod.ZodString; callbackURL: zod.ZodOptional; }, zod_v4_core.$strip>; use: ((inputContext: better_call.MiddlewareInputContext) => Promise)[]; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { success: { type: string; description: string; }; message: { type: string; enum: string[]; description: string; }; }; required: string[]; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/delete-user/callback"; }; unlinkAccount: { (inputCtx_0: { body: { providerId: string; accountId?: string | undefined; }; } & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { status: boolean; }; } : { status: boolean; }>; options: { method: "POST"; body: zod.ZodObject<{ providerId: zod.ZodString; accountId: zod.ZodOptional; }, zod_v4_core.$strip>; use: ((inputContext: better_call.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; userId: string; expiresAt: Date; createdAt: Date; updatedAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; email: string; emailVerified: boolean; name: string; createdAt: Date; updatedAt: Date; image?: string | null | undefined; }; }; }>)[]; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { status: { type: string; }; }; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/unlink-account"; }; refreshToken: { (inputCtx_0: { body: { providerId: string; accountId?: string | undefined; userId?: string | undefined; }; } & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: OAuth2Tokens; } : OAuth2Tokens>; options: { method: "POST"; body: zod.ZodObject<{ providerId: zod.ZodString; accountId: zod.ZodOptional; userId: zod.ZodOptional; }, zod_v4_core.$strip>; metadata: { openapi: { description: string; responses: { 200: { description: string; content: { "application/json": { schema: { type: "object"; properties: { tokenType: { type: string; }; idToken: { type: string; }; accessToken: { type: string; }; refreshToken: { type: string; }; accessTokenExpiresAt: { type: string; format: string; }; refreshTokenExpiresAt: { type: string; format: string; }; }; }; }; }; }; 400: { description: string; }; }; }; }; } & { use: any[]; }; path: "/refresh-token"; }; getAccessToken: { (inputCtx_0: { body: { providerId: string; accountId?: string | undefined; userId?: string | undefined; }; } & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { accessToken: string; accessTokenExpiresAt: Date | undefined; scopes: string[]; idToken: string | undefined; }; } : { accessToken: string; accessTokenExpiresAt: Date | undefined; scopes: string[]; idToken: string | undefined; }>; options: { method: "POST"; body: zod.ZodObject<{ providerId: zod.ZodString; accountId: zod.ZodOptional; userId: zod.ZodOptional; }, zod_v4_core.$strip>; metadata: { openapi: { description: string; responses: { 200: { description: string; content: { "application/json": { schema: { type: "object"; properties: { tokenType: { type: string; }; idToken: { type: string; }; accessToken: { type: string; }; refreshToken: { type: string; }; accessTokenExpiresAt: { type: string; format: string; }; refreshTokenExpiresAt: { type: string; format: string; }; }; }; }; }; }; 400: { description: string; }; }; }; }; } & { use: any[]; }; path: "/get-access-token"; }; accountInfo: { (inputCtx_0: { body: { accountId: string; }; } & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { user: { id: string; name?: string; email?: string | null; image?: string; emailVerified: boolean; }; data: Record; } | null; } : { user: { id: string; name?: string; email?: string | null; image?: string; emailVerified: boolean; }; data: Record; } | null>; options: { method: "POST"; use: ((inputContext: better_call.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; userId: string; expiresAt: Date; createdAt: Date; updatedAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; email: string; emailVerified: boolean; name: string; createdAt: Date; updatedAt: Date; image?: string | null | undefined; }; }; }>)[]; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { user: { type: string; properties: { id: { type: string; }; name: { type: string; }; email: { type: string; }; image: { type: string; }; emailVerified: { type: string; }; }; required: string[]; }; data: { type: string; properties: {}; additionalProperties: boolean; }; }; required: string[]; additionalProperties: boolean; }; }; }; }; }; }; }; body: zod.ZodObject<{ accountId: zod.ZodString; }, zod_v4_core.$strip>; } & { use: any[]; }; path: "/account-info"; }; }> & (((C extends undefined ? {} : C) & { baseURL: string | undefined; fetchOptions: { customFetchImpl: (url: string | URL | Request, init?: RequestInit) => Promise; }; })["plugins"] extends (infer Pl)[] ? UnionToIntersection : {}) : FilterActions<{ ok: { (inputCtx_0?: ({ body?: undefined; } & { method?: "GET" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }) | undefined): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { ok: boolean; }; } : { ok: boolean; }>; options: { method: "GET"; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { ok: { type: string; description: string; }; }; required: string[]; }; }; }; }; }; }; isAction: false; }; } & { use: any[]; }; path: "/ok"; }; error: { (inputCtx_0?: ({ body?: undefined; } & { method?: "GET" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }) | undefined): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: Response; } : Response>; options: { method: "GET"; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "text/html": { schema: { type: "string"; description: string; }; }; }; }; }; }; isAction: false; }; } & { use: any[]; }; path: "/error"; }; signInSocial: { (inputCtx_0: { body: { provider: unknown; callbackURL?: string | undefined; newUserCallbackURL?: string | undefined; errorCallbackURL?: string | undefined; disableRedirect?: boolean | undefined; idToken?: { token: string; nonce?: string | undefined; accessToken?: string | undefined; refreshToken?: string | undefined; expiresAt?: number | undefined; } | undefined; scopes?: string[] | undefined; requestSignUp?: boolean | undefined; loginHint?: string | undefined; }; } & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { redirect: boolean; token: string; url: undefined; user: { id: string; email: string; name: string; image: string | null | undefined; emailVerified: boolean; createdAt: Date; updatedAt: Date; }; } | { url: string; redirect: boolean; }; } : { redirect: boolean; token: string; url: undefined; user: { id: string; email: string; name: string; image: string | null | undefined; emailVerified: boolean; createdAt: Date; updatedAt: Date; }; } | { url: string; redirect: boolean; }>; options: { method: "POST"; body: zod.ZodObject<{ callbackURL: zod.ZodOptional; newUserCallbackURL: zod.ZodOptional; errorCallbackURL: zod.ZodOptional; provider: zod.ZodType<"github" | "apple" | "discord" | "facebook" | "microsoft" | "google" | "huggingface" | "slack" | "spotify" | "twitch" | "twitter" | "dropbox" | "kick" | "linear" | "linkedin" | "gitlab" | "tiktok" | "reddit" | "roblox" | "vk" | "zoom" | "notion" | (string & {}), unknown, zod_v4_core.$ZodTypeInternals<"github" | "apple" | "discord" | "facebook" | "microsoft" | "google" | "huggingface" | "slack" | "spotify" | "twitch" | "twitter" | "dropbox" | "kick" | "linear" | "linkedin" | "gitlab" | "tiktok" | "reddit" | "roblox" | "vk" | "zoom" | "notion" | (string & {}), unknown>>; disableRedirect: zod.ZodOptional; idToken: zod.ZodOptional; accessToken: zod.ZodOptional; refreshToken: zod.ZodOptional; expiresAt: zod.ZodOptional; }, zod_v4_core.$strip>>; scopes: zod.ZodOptional>; requestSignUp: zod.ZodOptional; loginHint: zod.ZodOptional; }, zod_v4_core.$strip>; metadata: { openapi: { description: string; operationId: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; description: string; properties: { redirect: { type: string; enum: boolean[]; }; token: { type: string; description: string; url: { type: string; nullable: boolean; }; user: { type: string; properties: { id: { type: string; }; email: { type: string; }; name: { type: string; nullable: boolean; }; image: { type: string; nullable: boolean; }; emailVerified: { type: string; }; createdAt: { type: string; format: string; }; updatedAt: { type: string; format: string; }; }; required: string[]; }; }; }; required: string[]; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/sign-in/social"; }; callbackOAuth: { (inputCtx_0: { body?: { code?: string | undefined; error?: string | undefined; device_id?: string | undefined; error_description?: string | undefined; state?: string | undefined; user?: string | undefined; } | undefined; } & { method: "GET" | "POST"; } & { query?: { code?: string | undefined; error?: string | undefined; device_id?: string | undefined; error_description?: string | undefined; state?: string | undefined; user?: string | undefined; } | undefined; } & { params: { id: string; }; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: void; } : void>; options: { method: ("GET" | "POST")[]; body: zod.ZodOptional; error: zod.ZodOptional; device_id: zod.ZodOptional; error_description: zod.ZodOptional; state: zod.ZodOptional; user: zod.ZodOptional; }, zod_v4_core.$strip>>; query: zod.ZodOptional; error: zod.ZodOptional; device_id: zod.ZodOptional; error_description: zod.ZodOptional; state: zod.ZodOptional; user: zod.ZodOptional; }, zod_v4_core.$strip>>; metadata: { isAction: false; }; } & { use: any[]; }; path: "/callback/:id"; }; getSession: { (inputCtx_0: { body?: undefined; } & { method?: "GET" | undefined; } & { query?: { disableCookieCache?: unknown; disableRefresh?: unknown; } | undefined; } & { params?: Record; } & { request?: Request; } & { headers: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { session: { id: string; userId: string; expiresAt: Date; createdAt: Date; updatedAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: { id: string; email: string; emailVerified: boolean; name: string; createdAt: Date; updatedAt: Date; image?: string | null | undefined; }; } | null; } : { session: { id: string; userId: string; expiresAt: Date; createdAt: Date; updatedAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: { id: string; email: string; emailVerified: boolean; name: string; createdAt: Date; updatedAt: Date; image?: string | null | undefined; }; } | null>; options: { method: "GET"; query: zod.ZodOptional>; disableRefresh: zod.ZodOptional>; }, zod_v4_core.$strip>>; requireHeaders: true; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { session: { $ref: string; }; user: { $ref: string; }; }; required: string[]; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/get-session"; }; signOut: { (inputCtx_0: { body?: undefined; } & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { success: boolean; }; } : { success: boolean; }>; options: { method: "POST"; requireHeaders: true; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { success: { type: string; }; }; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/sign-out"; }; signUpEmail: { (inputCtx_0: { body: { name: string; email: string; password: string; image?: string; callbackURL?: string; rememberMe?: boolean; }; } & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { token: null; user: { id: string; email: string; name: string; image: string | null | undefined; emailVerified: boolean; createdAt: Date; updatedAt: Date; }; } | { token: string; user: { id: string; email: string; name: string; image: string | null | undefined; emailVerified: boolean; createdAt: Date; updatedAt: Date; }; }; } : { token: null; user: { id: string; email: string; name: string; image: string | null | undefined; emailVerified: boolean; createdAt: Date; updatedAt: Date; }; } | { token: string; user: { id: string; email: string; name: string; image: string | null | undefined; emailVerified: boolean; createdAt: Date; updatedAt: Date; }; }>; options: { method: "POST"; body: zod.ZodRecord; metadata: { $Infer: { body: { name: string; email: string; password: string; image?: string; callbackURL?: string; rememberMe?: boolean; }; }; openapi: { description: string; requestBody: { content: { "application/json": { schema: { type: "object"; properties: { name: { type: string; description: string; }; email: { type: string; description: string; }; password: { type: string; description: string; }; image: { type: string; description: string; }; callbackURL: { type: string; description: string; }; rememberMe: { type: string; description: string; }; }; required: string[]; }; }; }; }; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { token: { type: string; nullable: boolean; description: string; }; user: { type: string; properties: { id: { type: string; description: string; }; email: { type: string; format: string; description: string; }; name: { type: string; description: string; }; image: { type: string; format: string; nullable: boolean; description: string; }; emailVerified: { type: string; description: string; }; createdAt: { type: string; format: string; description: string; }; updatedAt: { type: string; format: string; description: string; }; }; required: string[]; }; }; required: string[]; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/sign-up/email"; }; signInEmail: { (inputCtx_0: { body: { email: string; password: string; callbackURL?: string | undefined; rememberMe?: boolean | undefined; }; } & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { redirect: boolean; token: string; url: string | undefined; user: { id: string; email: string; name: string; image: string | null | undefined; emailVerified: boolean; createdAt: Date; updatedAt: Date; }; }; } : { redirect: boolean; token: string; url: string | undefined; user: { id: string; email: string; name: string; image: string | null | undefined; emailVerified: boolean; createdAt: Date; updatedAt: Date; }; }>; options: { method: "POST"; body: zod.ZodObject<{ email: zod.ZodString; password: zod.ZodString; callbackURL: zod.ZodOptional; rememberMe: zod.ZodOptional>; }, zod_v4_core.$strip>; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; description: string; properties: { redirect: { type: string; enum: boolean[]; }; token: { type: string; description: string; }; url: { type: string; nullable: boolean; }; user: { type: string; properties: { id: { type: string; }; email: { type: string; }; name: { type: string; nullable: boolean; }; image: { type: string; nullable: boolean; }; emailVerified: { type: string; }; createdAt: { type: string; format: string; }; updatedAt: { type: string; format: string; }; }; required: string[]; }; }; required: string[]; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/sign-in/email"; }; forgetPassword: { (inputCtx_0: { body: { email: string; redirectTo?: string | undefined; }; } & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { status: boolean; }; } : { status: boolean; }>; options: { method: "POST"; body: zod.ZodObject<{ email: zod.ZodString; redirectTo: zod.ZodOptional; }, zod_v4_core.$strip>; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { status: { type: string; }; message: { type: string; }; }; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/forget-password"; }; resetPassword: { (inputCtx_0: { body: { newPassword: string; token?: string | undefined; }; } & { method?: "POST" | undefined; } & { query?: { token?: string | undefined; } | undefined; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { status: boolean; }; } : { status: boolean; }>; options: { method: "POST"; query: zod.ZodOptional; }, zod_v4_core.$strip>>; body: zod.ZodObject<{ newPassword: zod.ZodString; token: zod.ZodOptional; }, zod_v4_core.$strip>; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { status: { type: string; }; }; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/reset-password"; }; verifyEmail: { (inputCtx_0: { body?: undefined; } & { method?: "GET" | undefined; } & { query: { token: string; callbackURL?: string | undefined; }; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: void | { status: boolean; user: { id: any; email: any; name: any; image: any; emailVerified: any; createdAt: any; updatedAt: any; }; } | { status: boolean; user: null; }; } : void | { status: boolean; user: { id: any; email: any; name: any; image: any; emailVerified: any; createdAt: any; updatedAt: any; }; } | { status: boolean; user: null; }>; options: { method: "GET"; query: zod.ZodObject<{ token: zod.ZodString; callbackURL: zod.ZodOptional; }, zod_v4_core.$strip>; use: ((inputContext: better_call.MiddlewareInputContext) => Promise)[]; metadata: { openapi: { description: string; parameters: ({ name: string; in: "query"; description: string; required: true; schema: { type: "string"; }; } | { name: string; in: "query"; description: string; required: false; schema: { type: "string"; }; })[]; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { user: { type: string; properties: { id: { type: string; description: string; }; email: { type: string; description: string; }; name: { type: string; description: string; }; image: { type: string; description: string; }; emailVerified: { type: string; description: string; }; createdAt: { type: string; description: string; }; updatedAt: { type: string; description: string; }; }; required: string[]; }; status: { type: string; description: string; }; }; required: string[]; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/verify-email"; }; sendVerificationEmail: { (inputCtx_0: { body: { email: string; callbackURL?: string | undefined; }; } & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { status: boolean; }; } : { status: boolean; }>; options: { method: "POST"; body: zod.ZodObject<{ email: zod.ZodEmail; callbackURL: zod.ZodOptional; }, zod_v4_core.$strip>; metadata: { openapi: { description: string; requestBody: { content: { "application/json": { schema: { type: "object"; properties: { email: { type: string; description: string; example: string; }; callbackURL: { type: string; description: string; example: string; nullable: boolean; }; }; required: string[]; }; }; }; }; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { status: { type: string; description: string; example: boolean; }; }; }; }; }; }; "400": { description: string; content: { "application/json": { schema: { type: "object"; properties: { message: { type: string; description: string; example: string; }; }; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/send-verification-email"; }; changeEmail: { (inputCtx_0: { body: { newEmail: string; callbackURL?: string | undefined; }; } & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { status: boolean; }; } : { status: boolean; }>; options: { method: "POST"; body: zod.ZodObject<{ newEmail: zod.ZodEmail; callbackURL: zod.ZodOptional; }, zod_v4_core.$strip>; use: ((inputContext: better_call.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; userId: string; expiresAt: Date; createdAt: Date; updatedAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; email: string; emailVerified: boolean; name: string; createdAt: Date; updatedAt: Date; image?: string | null | undefined; }; }; }>)[]; metadata: { openapi: { responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { status: { type: string; description: string; }; message: { type: string; enum: string[]; description: string; nullable: boolean; }; }; required: string[]; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/change-email"; }; changePassword: { (inputCtx_0: { body: { newPassword: string; currentPassword: string; revokeOtherSessions?: boolean | undefined; }; } & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { token: string | null; user: { id: string; email: string; name: string; image: string | null | undefined; emailVerified: boolean; createdAt: Date; updatedAt: Date; }; }; } : { token: string | null; user: { id: string; email: string; name: string; image: string | null | undefined; emailVerified: boolean; createdAt: Date; updatedAt: Date; }; }>; options: { method: "POST"; body: zod.ZodObject<{ newPassword: zod.ZodString; currentPassword: zod.ZodString; revokeOtherSessions: zod.ZodOptional; }, zod_v4_core.$strip>; use: ((inputContext: better_call.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; userId: string; expiresAt: Date; createdAt: Date; updatedAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; email: string; emailVerified: boolean; name: string; createdAt: Date; updatedAt: Date; image?: string | null | undefined; }; }; }>)[]; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { token: { type: string; nullable: boolean; description: string; }; user: { type: string; properties: { id: { type: string; description: string; }; email: { type: string; format: string; description: string; }; name: { type: string; description: string; }; image: { type: string; format: string; nullable: boolean; description: string; }; emailVerified: { type: string; description: string; }; createdAt: { type: string; format: string; description: string; }; updatedAt: { type: string; format: string; description: string; }; }; required: string[]; }; }; required: string[]; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/change-password"; }; setPassword: { (inputCtx_0: { body: { newPassword: string; }; } & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { status: boolean; }; } : { status: boolean; }>; options: { method: "POST"; body: zod.ZodObject<{ newPassword: zod.ZodString; }, zod_v4_core.$strip>; metadata: { SERVER_ONLY: true; }; use: ((inputContext: better_call.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; userId: string; expiresAt: Date; createdAt: Date; updatedAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; email: string; emailVerified: boolean; name: string; createdAt: Date; updatedAt: Date; image?: string | null | undefined; }; }; }>)[]; } & { use: any[]; }; path: "/set-password"; }; updateUser: { (inputCtx_0: { body: Partial<{}> & { name?: string; image?: string; }; } & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { status: boolean; }; } : { status: boolean; }>; options: { method: "POST"; body: zod.ZodRecord; use: ((inputContext: better_call.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; userId: string; expiresAt: Date; createdAt: Date; updatedAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; email: string; emailVerified: boolean; name: string; createdAt: Date; updatedAt: Date; image?: string | null | undefined; }; }; }>)[]; metadata: { $Infer: { body: Partial<{}> & { name?: string; image?: string; }; }; openapi: { description: string; requestBody: { content: { "application/json": { schema: { type: "object"; properties: { name: { type: string; description: string; }; image: { type: string; description: string; }; }; }; }; }; }; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { status: { type: string; description: string; }; }; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/update-user"; }; deleteUser: { (inputCtx_0: { body: { callbackURL?: string | undefined; password?: string | undefined; token?: string | undefined; }; } & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { success: boolean; message: string; }; } : { success: boolean; message: string; }>; options: { method: "POST"; use: ((inputContext: better_call.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; userId: string; expiresAt: Date; createdAt: Date; updatedAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; email: string; emailVerified: boolean; name: string; createdAt: Date; updatedAt: Date; image?: string | null | undefined; }; }; }>)[]; body: zod.ZodObject<{ callbackURL: zod.ZodOptional; password: zod.ZodOptional; token: zod.ZodOptional; }, zod_v4_core.$strip>; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { success: { type: string; description: string; }; message: { type: string; enum: string[]; description: string; }; }; required: string[]; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/delete-user"; }; forgetPasswordCallback: { (inputCtx_0: { body?: undefined; } & { method?: "GET" | undefined; } & { query: { callbackURL: string; }; } & { params: { token: string; }; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: never; } : never>; options: { method: "GET"; query: zod.ZodObject<{ callbackURL: zod.ZodString; }, zod_v4_core.$strip>; use: ((inputContext: better_call.MiddlewareInputContext) => Promise)[]; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { token: { type: string; }; }; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/reset-password/:token"; }; requestPasswordReset: { (inputCtx_0: { body: { email: string; redirectTo?: string | undefined; }; } & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { status: boolean; }; } : { status: boolean; }>; options: { method: "POST"; body: zod.ZodObject<{ email: zod.ZodEmail; redirectTo: zod.ZodOptional; }, zod_v4_core.$strip>; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { status: { type: string; }; message: { type: string; }; }; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/request-password-reset"; }; requestPasswordResetCallback: { (inputCtx_0: { body?: undefined; } & { method?: "GET" | undefined; } & { query: { callbackURL: string; }; } & { params: { token: string; }; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: never; } : never>; options: { method: "GET"; query: zod.ZodObject<{ callbackURL: zod.ZodString; }, zod_v4_core.$strip>; use: ((inputContext: better_call.MiddlewareInputContext) => Promise)[]; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { token: { type: string; }; }; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/reset-password/:token"; }; listSessions: { (inputCtx_0: { body?: undefined; } & { method?: "GET" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: Prettify<{ id: string; userId: string; expiresAt: Date; createdAt: Date; updatedAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }>[]; } : Prettify<{ id: string; userId: string; expiresAt: Date; createdAt: Date; updatedAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }>[]>; options: { method: "GET"; use: ((inputContext: better_call.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; userId: string; expiresAt: Date; createdAt: Date; updatedAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; email: string; emailVerified: boolean; name: string; createdAt: Date; updatedAt: Date; image?: string | null | undefined; }; }; }>)[]; requireHeaders: true; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "array"; items: { $ref: string; }; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/list-sessions"; }; revokeSession: { (inputCtx_0: { body: { token: string; }; } & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { status: boolean; }; } : { status: boolean; }>; options: { method: "POST"; body: zod.ZodObject<{ token: zod.ZodString; }, zod_v4_core.$strip>; use: ((inputContext: better_call.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; userId: string; expiresAt: Date; createdAt: Date; updatedAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; email: string; emailVerified: boolean; name: string; createdAt: Date; updatedAt: Date; image?: string | null | undefined; }; }; }>)[]; requireHeaders: true; metadata: { openapi: { description: string; requestBody: { content: { "application/json": { schema: { type: "object"; properties: { token: { type: string; description: string; }; }; required: string[]; }; }; }; }; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { status: { type: string; description: string; }; }; required: string[]; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/revoke-session"; }; revokeSessions: { (inputCtx_0: { body?: undefined; } & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { status: boolean; }; } : { status: boolean; }>; options: { method: "POST"; use: ((inputContext: better_call.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; userId: string; expiresAt: Date; createdAt: Date; updatedAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; email: string; emailVerified: boolean; name: string; createdAt: Date; updatedAt: Date; image?: string | null | undefined; }; }; }>)[]; requireHeaders: true; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { status: { type: string; description: string; }; }; required: string[]; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/revoke-sessions"; }; revokeOtherSessions: { (inputCtx_0: { body?: undefined; } & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { status: boolean; }; } : { status: boolean; }>; options: { method: "POST"; requireHeaders: true; use: ((inputContext: better_call.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; userId: string; expiresAt: Date; createdAt: Date; updatedAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; email: string; emailVerified: boolean; name: string; createdAt: Date; updatedAt: Date; image?: string | null | undefined; }; }; }>)[]; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { status: { type: string; description: string; }; }; required: string[]; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/revoke-other-sessions"; }; linkSocialAccount: { (inputCtx_0: { body: { provider: unknown; callbackURL?: string | undefined; idToken?: { token: string; nonce?: string | undefined; accessToken?: string | undefined; refreshToken?: string | undefined; scopes?: string[] | undefined; } | undefined; requestSignUp?: boolean | undefined; scopes?: string[] | undefined; errorCallbackURL?: string | undefined; }; } & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { url: string; redirect: boolean; }; } : { url: string; redirect: boolean; }>; options: { method: "POST"; requireHeaders: true; body: zod.ZodObject<{ callbackURL: zod.ZodOptional; provider: zod.ZodType<"github" | "apple" | "discord" | "facebook" | "microsoft" | "google" | "huggingface" | "slack" | "spotify" | "twitch" | "twitter" | "dropbox" | "kick" | "linear" | "linkedin" | "gitlab" | "tiktok" | "reddit" | "roblox" | "vk" | "zoom" | "notion" | (string & {}), unknown, zod_v4_core.$ZodTypeInternals<"github" | "apple" | "discord" | "facebook" | "microsoft" | "google" | "huggingface" | "slack" | "spotify" | "twitch" | "twitter" | "dropbox" | "kick" | "linear" | "linkedin" | "gitlab" | "tiktok" | "reddit" | "roblox" | "vk" | "zoom" | "notion" | (string & {}), unknown>>; idToken: zod.ZodOptional; accessToken: zod.ZodOptional; refreshToken: zod.ZodOptional; scopes: zod.ZodOptional>; }, zod_v4_core.$strip>>; requestSignUp: zod.ZodOptional; scopes: zod.ZodOptional>; errorCallbackURL: zod.ZodOptional; }, zod_v4_core.$strip>; use: ((inputContext: better_call.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; userId: string; expiresAt: Date; createdAt: Date; updatedAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; email: string; emailVerified: boolean; name: string; createdAt: Date; updatedAt: Date; image?: string | null | undefined; }; }; }>)[]; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { url: { type: string; description: string; }; redirect: { type: string; description: string; }; status: { type: string; }; }; required: string[]; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/link-social"; }; listUserAccounts: { (inputCtx_0?: ({ body?: undefined; } & { method?: "GET" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }) | undefined): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { id: string; provider: string; createdAt: Date; updatedAt: Date; accountId: string; scopes: string[]; }[]; } : { id: string; provider: string; createdAt: Date; updatedAt: Date; accountId: string; scopes: string[]; }[]>; options: { method: "GET"; use: ((inputContext: better_call.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; userId: string; expiresAt: Date; createdAt: Date; updatedAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; email: string; emailVerified: boolean; name: string; createdAt: Date; updatedAt: Date; image?: string | null | undefined; }; }; }>)[]; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "array"; items: { type: string; properties: { id: { type: string; }; provider: { type: string; }; createdAt: { type: string; format: string; }; updatedAt: { type: string; format: string; }; }; accountId: { type: string; }; scopes: { type: string; items: { type: string; }; }; }; required: string[]; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/list-accounts"; }; deleteUserCallback: { (inputCtx_0: { body?: undefined; } & { method?: "GET" | undefined; } & { query: { token: string; callbackURL?: string | undefined; }; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { success: boolean; message: string; }; } : { success: boolean; message: string; }>; options: { method: "GET"; query: zod.ZodObject<{ token: zod.ZodString; callbackURL: zod.ZodOptional; }, zod_v4_core.$strip>; use: ((inputContext: better_call.MiddlewareInputContext) => Promise)[]; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { success: { type: string; description: string; }; message: { type: string; enum: string[]; description: string; }; }; required: string[]; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/delete-user/callback"; }; unlinkAccount: { (inputCtx_0: { body: { providerId: string; accountId?: string | undefined; }; } & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { status: boolean; }; } : { status: boolean; }>; options: { method: "POST"; body: zod.ZodObject<{ providerId: zod.ZodString; accountId: zod.ZodOptional; }, zod_v4_core.$strip>; use: ((inputContext: better_call.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; userId: string; expiresAt: Date; createdAt: Date; updatedAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; email: string; emailVerified: boolean; name: string; createdAt: Date; updatedAt: Date; image?: string | null | undefined; }; }; }>)[]; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { status: { type: string; }; }; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/unlink-account"; }; refreshToken: { (inputCtx_0: { body: { providerId: string; accountId?: string | undefined; userId?: string | undefined; }; } & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: OAuth2Tokens; } : OAuth2Tokens>; options: { method: "POST"; body: zod.ZodObject<{ providerId: zod.ZodString; accountId: zod.ZodOptional; userId: zod.ZodOptional; }, zod_v4_core.$strip>; metadata: { openapi: { description: string; responses: { 200: { description: string; content: { "application/json": { schema: { type: "object"; properties: { tokenType: { type: string; }; idToken: { type: string; }; accessToken: { type: string; }; refreshToken: { type: string; }; accessTokenExpiresAt: { type: string; format: string; }; refreshTokenExpiresAt: { type: string; format: string; }; }; }; }; }; }; 400: { description: string; }; }; }; }; } & { use: any[]; }; path: "/refresh-token"; }; getAccessToken: { (inputCtx_0: { body: { providerId: string; accountId?: string | undefined; userId?: string | undefined; }; } & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { accessToken: string; accessTokenExpiresAt: Date | undefined; scopes: string[]; idToken: string | undefined; }; } : { accessToken: string; accessTokenExpiresAt: Date | undefined; scopes: string[]; idToken: string | undefined; }>; options: { method: "POST"; body: zod.ZodObject<{ providerId: zod.ZodString; accountId: zod.ZodOptional; userId: zod.ZodOptional; }, zod_v4_core.$strip>; metadata: { openapi: { description: string; responses: { 200: { description: string; content: { "application/json": { schema: { type: "object"; properties: { tokenType: { type: string; }; idToken: { type: string; }; accessToken: { type: string; }; refreshToken: { type: string; }; accessTokenExpiresAt: { type: string; format: string; }; refreshTokenExpiresAt: { type: string; format: string; }; }; }; }; }; }; 400: { description: string; }; }; }; }; } & { use: any[]; }; path: "/get-access-token"; }; accountInfo: { (inputCtx_0: { body: { accountId: string; }; } & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { user: { id: string; name?: string; email?: string | null; image?: string; emailVerified: boolean; }; data: Record; } | null; } : { user: { id: string; name?: string; email?: string | null; image?: string; emailVerified: boolean; }; data: Record; } | null>; options: { method: "POST"; use: ((inputContext: better_call.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; userId: string; expiresAt: Date; createdAt: Date; updatedAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; email: string; emailVerified: boolean; name: string; createdAt: Date; updatedAt: Date; image?: string | null | undefined; }; }; }>)[]; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { user: { type: string; properties: { id: { type: string; }; name: { type: string; }; email: { type: string; }; image: { type: string; }; emailVerified: { type: string; }; }; required: string[]; }; data: { type: string; properties: {}; additionalProperties: boolean; }; }; required: string[]; additionalProperties: boolean; }; }; }; }; }; }; }; body: zod.ZodObject<{ accountId: zod.ZodString; }, zod_v4_core.$strip>; } & { use: any[]; }; path: "/account-info"; }; }>, (C extends undefined ? {} : C) & { baseURL: string | undefined; fetchOptions: { customFetchImpl: (url: string | URL | Request, init?: RequestInit) => Promise; }; }>> & (((C extends undefined ? {} : C) & { baseURL: string | undefined; fetchOptions: { customFetchImpl: (url: string | URL | Request, init?: RequestInit) => Promise; }; })["plugins"] extends (infer Plugin_1)[] ? UnionToIntersection infer Actions ? Actions : {} : {}> : {}) & UnionToIntersection Promise; }; })["$InferAuth"] extends { plugins: infer Plugins; } ? Plugins extends (infer Plugin_2)[] ? Plugin_2 extends { endpoints: infer Endpoints_1; } ? Endpoints_1 : {} : {} : {}, (C extends undefined ? {} : C) & { baseURL: string | undefined; fetchOptions: { customFetchImpl: (url: string | URL | Request, init?: RequestInit) => Promise; }; }>> & { useSession: nanostores.Atom<{ data: UnionToIntersection Promise; }; })["plugins"] extends any[] ? FilterActions<{ ok: { (inputCtx_0?: ({ body?: undefined; } & { method?: "GET" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }) | undefined): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { ok: boolean; }; } : { ok: boolean; }>; options: { method: "GET"; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { ok: { type: string; description: string; }; }; required: string[]; }; }; }; }; }; }; isAction: false; }; } & { use: any[]; }; path: "/ok"; }; error: { (inputCtx_0?: ({ body?: undefined; } & { method?: "GET" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }) | undefined): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: Response; } : Response>; options: { method: "GET"; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "text/html": { schema: { type: "string"; description: string; }; }; }; }; }; }; isAction: false; }; } & { use: any[]; }; path: "/error"; }; signInSocial: { (inputCtx_0: { body: { provider: unknown; callbackURL?: string | undefined; newUserCallbackURL?: string | undefined; errorCallbackURL?: string | undefined; disableRedirect?: boolean | undefined; idToken?: { token: string; nonce?: string | undefined; accessToken?: string | undefined; refreshToken?: string | undefined; expiresAt?: number | undefined; } | undefined; scopes?: string[] | undefined; requestSignUp?: boolean | undefined; loginHint?: string | undefined; }; } & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { redirect: boolean; token: string; url: undefined; user: { id: string; email: string; name: string; image: string | null | undefined; emailVerified: boolean; createdAt: Date; updatedAt: Date; }; } | { url: string; redirect: boolean; }; } : { redirect: boolean; token: string; url: undefined; user: { id: string; email: string; name: string; image: string | null | undefined; emailVerified: boolean; createdAt: Date; updatedAt: Date; }; } | { url: string; redirect: boolean; }>; options: { method: "POST"; body: zod.ZodObject<{ callbackURL: zod.ZodOptional; newUserCallbackURL: zod.ZodOptional; errorCallbackURL: zod.ZodOptional; provider: zod.ZodType<"github" | "apple" | "discord" | "facebook" | "microsoft" | "google" | "huggingface" | "slack" | "spotify" | "twitch" | "twitter" | "dropbox" | "kick" | "linear" | "linkedin" | "gitlab" | "tiktok" | "reddit" | "roblox" | "vk" | "zoom" | "notion" | (string & {}), unknown, zod_v4_core.$ZodTypeInternals<"github" | "apple" | "discord" | "facebook" | "microsoft" | "google" | "huggingface" | "slack" | "spotify" | "twitch" | "twitter" | "dropbox" | "kick" | "linear" | "linkedin" | "gitlab" | "tiktok" | "reddit" | "roblox" | "vk" | "zoom" | "notion" | (string & {}), unknown>>; disableRedirect: zod.ZodOptional; idToken: zod.ZodOptional; accessToken: zod.ZodOptional; refreshToken: zod.ZodOptional; expiresAt: zod.ZodOptional; }, zod_v4_core.$strip>>; scopes: zod.ZodOptional>; requestSignUp: zod.ZodOptional; loginHint: zod.ZodOptional; }, zod_v4_core.$strip>; metadata: { openapi: { description: string; operationId: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; description: string; properties: { redirect: { type: string; enum: boolean[]; }; token: { type: string; description: string; url: { type: string; nullable: boolean; }; user: { type: string; properties: { id: { type: string; }; email: { type: string; }; name: { type: string; nullable: boolean; }; image: { type: string; nullable: boolean; }; emailVerified: { type: string; }; createdAt: { type: string; format: string; }; updatedAt: { type: string; format: string; }; }; required: string[]; }; }; }; required: string[]; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/sign-in/social"; }; callbackOAuth: { (inputCtx_0: { body?: { code?: string | undefined; error?: string | undefined; device_id?: string | undefined; error_description?: string | undefined; state?: string | undefined; user?: string | undefined; } | undefined; } & { method: "GET" | "POST"; } & { query?: { code?: string | undefined; error?: string | undefined; device_id?: string | undefined; error_description?: string | undefined; state?: string | undefined; user?: string | undefined; } | undefined; } & { params: { id: string; }; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: void; } : void>; options: { method: ("GET" | "POST")[]; body: zod.ZodOptional; error: zod.ZodOptional; device_id: zod.ZodOptional; error_description: zod.ZodOptional; state: zod.ZodOptional; user: zod.ZodOptional; }, zod_v4_core.$strip>>; query: zod.ZodOptional; error: zod.ZodOptional; device_id: zod.ZodOptional; error_description: zod.ZodOptional; state: zod.ZodOptional; user: zod.ZodOptional; }, zod_v4_core.$strip>>; metadata: { isAction: false; }; } & { use: any[]; }; path: "/callback/:id"; }; getSession: { (inputCtx_0: { body?: undefined; } & { method?: "GET" | undefined; } & { query?: { disableCookieCache?: unknown; disableRefresh?: unknown; } | undefined; } & { params?: Record; } & { request?: Request; } & { headers: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { session: { id: string; userId: string; expiresAt: Date; createdAt: Date; updatedAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: { id: string; email: string; emailVerified: boolean; name: string; createdAt: Date; updatedAt: Date; image?: string | null | undefined; }; } | null; } : { session: { id: string; userId: string; expiresAt: Date; createdAt: Date; updatedAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: { id: string; email: string; emailVerified: boolean; name: string; createdAt: Date; updatedAt: Date; image?: string | null | undefined; }; } | null>; options: { method: "GET"; query: zod.ZodOptional>; disableRefresh: zod.ZodOptional>; }, zod_v4_core.$strip>>; requireHeaders: true; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { session: { $ref: string; }; user: { $ref: string; }; }; required: string[]; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/get-session"; }; signOut: { (inputCtx_0: { body?: undefined; } & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { success: boolean; }; } : { success: boolean; }>; options: { method: "POST"; requireHeaders: true; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { success: { type: string; }; }; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/sign-out"; }; signUpEmail: { (inputCtx_0: { body: { name: string; email: string; password: string; image?: string; callbackURL?: string; rememberMe?: boolean; }; } & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { token: null; user: { id: string; email: string; name: string; image: string | null | undefined; emailVerified: boolean; createdAt: Date; updatedAt: Date; }; } | { token: string; user: { id: string; email: string; name: string; image: string | null | undefined; emailVerified: boolean; createdAt: Date; updatedAt: Date; }; }; } : { token: null; user: { id: string; email: string; name: string; image: string | null | undefined; emailVerified: boolean; createdAt: Date; updatedAt: Date; }; } | { token: string; user: { id: string; email: string; name: string; image: string | null | undefined; emailVerified: boolean; createdAt: Date; updatedAt: Date; }; }>; options: { method: "POST"; body: zod.ZodRecord; metadata: { $Infer: { body: { name: string; email: string; password: string; image?: string; callbackURL?: string; rememberMe?: boolean; }; }; openapi: { description: string; requestBody: { content: { "application/json": { schema: { type: "object"; properties: { name: { type: string; description: string; }; email: { type: string; description: string; }; password: { type: string; description: string; }; image: { type: string; description: string; }; callbackURL: { type: string; description: string; }; rememberMe: { type: string; description: string; }; }; required: string[]; }; }; }; }; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { token: { type: string; nullable: boolean; description: string; }; user: { type: string; properties: { id: { type: string; description: string; }; email: { type: string; format: string; description: string; }; name: { type: string; description: string; }; image: { type: string; format: string; nullable: boolean; description: string; }; emailVerified: { type: string; description: string; }; createdAt: { type: string; format: string; description: string; }; updatedAt: { type: string; format: string; description: string; }; }; required: string[]; }; }; required: string[]; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/sign-up/email"; }; signInEmail: { (inputCtx_0: { body: { email: string; password: string; callbackURL?: string | undefined; rememberMe?: boolean | undefined; }; } & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { redirect: boolean; token: string; url: string | undefined; user: { id: string; email: string; name: string; image: string | null | undefined; emailVerified: boolean; createdAt: Date; updatedAt: Date; }; }; } : { redirect: boolean; token: string; url: string | undefined; user: { id: string; email: string; name: string; image: string | null | undefined; emailVerified: boolean; createdAt: Date; updatedAt: Date; }; }>; options: { method: "POST"; body: zod.ZodObject<{ email: zod.ZodString; password: zod.ZodString; callbackURL: zod.ZodOptional; rememberMe: zod.ZodOptional>; }, zod_v4_core.$strip>; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; description: string; properties: { redirect: { type: string; enum: boolean[]; }; token: { type: string; description: string; }; url: { type: string; nullable: boolean; }; user: { type: string; properties: { id: { type: string; }; email: { type: string; }; name: { type: string; nullable: boolean; }; image: { type: string; nullable: boolean; }; emailVerified: { type: string; }; createdAt: { type: string; format: string; }; updatedAt: { type: string; format: string; }; }; required: string[]; }; }; required: string[]; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/sign-in/email"; }; forgetPassword: { (inputCtx_0: { body: { email: string; redirectTo?: string | undefined; }; } & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { status: boolean; }; } : { status: boolean; }>; options: { method: "POST"; body: zod.ZodObject<{ email: zod.ZodString; redirectTo: zod.ZodOptional; }, zod_v4_core.$strip>; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { status: { type: string; }; message: { type: string; }; }; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/forget-password"; }; resetPassword: { (inputCtx_0: { body: { newPassword: string; token?: string | undefined; }; } & { method?: "POST" | undefined; } & { query?: { token?: string | undefined; } | undefined; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { status: boolean; }; } : { status: boolean; }>; options: { method: "POST"; query: zod.ZodOptional; }, zod_v4_core.$strip>>; body: zod.ZodObject<{ newPassword: zod.ZodString; token: zod.ZodOptional; }, zod_v4_core.$strip>; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { status: { type: string; }; }; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/reset-password"; }; verifyEmail: { (inputCtx_0: { body?: undefined; } & { method?: "GET" | undefined; } & { query: { token: string; callbackURL?: string | undefined; }; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: void | { status: boolean; user: { id: any; email: any; name: any; image: any; emailVerified: any; createdAt: any; updatedAt: any; }; } | { status: boolean; user: null; }; } : void | { status: boolean; user: { id: any; email: any; name: any; image: any; emailVerified: any; createdAt: any; updatedAt: any; }; } | { status: boolean; user: null; }>; options: { method: "GET"; query: zod.ZodObject<{ token: zod.ZodString; callbackURL: zod.ZodOptional; }, zod_v4_core.$strip>; use: ((inputContext: better_call.MiddlewareInputContext) => Promise)[]; metadata: { openapi: { description: string; parameters: ({ name: string; in: "query"; description: string; required: true; schema: { type: "string"; }; } | { name: string; in: "query"; description: string; required: false; schema: { type: "string"; }; })[]; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { user: { type: string; properties: { id: { type: string; description: string; }; email: { type: string; description: string; }; name: { type: string; description: string; }; image: { type: string; description: string; }; emailVerified: { type: string; description: string; }; createdAt: { type: string; description: string; }; updatedAt: { type: string; description: string; }; }; required: string[]; }; status: { type: string; description: string; }; }; required: string[]; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/verify-email"; }; sendVerificationEmail: { (inputCtx_0: { body: { email: string; callbackURL?: string | undefined; }; } & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { status: boolean; }; } : { status: boolean; }>; options: { method: "POST"; body: zod.ZodObject<{ email: zod.ZodEmail; callbackURL: zod.ZodOptional; }, zod_v4_core.$strip>; metadata: { openapi: { description: string; requestBody: { content: { "application/json": { schema: { type: "object"; properties: { email: { type: string; description: string; example: string; }; callbackURL: { type: string; description: string; example: string; nullable: boolean; }; }; required: string[]; }; }; }; }; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { status: { type: string; description: string; example: boolean; }; }; }; }; }; }; "400": { description: string; content: { "application/json": { schema: { type: "object"; properties: { message: { type: string; description: string; example: string; }; }; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/send-verification-email"; }; changeEmail: { (inputCtx_0: { body: { newEmail: string; callbackURL?: string | undefined; }; } & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { status: boolean; }; } : { status: boolean; }>; options: { method: "POST"; body: zod.ZodObject<{ newEmail: zod.ZodEmail; callbackURL: zod.ZodOptional; }, zod_v4_core.$strip>; use: ((inputContext: better_call.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; userId: string; expiresAt: Date; createdAt: Date; updatedAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; email: string; emailVerified: boolean; name: string; createdAt: Date; updatedAt: Date; image?: string | null | undefined; }; }; }>)[]; metadata: { openapi: { responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { status: { type: string; description: string; }; message: { type: string; enum: string[]; description: string; nullable: boolean; }; }; required: string[]; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/change-email"; }; changePassword: { (inputCtx_0: { body: { newPassword: string; currentPassword: string; revokeOtherSessions?: boolean | undefined; }; } & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { token: string | null; user: { id: string; email: string; name: string; image: string | null | undefined; emailVerified: boolean; createdAt: Date; updatedAt: Date; }; }; } : { token: string | null; user: { id: string; email: string; name: string; image: string | null | undefined; emailVerified: boolean; createdAt: Date; updatedAt: Date; }; }>; options: { method: "POST"; body: zod.ZodObject<{ newPassword: zod.ZodString; currentPassword: zod.ZodString; revokeOtherSessions: zod.ZodOptional; }, zod_v4_core.$strip>; use: ((inputContext: better_call.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; userId: string; expiresAt: Date; createdAt: Date; updatedAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; email: string; emailVerified: boolean; name: string; createdAt: Date; updatedAt: Date; image?: string | null | undefined; }; }; }>)[]; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { token: { type: string; nullable: boolean; description: string; }; user: { type: string; properties: { id: { type: string; description: string; }; email: { type: string; format: string; description: string; }; name: { type: string; description: string; }; image: { type: string; format: string; nullable: boolean; description: string; }; emailVerified: { type: string; description: string; }; createdAt: { type: string; format: string; description: string; }; updatedAt: { type: string; format: string; description: string; }; }; required: string[]; }; }; required: string[]; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/change-password"; }; setPassword: { (inputCtx_0: { body: { newPassword: string; }; } & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { status: boolean; }; } : { status: boolean; }>; options: { method: "POST"; body: zod.ZodObject<{ newPassword: zod.ZodString; }, zod_v4_core.$strip>; metadata: { SERVER_ONLY: true; }; use: ((inputContext: better_call.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; userId: string; expiresAt: Date; createdAt: Date; updatedAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; email: string; emailVerified: boolean; name: string; createdAt: Date; updatedAt: Date; image?: string | null | undefined; }; }; }>)[]; } & { use: any[]; }; path: "/set-password"; }; updateUser: { (inputCtx_0: { body: Partial<{}> & { name?: string; image?: string; }; } & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { status: boolean; }; } : { status: boolean; }>; options: { method: "POST"; body: zod.ZodRecord; use: ((inputContext: better_call.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; userId: string; expiresAt: Date; createdAt: Date; updatedAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; email: string; emailVerified: boolean; name: string; createdAt: Date; updatedAt: Date; image?: string | null | undefined; }; }; }>)[]; metadata: { $Infer: { body: Partial<{}> & { name?: string; image?: string; }; }; openapi: { description: string; requestBody: { content: { "application/json": { schema: { type: "object"; properties: { name: { type: string; description: string; }; image: { type: string; description: string; }; }; }; }; }; }; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { status: { type: string; description: string; }; }; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/update-user"; }; deleteUser: { (inputCtx_0: { body: { callbackURL?: string | undefined; password?: string | undefined; token?: string | undefined; }; } & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { success: boolean; message: string; }; } : { success: boolean; message: string; }>; options: { method: "POST"; use: ((inputContext: better_call.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; userId: string; expiresAt: Date; createdAt: Date; updatedAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; email: string; emailVerified: boolean; name: string; createdAt: Date; updatedAt: Date; image?: string | null | undefined; }; }; }>)[]; body: zod.ZodObject<{ callbackURL: zod.ZodOptional; password: zod.ZodOptional; token: zod.ZodOptional; }, zod_v4_core.$strip>; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { success: { type: string; description: string; }; message: { type: string; enum: string[]; description: string; }; }; required: string[]; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/delete-user"; }; forgetPasswordCallback: { (inputCtx_0: { body?: undefined; } & { method?: "GET" | undefined; } & { query: { callbackURL: string; }; } & { params: { token: string; }; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: never; } : never>; options: { method: "GET"; query: zod.ZodObject<{ callbackURL: zod.ZodString; }, zod_v4_core.$strip>; use: ((inputContext: better_call.MiddlewareInputContext) => Promise)[]; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { token: { type: string; }; }; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/reset-password/:token"; }; requestPasswordReset: { (inputCtx_0: { body: { email: string; redirectTo?: string | undefined; }; } & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { status: boolean; }; } : { status: boolean; }>; options: { method: "POST"; body: zod.ZodObject<{ email: zod.ZodEmail; redirectTo: zod.ZodOptional; }, zod_v4_core.$strip>; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { status: { type: string; }; message: { type: string; }; }; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/request-password-reset"; }; requestPasswordResetCallback: { (inputCtx_0: { body?: undefined; } & { method?: "GET" | undefined; } & { query: { callbackURL: string; }; } & { params: { token: string; }; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: never; } : never>; options: { method: "GET"; query: zod.ZodObject<{ callbackURL: zod.ZodString; }, zod_v4_core.$strip>; use: ((inputContext: better_call.MiddlewareInputContext) => Promise)[]; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { token: { type: string; }; }; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/reset-password/:token"; }; listSessions: { (inputCtx_0: { body?: undefined; } & { method?: "GET" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: Prettify<{ id: string; userId: string; expiresAt: Date; createdAt: Date; updatedAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }>[]; } : Prettify<{ id: string; userId: string; expiresAt: Date; createdAt: Date; updatedAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }>[]>; options: { method: "GET"; use: ((inputContext: better_call.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; userId: string; expiresAt: Date; createdAt: Date; updatedAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; email: string; emailVerified: boolean; name: string; createdAt: Date; updatedAt: Date; image?: string | null | undefined; }; }; }>)[]; requireHeaders: true; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "array"; items: { $ref: string; }; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/list-sessions"; }; revokeSession: { (inputCtx_0: { body: { token: string; }; } & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { status: boolean; }; } : { status: boolean; }>; options: { method: "POST"; body: zod.ZodObject<{ token: zod.ZodString; }, zod_v4_core.$strip>; use: ((inputContext: better_call.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; userId: string; expiresAt: Date; createdAt: Date; updatedAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; email: string; emailVerified: boolean; name: string; createdAt: Date; updatedAt: Date; image?: string | null | undefined; }; }; }>)[]; requireHeaders: true; metadata: { openapi: { description: string; requestBody: { content: { "application/json": { schema: { type: "object"; properties: { token: { type: string; description: string; }; }; required: string[]; }; }; }; }; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { status: { type: string; description: string; }; }; required: string[]; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/revoke-session"; }; revokeSessions: { (inputCtx_0: { body?: undefined; } & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { status: boolean; }; } : { status: boolean; }>; options: { method: "POST"; use: ((inputContext: better_call.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; userId: string; expiresAt: Date; createdAt: Date; updatedAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; email: string; emailVerified: boolean; name: string; createdAt: Date; updatedAt: Date; image?: string | null | undefined; }; }; }>)[]; requireHeaders: true; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { status: { type: string; description: string; }; }; required: string[]; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/revoke-sessions"; }; revokeOtherSessions: { (inputCtx_0: { body?: undefined; } & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { status: boolean; }; } : { status: boolean; }>; options: { method: "POST"; requireHeaders: true; use: ((inputContext: better_call.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; userId: string; expiresAt: Date; createdAt: Date; updatedAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; email: string; emailVerified: boolean; name: string; createdAt: Date; updatedAt: Date; image?: string | null | undefined; }; }; }>)[]; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { status: { type: string; description: string; }; }; required: string[]; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/revoke-other-sessions"; }; linkSocialAccount: { (inputCtx_0: { body: { provider: unknown; callbackURL?: string | undefined; idToken?: { token: string; nonce?: string | undefined; accessToken?: string | undefined; refreshToken?: string | undefined; scopes?: string[] | undefined; } | undefined; requestSignUp?: boolean | undefined; scopes?: string[] | undefined; errorCallbackURL?: string | undefined; }; } & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { url: string; redirect: boolean; }; } : { url: string; redirect: boolean; }>; options: { method: "POST"; requireHeaders: true; body: zod.ZodObject<{ callbackURL: zod.ZodOptional; provider: zod.ZodType<"github" | "apple" | "discord" | "facebook" | "microsoft" | "google" | "huggingface" | "slack" | "spotify" | "twitch" | "twitter" | "dropbox" | "kick" | "linear" | "linkedin" | "gitlab" | "tiktok" | "reddit" | "roblox" | "vk" | "zoom" | "notion" | (string & {}), unknown, zod_v4_core.$ZodTypeInternals<"github" | "apple" | "discord" | "facebook" | "microsoft" | "google" | "huggingface" | "slack" | "spotify" | "twitch" | "twitter" | "dropbox" | "kick" | "linear" | "linkedin" | "gitlab" | "tiktok" | "reddit" | "roblox" | "vk" | "zoom" | "notion" | (string & {}), unknown>>; idToken: zod.ZodOptional; accessToken: zod.ZodOptional; refreshToken: zod.ZodOptional; scopes: zod.ZodOptional>; }, zod_v4_core.$strip>>; requestSignUp: zod.ZodOptional; scopes: zod.ZodOptional>; errorCallbackURL: zod.ZodOptional; }, zod_v4_core.$strip>; use: ((inputContext: better_call.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; userId: string; expiresAt: Date; createdAt: Date; updatedAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; email: string; emailVerified: boolean; name: string; createdAt: Date; updatedAt: Date; image?: string | null | undefined; }; }; }>)[]; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { url: { type: string; description: string; }; redirect: { type: string; description: string; }; status: { type: string; }; }; required: string[]; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/link-social"; }; listUserAccounts: { (inputCtx_0?: ({ body?: undefined; } & { method?: "GET" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }) | undefined): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { id: string; provider: string; createdAt: Date; updatedAt: Date; accountId: string; scopes: string[]; }[]; } : { id: string; provider: string; createdAt: Date; updatedAt: Date; accountId: string; scopes: string[]; }[]>; options: { method: "GET"; use: ((inputContext: better_call.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; userId: string; expiresAt: Date; createdAt: Date; updatedAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; email: string; emailVerified: boolean; name: string; createdAt: Date; updatedAt: Date; image?: string | null | undefined; }; }; }>)[]; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "array"; items: { type: string; properties: { id: { type: string; }; provider: { type: string; }; createdAt: { type: string; format: string; }; updatedAt: { type: string; format: string; }; }; accountId: { type: string; }; scopes: { type: string; items: { type: string; }; }; }; required: string[]; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/list-accounts"; }; deleteUserCallback: { (inputCtx_0: { body?: undefined; } & { method?: "GET" | undefined; } & { query: { token: string; callbackURL?: string | undefined; }; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { success: boolean; message: string; }; } : { success: boolean; message: string; }>; options: { method: "GET"; query: zod.ZodObject<{ token: zod.ZodString; callbackURL: zod.ZodOptional; }, zod_v4_core.$strip>; use: ((inputContext: better_call.MiddlewareInputContext) => Promise)[]; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { success: { type: string; description: string; }; message: { type: string; enum: string[]; description: string; }; }; required: string[]; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/delete-user/callback"; }; unlinkAccount: { (inputCtx_0: { body: { providerId: string; accountId?: string | undefined; }; } & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { status: boolean; }; } : { status: boolean; }>; options: { method: "POST"; body: zod.ZodObject<{ providerId: zod.ZodString; accountId: zod.ZodOptional; }, zod_v4_core.$strip>; use: ((inputContext: better_call.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; userId: string; expiresAt: Date; createdAt: Date; updatedAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; email: string; emailVerified: boolean; name: string; createdAt: Date; updatedAt: Date; image?: string | null | undefined; }; }; }>)[]; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { status: { type: string; }; }; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/unlink-account"; }; refreshToken: { (inputCtx_0: { body: { providerId: string; accountId?: string | undefined; userId?: string | undefined; }; } & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: OAuth2Tokens; } : OAuth2Tokens>; options: { method: "POST"; body: zod.ZodObject<{ providerId: zod.ZodString; accountId: zod.ZodOptional; userId: zod.ZodOptional; }, zod_v4_core.$strip>; metadata: { openapi: { description: string; responses: { 200: { description: string; content: { "application/json": { schema: { type: "object"; properties: { tokenType: { type: string; }; idToken: { type: string; }; accessToken: { type: string; }; refreshToken: { type: string; }; accessTokenExpiresAt: { type: string; format: string; }; refreshTokenExpiresAt: { type: string; format: string; }; }; }; }; }; }; 400: { description: string; }; }; }; }; } & { use: any[]; }; path: "/refresh-token"; }; getAccessToken: { (inputCtx_0: { body: { providerId: string; accountId?: string | undefined; userId?: string | undefined; }; } & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { accessToken: string; accessTokenExpiresAt: Date | undefined; scopes: string[]; idToken: string | undefined; }; } : { accessToken: string; accessTokenExpiresAt: Date | undefined; scopes: string[]; idToken: string | undefined; }>; options: { method: "POST"; body: zod.ZodObject<{ providerId: zod.ZodString; accountId: zod.ZodOptional; userId: zod.ZodOptional; }, zod_v4_core.$strip>; metadata: { openapi: { description: string; responses: { 200: { description: string; content: { "application/json": { schema: { type: "object"; properties: { tokenType: { type: string; }; idToken: { type: string; }; accessToken: { type: string; }; refreshToken: { type: string; }; accessTokenExpiresAt: { type: string; format: string; }; refreshTokenExpiresAt: { type: string; format: string; }; }; }; }; }; }; 400: { description: string; }; }; }; }; } & { use: any[]; }; path: "/get-access-token"; }; accountInfo: { (inputCtx_0: { body: { accountId: string; }; } & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { user: { id: string; name?: string; email?: string | null; image?: string; emailVerified: boolean; }; data: Record; } | null; } : { user: { id: string; name?: string; email?: string | null; image?: string; emailVerified: boolean; }; data: Record; } | null>; options: { method: "POST"; use: ((inputContext: better_call.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; userId: string; expiresAt: Date; createdAt: Date; updatedAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; email: string; emailVerified: boolean; name: string; createdAt: Date; updatedAt: Date; image?: string | null | undefined; }; }; }>)[]; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { user: { type: string; properties: { id: { type: string; }; name: { type: string; }; email: { type: string; }; image: { type: string; }; emailVerified: { type: string; }; }; required: string[]; }; data: { type: string; properties: {}; additionalProperties: boolean; }; }; required: string[]; additionalProperties: boolean; }; }; }; }; }; }; }; body: zod.ZodObject<{ accountId: zod.ZodString; }, zod_v4_core.$strip>; } & { use: any[]; }; path: "/account-info"; }; }> & (((C extends undefined ? {} : C) & { baseURL: string | undefined; fetchOptions: { customFetchImpl: (url: string | URL | Request, init?: RequestInit) => Promise; }; })["plugins"] extends (infer Pl)[] ? UnionToIntersection : {}) : FilterActions<{ ok: { (inputCtx_0?: ({ body?: undefined; } & { method?: "GET" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }) | undefined): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { ok: boolean; }; } : { ok: boolean; }>; options: { method: "GET"; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { ok: { type: string; description: string; }; }; required: string[]; }; }; }; }; }; }; isAction: false; }; } & { use: any[]; }; path: "/ok"; }; error: { (inputCtx_0?: ({ body?: undefined; } & { method?: "GET" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }) | undefined): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: Response; } : Response>; options: { method: "GET"; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "text/html": { schema: { type: "string"; description: string; }; }; }; }; }; }; isAction: false; }; } & { use: any[]; }; path: "/error"; }; signInSocial: { (inputCtx_0: { body: { provider: unknown; callbackURL?: string | undefined; newUserCallbackURL?: string | undefined; errorCallbackURL?: string | undefined; disableRedirect?: boolean | undefined; idToken?: { token: string; nonce?: string | undefined; accessToken?: string | undefined; refreshToken?: string | undefined; expiresAt?: number | undefined; } | undefined; scopes?: string[] | undefined; requestSignUp?: boolean | undefined; loginHint?: string | undefined; }; } & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { redirect: boolean; token: string; url: undefined; user: { id: string; email: string; name: string; image: string | null | undefined; emailVerified: boolean; createdAt: Date; updatedAt: Date; }; } | { url: string; redirect: boolean; }; } : { redirect: boolean; token: string; url: undefined; user: { id: string; email: string; name: string; image: string | null | undefined; emailVerified: boolean; createdAt: Date; updatedAt: Date; }; } | { url: string; redirect: boolean; }>; options: { method: "POST"; body: zod.ZodObject<{ callbackURL: zod.ZodOptional; newUserCallbackURL: zod.ZodOptional; errorCallbackURL: zod.ZodOptional; provider: zod.ZodType<"github" | "apple" | "discord" | "facebook" | "microsoft" | "google" | "huggingface" | "slack" | "spotify" | "twitch" | "twitter" | "dropbox" | "kick" | "linear" | "linkedin" | "gitlab" | "tiktok" | "reddit" | "roblox" | "vk" | "zoom" | "notion" | (string & {}), unknown, zod_v4_core.$ZodTypeInternals<"github" | "apple" | "discord" | "facebook" | "microsoft" | "google" | "huggingface" | "slack" | "spotify" | "twitch" | "twitter" | "dropbox" | "kick" | "linear" | "linkedin" | "gitlab" | "tiktok" | "reddit" | "roblox" | "vk" | "zoom" | "notion" | (string & {}), unknown>>; disableRedirect: zod.ZodOptional; idToken: zod.ZodOptional; accessToken: zod.ZodOptional; refreshToken: zod.ZodOptional; expiresAt: zod.ZodOptional; }, zod_v4_core.$strip>>; scopes: zod.ZodOptional>; requestSignUp: zod.ZodOptional; loginHint: zod.ZodOptional; }, zod_v4_core.$strip>; metadata: { openapi: { description: string; operationId: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; description: string; properties: { redirect: { type: string; enum: boolean[]; }; token: { type: string; description: string; url: { type: string; nullable: boolean; }; user: { type: string; properties: { id: { type: string; }; email: { type: string; }; name: { type: string; nullable: boolean; }; image: { type: string; nullable: boolean; }; emailVerified: { type: string; }; createdAt: { type: string; format: string; }; updatedAt: { type: string; format: string; }; }; required: string[]; }; }; }; required: string[]; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/sign-in/social"; }; callbackOAuth: { (inputCtx_0: { body?: { code?: string | undefined; error?: string | undefined; device_id?: string | undefined; error_description?: string | undefined; state?: string | undefined; user?: string | undefined; } | undefined; } & { method: "GET" | "POST"; } & { query?: { code?: string | undefined; error?: string | undefined; device_id?: string | undefined; error_description?: string | undefined; state?: string | undefined; user?: string | undefined; } | undefined; } & { params: { id: string; }; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: void; } : void>; options: { method: ("GET" | "POST")[]; body: zod.ZodOptional; error: zod.ZodOptional; device_id: zod.ZodOptional; error_description: zod.ZodOptional; state: zod.ZodOptional; user: zod.ZodOptional; }, zod_v4_core.$strip>>; query: zod.ZodOptional; error: zod.ZodOptional; device_id: zod.ZodOptional; error_description: zod.ZodOptional; state: zod.ZodOptional; user: zod.ZodOptional; }, zod_v4_core.$strip>>; metadata: { isAction: false; }; } & { use: any[]; }; path: "/callback/:id"; }; getSession: { (inputCtx_0: { body?: undefined; } & { method?: "GET" | undefined; } & { query?: { disableCookieCache?: unknown; disableRefresh?: unknown; } | undefined; } & { params?: Record; } & { request?: Request; } & { headers: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { session: { id: string; userId: string; expiresAt: Date; createdAt: Date; updatedAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: { id: string; email: string; emailVerified: boolean; name: string; createdAt: Date; updatedAt: Date; image?: string | null | undefined; }; } | null; } : { session: { id: string; userId: string; expiresAt: Date; createdAt: Date; updatedAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: { id: string; email: string; emailVerified: boolean; name: string; createdAt: Date; updatedAt: Date; image?: string | null | undefined; }; } | null>; options: { method: "GET"; query: zod.ZodOptional>; disableRefresh: zod.ZodOptional>; }, zod_v4_core.$strip>>; requireHeaders: true; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { session: { $ref: string; }; user: { $ref: string; }; }; required: string[]; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/get-session"; }; signOut: { (inputCtx_0: { body?: undefined; } & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { success: boolean; }; } : { success: boolean; }>; options: { method: "POST"; requireHeaders: true; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { success: { type: string; }; }; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/sign-out"; }; signUpEmail: { (inputCtx_0: { body: { name: string; email: string; password: string; image?: string; callbackURL?: string; rememberMe?: boolean; }; } & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { token: null; user: { id: string; email: string; name: string; image: string | null | undefined; emailVerified: boolean; createdAt: Date; updatedAt: Date; }; } | { token: string; user: { id: string; email: string; name: string; image: string | null | undefined; emailVerified: boolean; createdAt: Date; updatedAt: Date; }; }; } : { token: null; user: { id: string; email: string; name: string; image: string | null | undefined; emailVerified: boolean; createdAt: Date; updatedAt: Date; }; } | { token: string; user: { id: string; email: string; name: string; image: string | null | undefined; emailVerified: boolean; createdAt: Date; updatedAt: Date; }; }>; options: { method: "POST"; body: zod.ZodRecord; metadata: { $Infer: { body: { name: string; email: string; password: string; image?: string; callbackURL?: string; rememberMe?: boolean; }; }; openapi: { description: string; requestBody: { content: { "application/json": { schema: { type: "object"; properties: { name: { type: string; description: string; }; email: { type: string; description: string; }; password: { type: string; description: string; }; image: { type: string; description: string; }; callbackURL: { type: string; description: string; }; rememberMe: { type: string; description: string; }; }; required: string[]; }; }; }; }; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { token: { type: string; nullable: boolean; description: string; }; user: { type: string; properties: { id: { type: string; description: string; }; email: { type: string; format: string; description: string; }; name: { type: string; description: string; }; image: { type: string; format: string; nullable: boolean; description: string; }; emailVerified: { type: string; description: string; }; createdAt: { type: string; format: string; description: string; }; updatedAt: { type: string; format: string; description: string; }; }; required: string[]; }; }; required: string[]; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/sign-up/email"; }; signInEmail: { (inputCtx_0: { body: { email: string; password: string; callbackURL?: string | undefined; rememberMe?: boolean | undefined; }; } & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { redirect: boolean; token: string; url: string | undefined; user: { id: string; email: string; name: string; image: string | null | undefined; emailVerified: boolean; createdAt: Date; updatedAt: Date; }; }; } : { redirect: boolean; token: string; url: string | undefined; user: { id: string; email: string; name: string; image: string | null | undefined; emailVerified: boolean; createdAt: Date; updatedAt: Date; }; }>; options: { method: "POST"; body: zod.ZodObject<{ email: zod.ZodString; password: zod.ZodString; callbackURL: zod.ZodOptional; rememberMe: zod.ZodOptional>; }, zod_v4_core.$strip>; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; description: string; properties: { redirect: { type: string; enum: boolean[]; }; token: { type: string; description: string; }; url: { type: string; nullable: boolean; }; user: { type: string; properties: { id: { type: string; }; email: { type: string; }; name: { type: string; nullable: boolean; }; image: { type: string; nullable: boolean; }; emailVerified: { type: string; }; createdAt: { type: string; format: string; }; updatedAt: { type: string; format: string; }; }; required: string[]; }; }; required: string[]; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/sign-in/email"; }; forgetPassword: { (inputCtx_0: { body: { email: string; redirectTo?: string | undefined; }; } & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { status: boolean; }; } : { status: boolean; }>; options: { method: "POST"; body: zod.ZodObject<{ email: zod.ZodString; redirectTo: zod.ZodOptional; }, zod_v4_core.$strip>; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { status: { type: string; }; message: { type: string; }; }; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/forget-password"; }; resetPassword: { (inputCtx_0: { body: { newPassword: string; token?: string | undefined; }; } & { method?: "POST" | undefined; } & { query?: { token?: string | undefined; } | undefined; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { status: boolean; }; } : { status: boolean; }>; options: { method: "POST"; query: zod.ZodOptional; }, zod_v4_core.$strip>>; body: zod.ZodObject<{ newPassword: zod.ZodString; token: zod.ZodOptional; }, zod_v4_core.$strip>; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { status: { type: string; }; }; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/reset-password"; }; verifyEmail: { (inputCtx_0: { body?: undefined; } & { method?: "GET" | undefined; } & { query: { token: string; callbackURL?: string | undefined; }; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: void | { status: boolean; user: { id: any; email: any; name: any; image: any; emailVerified: any; createdAt: any; updatedAt: any; }; } | { status: boolean; user: null; }; } : void | { status: boolean; user: { id: any; email: any; name: any; image: any; emailVerified: any; createdAt: any; updatedAt: any; }; } | { status: boolean; user: null; }>; options: { method: "GET"; query: zod.ZodObject<{ token: zod.ZodString; callbackURL: zod.ZodOptional; }, zod_v4_core.$strip>; use: ((inputContext: better_call.MiddlewareInputContext) => Promise)[]; metadata: { openapi: { description: string; parameters: ({ name: string; in: "query"; description: string; required: true; schema: { type: "string"; }; } | { name: string; in: "query"; description: string; required: false; schema: { type: "string"; }; })[]; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { user: { type: string; properties: { id: { type: string; description: string; }; email: { type: string; description: string; }; name: { type: string; description: string; }; image: { type: string; description: string; }; emailVerified: { type: string; description: string; }; createdAt: { type: string; description: string; }; updatedAt: { type: string; description: string; }; }; required: string[]; }; status: { type: string; description: string; }; }; required: string[]; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/verify-email"; }; sendVerificationEmail: { (inputCtx_0: { body: { email: string; callbackURL?: string | undefined; }; } & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { status: boolean; }; } : { status: boolean; }>; options: { method: "POST"; body: zod.ZodObject<{ email: zod.ZodEmail; callbackURL: zod.ZodOptional; }, zod_v4_core.$strip>; metadata: { openapi: { description: string; requestBody: { content: { "application/json": { schema: { type: "object"; properties: { email: { type: string; description: string; example: string; }; callbackURL: { type: string; description: string; example: string; nullable: boolean; }; }; required: string[]; }; }; }; }; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { status: { type: string; description: string; example: boolean; }; }; }; }; }; }; "400": { description: string; content: { "application/json": { schema: { type: "object"; properties: { message: { type: string; description: string; example: string; }; }; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/send-verification-email"; }; changeEmail: { (inputCtx_0: { body: { newEmail: string; callbackURL?: string | undefined; }; } & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { status: boolean; }; } : { status: boolean; }>; options: { method: "POST"; body: zod.ZodObject<{ newEmail: zod.ZodEmail; callbackURL: zod.ZodOptional; }, zod_v4_core.$strip>; use: ((inputContext: better_call.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; userId: string; expiresAt: Date; createdAt: Date; updatedAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; email: string; emailVerified: boolean; name: string; createdAt: Date; updatedAt: Date; image?: string | null | undefined; }; }; }>)[]; metadata: { openapi: { responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { status: { type: string; description: string; }; message: { type: string; enum: string[]; description: string; nullable: boolean; }; }; required: string[]; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/change-email"; }; changePassword: { (inputCtx_0: { body: { newPassword: string; currentPassword: string; revokeOtherSessions?: boolean | undefined; }; } & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { token: string | null; user: { id: string; email: string; name: string; image: string | null | undefined; emailVerified: boolean; createdAt: Date; updatedAt: Date; }; }; } : { token: string | null; user: { id: string; email: string; name: string; image: string | null | undefined; emailVerified: boolean; createdAt: Date; updatedAt: Date; }; }>; options: { method: "POST"; body: zod.ZodObject<{ newPassword: zod.ZodString; currentPassword: zod.ZodString; revokeOtherSessions: zod.ZodOptional; }, zod_v4_core.$strip>; use: ((inputContext: better_call.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; userId: string; expiresAt: Date; createdAt: Date; updatedAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; email: string; emailVerified: boolean; name: string; createdAt: Date; updatedAt: Date; image?: string | null | undefined; }; }; }>)[]; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { token: { type: string; nullable: boolean; description: string; }; user: { type: string; properties: { id: { type: string; description: string; }; email: { type: string; format: string; description: string; }; name: { type: string; description: string; }; image: { type: string; format: string; nullable: boolean; description: string; }; emailVerified: { type: string; description: string; }; createdAt: { type: string; format: string; description: string; }; updatedAt: { type: string; format: string; description: string; }; }; required: string[]; }; }; required: string[]; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/change-password"; }; setPassword: { (inputCtx_0: { body: { newPassword: string; }; } & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { status: boolean; }; } : { status: boolean; }>; options: { method: "POST"; body: zod.ZodObject<{ newPassword: zod.ZodString; }, zod_v4_core.$strip>; metadata: { SERVER_ONLY: true; }; use: ((inputContext: better_call.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; userId: string; expiresAt: Date; createdAt: Date; updatedAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; email: string; emailVerified: boolean; name: string; createdAt: Date; updatedAt: Date; image?: string | null | undefined; }; }; }>)[]; } & { use: any[]; }; path: "/set-password"; }; updateUser: { (inputCtx_0: { body: Partial<{}> & { name?: string; image?: string; }; } & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { status: boolean; }; } : { status: boolean; }>; options: { method: "POST"; body: zod.ZodRecord; use: ((inputContext: better_call.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; userId: string; expiresAt: Date; createdAt: Date; updatedAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; email: string; emailVerified: boolean; name: string; createdAt: Date; updatedAt: Date; image?: string | null | undefined; }; }; }>)[]; metadata: { $Infer: { body: Partial<{}> & { name?: string; image?: string; }; }; openapi: { description: string; requestBody: { content: { "application/json": { schema: { type: "object"; properties: { name: { type: string; description: string; }; image: { type: string; description: string; }; }; }; }; }; }; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { status: { type: string; description: string; }; }; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/update-user"; }; deleteUser: { (inputCtx_0: { body: { callbackURL?: string | undefined; password?: string | undefined; token?: string | undefined; }; } & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { success: boolean; message: string; }; } : { success: boolean; message: string; }>; options: { method: "POST"; use: ((inputContext: better_call.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; userId: string; expiresAt: Date; createdAt: Date; updatedAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; email: string; emailVerified: boolean; name: string; createdAt: Date; updatedAt: Date; image?: string | null | undefined; }; }; }>)[]; body: zod.ZodObject<{ callbackURL: zod.ZodOptional; password: zod.ZodOptional; token: zod.ZodOptional; }, zod_v4_core.$strip>; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { success: { type: string; description: string; }; message: { type: string; enum: string[]; description: string; }; }; required: string[]; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/delete-user"; }; forgetPasswordCallback: { (inputCtx_0: { body?: undefined; } & { method?: "GET" | undefined; } & { query: { callbackURL: string; }; } & { params: { token: string; }; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: never; } : never>; options: { method: "GET"; query: zod.ZodObject<{ callbackURL: zod.ZodString; }, zod_v4_core.$strip>; use: ((inputContext: better_call.MiddlewareInputContext) => Promise)[]; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { token: { type: string; }; }; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/reset-password/:token"; }; requestPasswordReset: { (inputCtx_0: { body: { email: string; redirectTo?: string | undefined; }; } & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { status: boolean; }; } : { status: boolean; }>; options: { method: "POST"; body: zod.ZodObject<{ email: zod.ZodEmail; redirectTo: zod.ZodOptional; }, zod_v4_core.$strip>; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { status: { type: string; }; message: { type: string; }; }; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/request-password-reset"; }; requestPasswordResetCallback: { (inputCtx_0: { body?: undefined; } & { method?: "GET" | undefined; } & { query: { callbackURL: string; }; } & { params: { token: string; }; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: never; } : never>; options: { method: "GET"; query: zod.ZodObject<{ callbackURL: zod.ZodString; }, zod_v4_core.$strip>; use: ((inputContext: better_call.MiddlewareInputContext) => Promise)[]; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { token: { type: string; }; }; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/reset-password/:token"; }; listSessions: { (inputCtx_0: { body?: undefined; } & { method?: "GET" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: Prettify<{ id: string; userId: string; expiresAt: Date; createdAt: Date; updatedAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }>[]; } : Prettify<{ id: string; userId: string; expiresAt: Date; createdAt: Date; updatedAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }>[]>; options: { method: "GET"; use: ((inputContext: better_call.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; userId: string; expiresAt: Date; createdAt: Date; updatedAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; email: string; emailVerified: boolean; name: string; createdAt: Date; updatedAt: Date; image?: string | null | undefined; }; }; }>)[]; requireHeaders: true; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "array"; items: { $ref: string; }; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/list-sessions"; }; revokeSession: { (inputCtx_0: { body: { token: string; }; } & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { status: boolean; }; } : { status: boolean; }>; options: { method: "POST"; body: zod.ZodObject<{ token: zod.ZodString; }, zod_v4_core.$strip>; use: ((inputContext: better_call.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; userId: string; expiresAt: Date; createdAt: Date; updatedAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; email: string; emailVerified: boolean; name: string; createdAt: Date; updatedAt: Date; image?: string | null | undefined; }; }; }>)[]; requireHeaders: true; metadata: { openapi: { description: string; requestBody: { content: { "application/json": { schema: { type: "object"; properties: { token: { type: string; description: string; }; }; required: string[]; }; }; }; }; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { status: { type: string; description: string; }; }; required: string[]; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/revoke-session"; }; revokeSessions: { (inputCtx_0: { body?: undefined; } & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { status: boolean; }; } : { status: boolean; }>; options: { method: "POST"; use: ((inputContext: better_call.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; userId: string; expiresAt: Date; createdAt: Date; updatedAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; email: string; emailVerified: boolean; name: string; createdAt: Date; updatedAt: Date; image?: string | null | undefined; }; }; }>)[]; requireHeaders: true; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { status: { type: string; description: string; }; }; required: string[]; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/revoke-sessions"; }; revokeOtherSessions: { (inputCtx_0: { body?: undefined; } & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { status: boolean; }; } : { status: boolean; }>; options: { method: "POST"; requireHeaders: true; use: ((inputContext: better_call.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; userId: string; expiresAt: Date; createdAt: Date; updatedAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; email: string; emailVerified: boolean; name: string; createdAt: Date; updatedAt: Date; image?: string | null | undefined; }; }; }>)[]; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { status: { type: string; description: string; }; }; required: string[]; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/revoke-other-sessions"; }; linkSocialAccount: { (inputCtx_0: { body: { provider: unknown; callbackURL?: string | undefined; idToken?: { token: string; nonce?: string | undefined; accessToken?: string | undefined; refreshToken?: string | undefined; scopes?: string[] | undefined; } | undefined; requestSignUp?: boolean | undefined; scopes?: string[] | undefined; errorCallbackURL?: string | undefined; }; } & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { url: string; redirect: boolean; }; } : { url: string; redirect: boolean; }>; options: { method: "POST"; requireHeaders: true; body: zod.ZodObject<{ callbackURL: zod.ZodOptional; provider: zod.ZodType<"github" | "apple" | "discord" | "facebook" | "microsoft" | "google" | "huggingface" | "slack" | "spotify" | "twitch" | "twitter" | "dropbox" | "kick" | "linear" | "linkedin" | "gitlab" | "tiktok" | "reddit" | "roblox" | "vk" | "zoom" | "notion" | (string & {}), unknown, zod_v4_core.$ZodTypeInternals<"github" | "apple" | "discord" | "facebook" | "microsoft" | "google" | "huggingface" | "slack" | "spotify" | "twitch" | "twitter" | "dropbox" | "kick" | "linear" | "linkedin" | "gitlab" | "tiktok" | "reddit" | "roblox" | "vk" | "zoom" | "notion" | (string & {}), unknown>>; idToken: zod.ZodOptional; accessToken: zod.ZodOptional; refreshToken: zod.ZodOptional; scopes: zod.ZodOptional>; }, zod_v4_core.$strip>>; requestSignUp: zod.ZodOptional; scopes: zod.ZodOptional>; errorCallbackURL: zod.ZodOptional; }, zod_v4_core.$strip>; use: ((inputContext: better_call.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; userId: string; expiresAt: Date; createdAt: Date; updatedAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; email: string; emailVerified: boolean; name: string; createdAt: Date; updatedAt: Date; image?: string | null | undefined; }; }; }>)[]; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { url: { type: string; description: string; }; redirect: { type: string; description: string; }; status: { type: string; }; }; required: string[]; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/link-social"; }; listUserAccounts: { (inputCtx_0?: ({ body?: undefined; } & { method?: "GET" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }) | undefined): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { id: string; provider: string; createdAt: Date; updatedAt: Date; accountId: string; scopes: string[]; }[]; } : { id: string; provider: string; createdAt: Date; updatedAt: Date; accountId: string; scopes: string[]; }[]>; options: { method: "GET"; use: ((inputContext: better_call.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; userId: string; expiresAt: Date; createdAt: Date; updatedAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; email: string; emailVerified: boolean; name: string; createdAt: Date; updatedAt: Date; image?: string | null | undefined; }; }; }>)[]; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "array"; items: { type: string; properties: { id: { type: string; }; provider: { type: string; }; createdAt: { type: string; format: string; }; updatedAt: { type: string; format: string; }; }; accountId: { type: string; }; scopes: { type: string; items: { type: string; }; }; }; required: string[]; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/list-accounts"; }; deleteUserCallback: { (inputCtx_0: { body?: undefined; } & { method?: "GET" | undefined; } & { query: { token: string; callbackURL?: string | undefined; }; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { success: boolean; message: string; }; } : { success: boolean; message: string; }>; options: { method: "GET"; query: zod.ZodObject<{ token: zod.ZodString; callbackURL: zod.ZodOptional; }, zod_v4_core.$strip>; use: ((inputContext: better_call.MiddlewareInputContext) => Promise)[]; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { success: { type: string; description: string; }; message: { type: string; enum: string[]; description: string; }; }; required: string[]; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/delete-user/callback"; }; unlinkAccount: { (inputCtx_0: { body: { providerId: string; accountId?: string | undefined; }; } & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { status: boolean; }; } : { status: boolean; }>; options: { method: "POST"; body: zod.ZodObject<{ providerId: zod.ZodString; accountId: zod.ZodOptional; }, zod_v4_core.$strip>; use: ((inputContext: better_call.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; userId: string; expiresAt: Date; createdAt: Date; updatedAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; email: string; emailVerified: boolean; name: string; createdAt: Date; updatedAt: Date; image?: string | null | undefined; }; }; }>)[]; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { status: { type: string; }; }; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/unlink-account"; }; refreshToken: { (inputCtx_0: { body: { providerId: string; accountId?: string | undefined; userId?: string | undefined; }; } & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: OAuth2Tokens; } : OAuth2Tokens>; options: { method: "POST"; body: zod.ZodObject<{ providerId: zod.ZodString; accountId: zod.ZodOptional; userId: zod.ZodOptional; }, zod_v4_core.$strip>; metadata: { openapi: { description: string; responses: { 200: { description: string; content: { "application/json": { schema: { type: "object"; properties: { tokenType: { type: string; }; idToken: { type: string; }; accessToken: { type: string; }; refreshToken: { type: string; }; accessTokenExpiresAt: { type: string; format: string; }; refreshTokenExpiresAt: { type: string; format: string; }; }; }; }; }; }; 400: { description: string; }; }; }; }; } & { use: any[]; }; path: "/refresh-token"; }; getAccessToken: { (inputCtx_0: { body: { providerId: string; accountId?: string | undefined; userId?: string | undefined; }; } & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { accessToken: string; accessTokenExpiresAt: Date | undefined; scopes: string[]; idToken: string | undefined; }; } : { accessToken: string; accessTokenExpiresAt: Date | undefined; scopes: string[]; idToken: string | undefined; }>; options: { method: "POST"; body: zod.ZodObject<{ providerId: zod.ZodString; accountId: zod.ZodOptional; userId: zod.ZodOptional; }, zod_v4_core.$strip>; metadata: { openapi: { description: string; responses: { 200: { description: string; content: { "application/json": { schema: { type: "object"; properties: { tokenType: { type: string; }; idToken: { type: string; }; accessToken: { type: string; }; refreshToken: { type: string; }; accessTokenExpiresAt: { type: string; format: string; }; refreshTokenExpiresAt: { type: string; format: string; }; }; }; }; }; }; 400: { description: string; }; }; }; }; } & { use: any[]; }; path: "/get-access-token"; }; accountInfo: { (inputCtx_0: { body: { accountId: string; }; } & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { user: { id: string; name?: string; email?: string | null; image?: string; emailVerified: boolean; }; data: Record; } | null; } : { user: { id: string; name?: string; email?: string | null; image?: string; emailVerified: boolean; }; data: Record; } | null>; options: { method: "POST"; use: ((inputContext: better_call.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; userId: string; expiresAt: Date; createdAt: Date; updatedAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; email: string; emailVerified: boolean; name: string; createdAt: Date; updatedAt: Date; image?: string | null | undefined; }; }; }>)[]; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { user: { type: string; properties: { id: { type: string; }; name: { type: string; }; email: { type: string; }; image: { type: string; }; emailVerified: { type: string; }; }; required: string[]; }; data: { type: string; properties: {}; additionalProperties: boolean; }; }; required: string[]; additionalProperties: boolean; }; }; }; }; }; }; }; body: zod.ZodObject<{ accountId: zod.ZodString; }, zod_v4_core.$strip>; } & { use: any[]; }; path: "/account-info"; }; }>, (C extends undefined ? {} : C) & { baseURL: string | undefined; fetchOptions: { customFetchImpl: (url: string | URL | Request, init?: RequestInit) => Promise; }; }>> extends { getSession: () => Promise; } ? Res extends { data: infer S; error: null; } | { data: null; error: { message?: string | undefined; status: number; statusText: string; }; } ? S : Res extends Record ? Res : never : never; error: _better_fetch_fetch.BetterFetchError | null; isPending: boolean; }>; $fetch: _better_fetch_fetch.BetterFetch<{ plugins: (_better_fetch_fetch.BetterFetchPlugin | { id: string; name: string; hooks: { onSuccess: ((context: SuccessContext) => Promise | void) | undefined; onError: ((context: _better_fetch_fetch.ErrorContext) => Promise | void) | undefined; onRequest: (>(context: _better_fetch_fetch.RequestContext) => Promise<_better_fetch_fetch.RequestContext | void> | _better_fetch_fetch.RequestContext | void) | undefined; onResponse: ((context: _better_fetch_fetch.ResponseContext) => Promise | Response | _better_fetch_fetch.ResponseContext | void) | undefined; }; } | { id: string; name: string; hooks: { onSuccess(context: SuccessContext): void; }; })[]; method: string; headers?: (HeadersInit & (HeadersInit | { accept: "application/json" | "text/plain" | "application/octet-stream"; "content-type": "application/json" | "text/plain" | "application/x-www-form-urlencoded" | "multipart/form-data" | "application/octet-stream"; authorization: "Bearer" | "Basic"; })) | undefined; redirect?: RequestRedirect | undefined; cache?: RequestCache | undefined; credentials?: RequestCredentials; integrity?: string | undefined; keepalive?: boolean | undefined; mode?: RequestMode | undefined; priority?: RequestPriority | undefined; referrer?: string | undefined; referrerPolicy?: ReferrerPolicy | undefined; signal?: (AbortSignal | null) | undefined; window?: null | undefined; onRetry?: ((response: _better_fetch_fetch.ResponseContext) => Promise | void) | undefined; hookOptions?: { cloneResponse?: boolean; } | undefined; timeout?: number | undefined; customFetchImpl: _better_fetch_fetch.FetchEsque; baseURL: string; throw?: boolean | undefined; auth?: ({ type: "Bearer"; token: string | Promise | (() => string | Promise | undefined) | undefined; } | { type: "Basic"; username: string | (() => string | undefined) | undefined; password: string | (() => string | undefined) | undefined; } | { type: "Custom"; prefix: string | (() => string | undefined) | undefined; value: string | (() => string | undefined) | undefined; }) | undefined; body?: any; query?: any; params?: any; duplex?: "full" | "half" | undefined; jsonParser: (text: string) => Promise | any; retry?: _better_fetch_fetch.RetryOptions | undefined; retryAttempt?: number | undefined; output?: (_better_fetch_fetch.StandardSchemaV1 | typeof Blob | typeof File) | undefined; errorSchema?: _better_fetch_fetch.StandardSchemaV1 | undefined; disableValidation?: boolean | undefined; }, unknown, unknown, {}>; $store: { notify: (signal?: Omit | "$sessionSignal") => void; listen: (signal: Omit | "$sessionSignal", listener: (value: boolean, oldValue?: boolean | undefined) => void) => void; atoms: Record>; }; $Infer: { Session: NonNullable Promise; }; })["plugins"] extends any[] ? FilterActions<{ ok: { (inputCtx_0?: ({ body?: undefined; } & { method?: "GET" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }) | undefined): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { ok: boolean; }; } : { ok: boolean; }>; options: { method: "GET"; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { ok: { type: string; description: string; }; }; required: string[]; }; }; }; }; }; }; isAction: false; }; } & { use: any[]; }; path: "/ok"; }; error: { (inputCtx_0?: ({ body?: undefined; } & { method?: "GET" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }) | undefined): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: Response; } : Response>; options: { method: "GET"; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "text/html": { schema: { type: "string"; description: string; }; }; }; }; }; }; isAction: false; }; } & { use: any[]; }; path: "/error"; }; signInSocial: { (inputCtx_0: { body: { provider: unknown; callbackURL?: string | undefined; newUserCallbackURL?: string | undefined; errorCallbackURL?: string | undefined; disableRedirect?: boolean | undefined; idToken?: { token: string; nonce?: string | undefined; accessToken?: string | undefined; refreshToken?: string | undefined; expiresAt?: number | undefined; } | undefined; scopes?: string[] | undefined; requestSignUp?: boolean | undefined; loginHint?: string | undefined; }; } & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { redirect: boolean; token: string; url: undefined; user: { id: string; email: string; name: string; image: string | null | undefined; emailVerified: boolean; createdAt: Date; updatedAt: Date; }; } | { url: string; redirect: boolean; }; } : { redirect: boolean; token: string; url: undefined; user: { id: string; email: string; name: string; image: string | null | undefined; emailVerified: boolean; createdAt: Date; updatedAt: Date; }; } | { url: string; redirect: boolean; }>; options: { method: "POST"; body: zod.ZodObject<{ callbackURL: zod.ZodOptional; newUserCallbackURL: zod.ZodOptional; errorCallbackURL: zod.ZodOptional; provider: zod.ZodType<"github" | "apple" | "discord" | "facebook" | "microsoft" | "google" | "huggingface" | "slack" | "spotify" | "twitch" | "twitter" | "dropbox" | "kick" | "linear" | "linkedin" | "gitlab" | "tiktok" | "reddit" | "roblox" | "vk" | "zoom" | "notion" | (string & {}), unknown, zod_v4_core.$ZodTypeInternals<"github" | "apple" | "discord" | "facebook" | "microsoft" | "google" | "huggingface" | "slack" | "spotify" | "twitch" | "twitter" | "dropbox" | "kick" | "linear" | "linkedin" | "gitlab" | "tiktok" | "reddit" | "roblox" | "vk" | "zoom" | "notion" | (string & {}), unknown>>; disableRedirect: zod.ZodOptional; idToken: zod.ZodOptional; accessToken: zod.ZodOptional; refreshToken: zod.ZodOptional; expiresAt: zod.ZodOptional; }, zod_v4_core.$strip>>; scopes: zod.ZodOptional>; requestSignUp: zod.ZodOptional; loginHint: zod.ZodOptional; }, zod_v4_core.$strip>; metadata: { openapi: { description: string; operationId: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; description: string; properties: { redirect: { type: string; enum: boolean[]; }; token: { type: string; description: string; url: { type: string; nullable: boolean; }; user: { type: string; properties: { id: { type: string; }; email: { type: string; }; name: { type: string; nullable: boolean; }; image: { type: string; nullable: boolean; }; emailVerified: { type: string; }; createdAt: { type: string; format: string; }; updatedAt: { type: string; format: string; }; }; required: string[]; }; }; }; required: string[]; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/sign-in/social"; }; callbackOAuth: { (inputCtx_0: { body?: { code?: string | undefined; error?: string | undefined; device_id?: string | undefined; error_description?: string | undefined; state?: string | undefined; user?: string | undefined; } | undefined; } & { method: "GET" | "POST"; } & { query?: { code?: string | undefined; error?: string | undefined; device_id?: string | undefined; error_description?: string | undefined; state?: string | undefined; user?: string | undefined; } | undefined; } & { params: { id: string; }; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: void; } : void>; options: { method: ("GET" | "POST")[]; body: zod.ZodOptional; error: zod.ZodOptional; device_id: zod.ZodOptional; error_description: zod.ZodOptional; state: zod.ZodOptional; user: zod.ZodOptional; }, zod_v4_core.$strip>>; query: zod.ZodOptional; error: zod.ZodOptional; device_id: zod.ZodOptional; error_description: zod.ZodOptional; state: zod.ZodOptional; user: zod.ZodOptional; }, zod_v4_core.$strip>>; metadata: { isAction: false; }; } & { use: any[]; }; path: "/callback/:id"; }; getSession: { (inputCtx_0: { body?: undefined; } & { method?: "GET" | undefined; } & { query?: { disableCookieCache?: unknown; disableRefresh?: unknown; } | undefined; } & { params?: Record; } & { request?: Request; } & { headers: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { session: { id: string; userId: string; expiresAt: Date; createdAt: Date; updatedAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: { id: string; email: string; emailVerified: boolean; name: string; createdAt: Date; updatedAt: Date; image?: string | null | undefined; }; } | null; } : { session: { id: string; userId: string; expiresAt: Date; createdAt: Date; updatedAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: { id: string; email: string; emailVerified: boolean; name: string; createdAt: Date; updatedAt: Date; image?: string | null | undefined; }; } | null>; options: { method: "GET"; query: zod.ZodOptional>; disableRefresh: zod.ZodOptional>; }, zod_v4_core.$strip>>; requireHeaders: true; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { session: { $ref: string; }; user: { $ref: string; }; }; required: string[]; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/get-session"; }; signOut: { (inputCtx_0: { body?: undefined; } & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { success: boolean; }; } : { success: boolean; }>; options: { method: "POST"; requireHeaders: true; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { success: { type: string; }; }; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/sign-out"; }; signUpEmail: { (inputCtx_0: { body: { name: string; email: string; password: string; image?: string; callbackURL?: string; rememberMe?: boolean; }; } & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { token: null; user: { id: string; email: string; name: string; image: string | null | undefined; emailVerified: boolean; createdAt: Date; updatedAt: Date; }; } | { token: string; user: { id: string; email: string; name: string; image: string | null | undefined; emailVerified: boolean; createdAt: Date; updatedAt: Date; }; }; } : { token: null; user: { id: string; email: string; name: string; image: string | null | undefined; emailVerified: boolean; createdAt: Date; updatedAt: Date; }; } | { token: string; user: { id: string; email: string; name: string; image: string | null | undefined; emailVerified: boolean; createdAt: Date; updatedAt: Date; }; }>; options: { method: "POST"; body: zod.ZodRecord; metadata: { $Infer: { body: { name: string; email: string; password: string; image?: string; callbackURL?: string; rememberMe?: boolean; }; }; openapi: { description: string; requestBody: { content: { "application/json": { schema: { type: "object"; properties: { name: { type: string; description: string; }; email: { type: string; description: string; }; password: { type: string; description: string; }; image: { type: string; description: string; }; callbackURL: { type: string; description: string; }; rememberMe: { type: string; description: string; }; }; required: string[]; }; }; }; }; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { token: { type: string; nullable: boolean; description: string; }; user: { type: string; properties: { id: { type: string; description: string; }; email: { type: string; format: string; description: string; }; name: { type: string; description: string; }; image: { type: string; format: string; nullable: boolean; description: string; }; emailVerified: { type: string; description: string; }; createdAt: { type: string; format: string; description: string; }; updatedAt: { type: string; format: string; description: string; }; }; required: string[]; }; }; required: string[]; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/sign-up/email"; }; signInEmail: { (inputCtx_0: { body: { email: string; password: string; callbackURL?: string | undefined; rememberMe?: boolean | undefined; }; } & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { redirect: boolean; token: string; url: string | undefined; user: { id: string; email: string; name: string; image: string | null | undefined; emailVerified: boolean; createdAt: Date; updatedAt: Date; }; }; } : { redirect: boolean; token: string; url: string | undefined; user: { id: string; email: string; name: string; image: string | null | undefined; emailVerified: boolean; createdAt: Date; updatedAt: Date; }; }>; options: { method: "POST"; body: zod.ZodObject<{ email: zod.ZodString; password: zod.ZodString; callbackURL: zod.ZodOptional; rememberMe: zod.ZodOptional>; }, zod_v4_core.$strip>; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; description: string; properties: { redirect: { type: string; enum: boolean[]; }; token: { type: string; description: string; }; url: { type: string; nullable: boolean; }; user: { type: string; properties: { id: { type: string; }; email: { type: string; }; name: { type: string; nullable: boolean; }; image: { type: string; nullable: boolean; }; emailVerified: { type: string; }; createdAt: { type: string; format: string; }; updatedAt: { type: string; format: string; }; }; required: string[]; }; }; required: string[]; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/sign-in/email"; }; forgetPassword: { (inputCtx_0: { body: { email: string; redirectTo?: string | undefined; }; } & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { status: boolean; }; } : { status: boolean; }>; options: { method: "POST"; body: zod.ZodObject<{ email: zod.ZodString; redirectTo: zod.ZodOptional; }, zod_v4_core.$strip>; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { status: { type: string; }; message: { type: string; }; }; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/forget-password"; }; resetPassword: { (inputCtx_0: { body: { newPassword: string; token?: string | undefined; }; } & { method?: "POST" | undefined; } & { query?: { token?: string | undefined; } | undefined; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { status: boolean; }; } : { status: boolean; }>; options: { method: "POST"; query: zod.ZodOptional; }, zod_v4_core.$strip>>; body: zod.ZodObject<{ newPassword: zod.ZodString; token: zod.ZodOptional; }, zod_v4_core.$strip>; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { status: { type: string; }; }; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/reset-password"; }; verifyEmail: { (inputCtx_0: { body?: undefined; } & { method?: "GET" | undefined; } & { query: { token: string; callbackURL?: string | undefined; }; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: void | { status: boolean; user: { id: any; email: any; name: any; image: any; emailVerified: any; createdAt: any; updatedAt: any; }; } | { status: boolean; user: null; }; } : void | { status: boolean; user: { id: any; email: any; name: any; image: any; emailVerified: any; createdAt: any; updatedAt: any; }; } | { status: boolean; user: null; }>; options: { method: "GET"; query: zod.ZodObject<{ token: zod.ZodString; callbackURL: zod.ZodOptional; }, zod_v4_core.$strip>; use: ((inputContext: better_call.MiddlewareInputContext) => Promise)[]; metadata: { openapi: { description: string; parameters: ({ name: string; in: "query"; description: string; required: true; schema: { type: "string"; }; } | { name: string; in: "query"; description: string; required: false; schema: { type: "string"; }; })[]; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { user: { type: string; properties: { id: { type: string; description: string; }; email: { type: string; description: string; }; name: { type: string; description: string; }; image: { type: string; description: string; }; emailVerified: { type: string; description: string; }; createdAt: { type: string; description: string; }; updatedAt: { type: string; description: string; }; }; required: string[]; }; status: { type: string; description: string; }; }; required: string[]; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/verify-email"; }; sendVerificationEmail: { (inputCtx_0: { body: { email: string; callbackURL?: string | undefined; }; } & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { status: boolean; }; } : { status: boolean; }>; options: { method: "POST"; body: zod.ZodObject<{ email: zod.ZodEmail; callbackURL: zod.ZodOptional; }, zod_v4_core.$strip>; metadata: { openapi: { description: string; requestBody: { content: { "application/json": { schema: { type: "object"; properties: { email: { type: string; description: string; example: string; }; callbackURL: { type: string; description: string; example: string; nullable: boolean; }; }; required: string[]; }; }; }; }; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { status: { type: string; description: string; example: boolean; }; }; }; }; }; }; "400": { description: string; content: { "application/json": { schema: { type: "object"; properties: { message: { type: string; description: string; example: string; }; }; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/send-verification-email"; }; changeEmail: { (inputCtx_0: { body: { newEmail: string; callbackURL?: string | undefined; }; } & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { status: boolean; }; } : { status: boolean; }>; options: { method: "POST"; body: zod.ZodObject<{ newEmail: zod.ZodEmail; callbackURL: zod.ZodOptional; }, zod_v4_core.$strip>; use: ((inputContext: better_call.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; userId: string; expiresAt: Date; createdAt: Date; updatedAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; email: string; emailVerified: boolean; name: string; createdAt: Date; updatedAt: Date; image?: string | null | undefined; }; }; }>)[]; metadata: { openapi: { responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { status: { type: string; description: string; }; message: { type: string; enum: string[]; description: string; nullable: boolean; }; }; required: string[]; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/change-email"; }; changePassword: { (inputCtx_0: { body: { newPassword: string; currentPassword: string; revokeOtherSessions?: boolean | undefined; }; } & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { token: string | null; user: { id: string; email: string; name: string; image: string | null | undefined; emailVerified: boolean; createdAt: Date; updatedAt: Date; }; }; } : { token: string | null; user: { id: string; email: string; name: string; image: string | null | undefined; emailVerified: boolean; createdAt: Date; updatedAt: Date; }; }>; options: { method: "POST"; body: zod.ZodObject<{ newPassword: zod.ZodString; currentPassword: zod.ZodString; revokeOtherSessions: zod.ZodOptional; }, zod_v4_core.$strip>; use: ((inputContext: better_call.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; userId: string; expiresAt: Date; createdAt: Date; updatedAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; email: string; emailVerified: boolean; name: string; createdAt: Date; updatedAt: Date; image?: string | null | undefined; }; }; }>)[]; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { token: { type: string; nullable: boolean; description: string; }; user: { type: string; properties: { id: { type: string; description: string; }; email: { type: string; format: string; description: string; }; name: { type: string; description: string; }; image: { type: string; format: string; nullable: boolean; description: string; }; emailVerified: { type: string; description: string; }; createdAt: { type: string; format: string; description: string; }; updatedAt: { type: string; format: string; description: string; }; }; required: string[]; }; }; required: string[]; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/change-password"; }; setPassword: { (inputCtx_0: { body: { newPassword: string; }; } & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { status: boolean; }; } : { status: boolean; }>; options: { method: "POST"; body: zod.ZodObject<{ newPassword: zod.ZodString; }, zod_v4_core.$strip>; metadata: { SERVER_ONLY: true; }; use: ((inputContext: better_call.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; userId: string; expiresAt: Date; createdAt: Date; updatedAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; email: string; emailVerified: boolean; name: string; createdAt: Date; updatedAt: Date; image?: string | null | undefined; }; }; }>)[]; } & { use: any[]; }; path: "/set-password"; }; updateUser: { (inputCtx_0: { body: Partial<{}> & { name?: string; image?: string; }; } & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { status: boolean; }; } : { status: boolean; }>; options: { method: "POST"; body: zod.ZodRecord; use: ((inputContext: better_call.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; userId: string; expiresAt: Date; createdAt: Date; updatedAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; email: string; emailVerified: boolean; name: string; createdAt: Date; updatedAt: Date; image?: string | null | undefined; }; }; }>)[]; metadata: { $Infer: { body: Partial<{}> & { name?: string; image?: string; }; }; openapi: { description: string; requestBody: { content: { "application/json": { schema: { type: "object"; properties: { name: { type: string; description: string; }; image: { type: string; description: string; }; }; }; }; }; }; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { status: { type: string; description: string; }; }; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/update-user"; }; deleteUser: { (inputCtx_0: { body: { callbackURL?: string | undefined; password?: string | undefined; token?: string | undefined; }; } & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { success: boolean; message: string; }; } : { success: boolean; message: string; }>; options: { method: "POST"; use: ((inputContext: better_call.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; userId: string; expiresAt: Date; createdAt: Date; updatedAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; email: string; emailVerified: boolean; name: string; createdAt: Date; updatedAt: Date; image?: string | null | undefined; }; }; }>)[]; body: zod.ZodObject<{ callbackURL: zod.ZodOptional; password: zod.ZodOptional; token: zod.ZodOptional; }, zod_v4_core.$strip>; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { success: { type: string; description: string; }; message: { type: string; enum: string[]; description: string; }; }; required: string[]; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/delete-user"; }; forgetPasswordCallback: { (inputCtx_0: { body?: undefined; } & { method?: "GET" | undefined; } & { query: { callbackURL: string; }; } & { params: { token: string; }; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: never; } : never>; options: { method: "GET"; query: zod.ZodObject<{ callbackURL: zod.ZodString; }, zod_v4_core.$strip>; use: ((inputContext: better_call.MiddlewareInputContext) => Promise)[]; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { token: { type: string; }; }; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/reset-password/:token"; }; requestPasswordReset: { (inputCtx_0: { body: { email: string; redirectTo?: string | undefined; }; } & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { status: boolean; }; } : { status: boolean; }>; options: { method: "POST"; body: zod.ZodObject<{ email: zod.ZodEmail; redirectTo: zod.ZodOptional; }, zod_v4_core.$strip>; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { status: { type: string; }; message: { type: string; }; }; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/request-password-reset"; }; requestPasswordResetCallback: { (inputCtx_0: { body?: undefined; } & { method?: "GET" | undefined; } & { query: { callbackURL: string; }; } & { params: { token: string; }; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: never; } : never>; options: { method: "GET"; query: zod.ZodObject<{ callbackURL: zod.ZodString; }, zod_v4_core.$strip>; use: ((inputContext: better_call.MiddlewareInputContext) => Promise)[]; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { token: { type: string; }; }; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/reset-password/:token"; }; listSessions: { (inputCtx_0: { body?: undefined; } & { method?: "GET" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: Prettify<{ id: string; userId: string; expiresAt: Date; createdAt: Date; updatedAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }>[]; } : Prettify<{ id: string; userId: string; expiresAt: Date; createdAt: Date; updatedAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }>[]>; options: { method: "GET"; use: ((inputContext: better_call.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; userId: string; expiresAt: Date; createdAt: Date; updatedAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; email: string; emailVerified: boolean; name: string; createdAt: Date; updatedAt: Date; image?: string | null | undefined; }; }; }>)[]; requireHeaders: true; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "array"; items: { $ref: string; }; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/list-sessions"; }; revokeSession: { (inputCtx_0: { body: { token: string; }; } & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { status: boolean; }; } : { status: boolean; }>; options: { method: "POST"; body: zod.ZodObject<{ token: zod.ZodString; }, zod_v4_core.$strip>; use: ((inputContext: better_call.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; userId: string; expiresAt: Date; createdAt: Date; updatedAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; email: string; emailVerified: boolean; name: string; createdAt: Date; updatedAt: Date; image?: string | null | undefined; }; }; }>)[]; requireHeaders: true; metadata: { openapi: { description: string; requestBody: { content: { "application/json": { schema: { type: "object"; properties: { token: { type: string; description: string; }; }; required: string[]; }; }; }; }; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { status: { type: string; description: string; }; }; required: string[]; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/revoke-session"; }; revokeSessions: { (inputCtx_0: { body?: undefined; } & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { status: boolean; }; } : { status: boolean; }>; options: { method: "POST"; use: ((inputContext: better_call.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; userId: string; expiresAt: Date; createdAt: Date; updatedAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; email: string; emailVerified: boolean; name: string; createdAt: Date; updatedAt: Date; image?: string | null | undefined; }; }; }>)[]; requireHeaders: true; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { status: { type: string; description: string; }; }; required: string[]; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/revoke-sessions"; }; revokeOtherSessions: { (inputCtx_0: { body?: undefined; } & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { status: boolean; }; } : { status: boolean; }>; options: { method: "POST"; requireHeaders: true; use: ((inputContext: better_call.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; userId: string; expiresAt: Date; createdAt: Date; updatedAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; email: string; emailVerified: boolean; name: string; createdAt: Date; updatedAt: Date; image?: string | null | undefined; }; }; }>)[]; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { status: { type: string; description: string; }; }; required: string[]; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/revoke-other-sessions"; }; linkSocialAccount: { (inputCtx_0: { body: { provider: unknown; callbackURL?: string | undefined; idToken?: { token: string; nonce?: string | undefined; accessToken?: string | undefined; refreshToken?: string | undefined; scopes?: string[] | undefined; } | undefined; requestSignUp?: boolean | undefined; scopes?: string[] | undefined; errorCallbackURL?: string | undefined; }; } & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { url: string; redirect: boolean; }; } : { url: string; redirect: boolean; }>; options: { method: "POST"; requireHeaders: true; body: zod.ZodObject<{ callbackURL: zod.ZodOptional; provider: zod.ZodType<"github" | "apple" | "discord" | "facebook" | "microsoft" | "google" | "huggingface" | "slack" | "spotify" | "twitch" | "twitter" | "dropbox" | "kick" | "linear" | "linkedin" | "gitlab" | "tiktok" | "reddit" | "roblox" | "vk" | "zoom" | "notion" | (string & {}), unknown, zod_v4_core.$ZodTypeInternals<"github" | "apple" | "discord" | "facebook" | "microsoft" | "google" | "huggingface" | "slack" | "spotify" | "twitch" | "twitter" | "dropbox" | "kick" | "linear" | "linkedin" | "gitlab" | "tiktok" | "reddit" | "roblox" | "vk" | "zoom" | "notion" | (string & {}), unknown>>; idToken: zod.ZodOptional; accessToken: zod.ZodOptional; refreshToken: zod.ZodOptional; scopes: zod.ZodOptional>; }, zod_v4_core.$strip>>; requestSignUp: zod.ZodOptional; scopes: zod.ZodOptional>; errorCallbackURL: zod.ZodOptional; }, zod_v4_core.$strip>; use: ((inputContext: better_call.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; userId: string; expiresAt: Date; createdAt: Date; updatedAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; email: string; emailVerified: boolean; name: string; createdAt: Date; updatedAt: Date; image?: string | null | undefined; }; }; }>)[]; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { url: { type: string; description: string; }; redirect: { type: string; description: string; }; status: { type: string; }; }; required: string[]; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/link-social"; }; listUserAccounts: { (inputCtx_0?: ({ body?: undefined; } & { method?: "GET" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }) | undefined): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { id: string; provider: string; createdAt: Date; updatedAt: Date; accountId: string; scopes: string[]; }[]; } : { id: string; provider: string; createdAt: Date; updatedAt: Date; accountId: string; scopes: string[]; }[]>; options: { method: "GET"; use: ((inputContext: better_call.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; userId: string; expiresAt: Date; createdAt: Date; updatedAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; email: string; emailVerified: boolean; name: string; createdAt: Date; updatedAt: Date; image?: string | null | undefined; }; }; }>)[]; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "array"; items: { type: string; properties: { id: { type: string; }; provider: { type: string; }; createdAt: { type: string; format: string; }; updatedAt: { type: string; format: string; }; }; accountId: { type: string; }; scopes: { type: string; items: { type: string; }; }; }; required: string[]; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/list-accounts"; }; deleteUserCallback: { (inputCtx_0: { body?: undefined; } & { method?: "GET" | undefined; } & { query: { token: string; callbackURL?: string | undefined; }; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { success: boolean; message: string; }; } : { success: boolean; message: string; }>; options: { method: "GET"; query: zod.ZodObject<{ token: zod.ZodString; callbackURL: zod.ZodOptional; }, zod_v4_core.$strip>; use: ((inputContext: better_call.MiddlewareInputContext) => Promise)[]; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { success: { type: string; description: string; }; message: { type: string; enum: string[]; description: string; }; }; required: string[]; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/delete-user/callback"; }; unlinkAccount: { (inputCtx_0: { body: { providerId: string; accountId?: string | undefined; }; } & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { status: boolean; }; } : { status: boolean; }>; options: { method: "POST"; body: zod.ZodObject<{ providerId: zod.ZodString; accountId: zod.ZodOptional; }, zod_v4_core.$strip>; use: ((inputContext: better_call.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; userId: string; expiresAt: Date; createdAt: Date; updatedAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; email: string; emailVerified: boolean; name: string; createdAt: Date; updatedAt: Date; image?: string | null | undefined; }; }; }>)[]; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { status: { type: string; }; }; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/unlink-account"; }; refreshToken: { (inputCtx_0: { body: { providerId: string; accountId?: string | undefined; userId?: string | undefined; }; } & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: OAuth2Tokens; } : OAuth2Tokens>; options: { method: "POST"; body: zod.ZodObject<{ providerId: zod.ZodString; accountId: zod.ZodOptional; userId: zod.ZodOptional; }, zod_v4_core.$strip>; metadata: { openapi: { description: string; responses: { 200: { description: string; content: { "application/json": { schema: { type: "object"; properties: { tokenType: { type: string; }; idToken: { type: string; }; accessToken: { type: string; }; refreshToken: { type: string; }; accessTokenExpiresAt: { type: string; format: string; }; refreshTokenExpiresAt: { type: string; format: string; }; }; }; }; }; }; 400: { description: string; }; }; }; }; } & { use: any[]; }; path: "/refresh-token"; }; getAccessToken: { (inputCtx_0: { body: { providerId: string; accountId?: string | undefined; userId?: string | undefined; }; } & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { accessToken: string; accessTokenExpiresAt: Date | undefined; scopes: string[]; idToken: string | undefined; }; } : { accessToken: string; accessTokenExpiresAt: Date | undefined; scopes: string[]; idToken: string | undefined; }>; options: { method: "POST"; body: zod.ZodObject<{ providerId: zod.ZodString; accountId: zod.ZodOptional; userId: zod.ZodOptional; }, zod_v4_core.$strip>; metadata: { openapi: { description: string; responses: { 200: { description: string; content: { "application/json": { schema: { type: "object"; properties: { tokenType: { type: string; }; idToken: { type: string; }; accessToken: { type: string; }; refreshToken: { type: string; }; accessTokenExpiresAt: { type: string; format: string; }; refreshTokenExpiresAt: { type: string; format: string; }; }; }; }; }; }; 400: { description: string; }; }; }; }; } & { use: any[]; }; path: "/get-access-token"; }; accountInfo: { (inputCtx_0: { body: { accountId: string; }; } & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { user: { id: string; name?: string; email?: string | null; image?: string; emailVerified: boolean; }; data: Record; } | null; } : { user: { id: string; name?: string; email?: string | null; image?: string; emailVerified: boolean; }; data: Record; } | null>; options: { method: "POST"; use: ((inputContext: better_call.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; userId: string; expiresAt: Date; createdAt: Date; updatedAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; email: string; emailVerified: boolean; name: string; createdAt: Date; updatedAt: Date; image?: string | null | undefined; }; }; }>)[]; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { user: { type: string; properties: { id: { type: string; }; name: { type: string; }; email: { type: string; }; image: { type: string; }; emailVerified: { type: string; }; }; required: string[]; }; data: { type: string; properties: {}; additionalProperties: boolean; }; }; required: string[]; additionalProperties: boolean; }; }; }; }; }; }; }; body: zod.ZodObject<{ accountId: zod.ZodString; }, zod_v4_core.$strip>; } & { use: any[]; }; path: "/account-info"; }; }> & (((C extends undefined ? {} : C) & { baseURL: string | undefined; fetchOptions: { customFetchImpl: (url: string | URL | Request, init?: RequestInit) => Promise; }; })["plugins"] extends (infer Pl)[] ? UnionToIntersection : {}) : FilterActions<{ ok: { (inputCtx_0?: ({ body?: undefined; } & { method?: "GET" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }) | undefined): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { ok: boolean; }; } : { ok: boolean; }>; options: { method: "GET"; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { ok: { type: string; description: string; }; }; required: string[]; }; }; }; }; }; }; isAction: false; }; } & { use: any[]; }; path: "/ok"; }; error: { (inputCtx_0?: ({ body?: undefined; } & { method?: "GET" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }) | undefined): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: Response; } : Response>; options: { method: "GET"; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "text/html": { schema: { type: "string"; description: string; }; }; }; }; }; }; isAction: false; }; } & { use: any[]; }; path: "/error"; }; signInSocial: { (inputCtx_0: { body: { provider: unknown; callbackURL?: string | undefined; newUserCallbackURL?: string | undefined; errorCallbackURL?: string | undefined; disableRedirect?: boolean | undefined; idToken?: { token: string; nonce?: string | undefined; accessToken?: string | undefined; refreshToken?: string | undefined; expiresAt?: number | undefined; } | undefined; scopes?: string[] | undefined; requestSignUp?: boolean | undefined; loginHint?: string | undefined; }; } & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { redirect: boolean; token: string; url: undefined; user: { id: string; email: string; name: string; image: string | null | undefined; emailVerified: boolean; createdAt: Date; updatedAt: Date; }; } | { url: string; redirect: boolean; }; } : { redirect: boolean; token: string; url: undefined; user: { id: string; email: string; name: string; image: string | null | undefined; emailVerified: boolean; createdAt: Date; updatedAt: Date; }; } | { url: string; redirect: boolean; }>; options: { method: "POST"; body: zod.ZodObject<{ callbackURL: zod.ZodOptional; newUserCallbackURL: zod.ZodOptional; errorCallbackURL: zod.ZodOptional; provider: zod.ZodType<"github" | "apple" | "discord" | "facebook" | "microsoft" | "google" | "huggingface" | "slack" | "spotify" | "twitch" | "twitter" | "dropbox" | "kick" | "linear" | "linkedin" | "gitlab" | "tiktok" | "reddit" | "roblox" | "vk" | "zoom" | "notion" | (string & {}), unknown, zod_v4_core.$ZodTypeInternals<"github" | "apple" | "discord" | "facebook" | "microsoft" | "google" | "huggingface" | "slack" | "spotify" | "twitch" | "twitter" | "dropbox" | "kick" | "linear" | "linkedin" | "gitlab" | "tiktok" | "reddit" | "roblox" | "vk" | "zoom" | "notion" | (string & {}), unknown>>; disableRedirect: zod.ZodOptional; idToken: zod.ZodOptional; accessToken: zod.ZodOptional; refreshToken: zod.ZodOptional; expiresAt: zod.ZodOptional; }, zod_v4_core.$strip>>; scopes: zod.ZodOptional>; requestSignUp: zod.ZodOptional; loginHint: zod.ZodOptional; }, zod_v4_core.$strip>; metadata: { openapi: { description: string; operationId: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; description: string; properties: { redirect: { type: string; enum: boolean[]; }; token: { type: string; description: string; url: { type: string; nullable: boolean; }; user: { type: string; properties: { id: { type: string; }; email: { type: string; }; name: { type: string; nullable: boolean; }; image: { type: string; nullable: boolean; }; emailVerified: { type: string; }; createdAt: { type: string; format: string; }; updatedAt: { type: string; format: string; }; }; required: string[]; }; }; }; required: string[]; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/sign-in/social"; }; callbackOAuth: { (inputCtx_0: { body?: { code?: string | undefined; error?: string | undefined; device_id?: string | undefined; error_description?: string | undefined; state?: string | undefined; user?: string | undefined; } | undefined; } & { method: "GET" | "POST"; } & { query?: { code?: string | undefined; error?: string | undefined; device_id?: string | undefined; error_description?: string | undefined; state?: string | undefined; user?: string | undefined; } | undefined; } & { params: { id: string; }; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: void; } : void>; options: { method: ("GET" | "POST")[]; body: zod.ZodOptional; error: zod.ZodOptional; device_id: zod.ZodOptional; error_description: zod.ZodOptional; state: zod.ZodOptional; user: zod.ZodOptional; }, zod_v4_core.$strip>>; query: zod.ZodOptional; error: zod.ZodOptional; device_id: zod.ZodOptional; error_description: zod.ZodOptional; state: zod.ZodOptional; user: zod.ZodOptional; }, zod_v4_core.$strip>>; metadata: { isAction: false; }; } & { use: any[]; }; path: "/callback/:id"; }; getSession: { (inputCtx_0: { body?: undefined; } & { method?: "GET" | undefined; } & { query?: { disableCookieCache?: unknown; disableRefresh?: unknown; } | undefined; } & { params?: Record; } & { request?: Request; } & { headers: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { session: { id: string; userId: string; expiresAt: Date; createdAt: Date; updatedAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: { id: string; email: string; emailVerified: boolean; name: string; createdAt: Date; updatedAt: Date; image?: string | null | undefined; }; } | null; } : { session: { id: string; userId: string; expiresAt: Date; createdAt: Date; updatedAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: { id: string; email: string; emailVerified: boolean; name: string; createdAt: Date; updatedAt: Date; image?: string | null | undefined; }; } | null>; options: { method: "GET"; query: zod.ZodOptional>; disableRefresh: zod.ZodOptional>; }, zod_v4_core.$strip>>; requireHeaders: true; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { session: { $ref: string; }; user: { $ref: string; }; }; required: string[]; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/get-session"; }; signOut: { (inputCtx_0: { body?: undefined; } & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { success: boolean; }; } : { success: boolean; }>; options: { method: "POST"; requireHeaders: true; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { success: { type: string; }; }; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/sign-out"; }; signUpEmail: { (inputCtx_0: { body: { name: string; email: string; password: string; image?: string; callbackURL?: string; rememberMe?: boolean; }; } & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { token: null; user: { id: string; email: string; name: string; image: string | null | undefined; emailVerified: boolean; createdAt: Date; updatedAt: Date; }; } | { token: string; user: { id: string; email: string; name: string; image: string | null | undefined; emailVerified: boolean; createdAt: Date; updatedAt: Date; }; }; } : { token: null; user: { id: string; email: string; name: string; image: string | null | undefined; emailVerified: boolean; createdAt: Date; updatedAt: Date; }; } | { token: string; user: { id: string; email: string; name: string; image: string | null | undefined; emailVerified: boolean; createdAt: Date; updatedAt: Date; }; }>; options: { method: "POST"; body: zod.ZodRecord; metadata: { $Infer: { body: { name: string; email: string; password: string; image?: string; callbackURL?: string; rememberMe?: boolean; }; }; openapi: { description: string; requestBody: { content: { "application/json": { schema: { type: "object"; properties: { name: { type: string; description: string; }; email: { type: string; description: string; }; password: { type: string; description: string; }; image: { type: string; description: string; }; callbackURL: { type: string; description: string; }; rememberMe: { type: string; description: string; }; }; required: string[]; }; }; }; }; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { token: { type: string; nullable: boolean; description: string; }; user: { type: string; properties: { id: { type: string; description: string; }; email: { type: string; format: string; description: string; }; name: { type: string; description: string; }; image: { type: string; format: string; nullable: boolean; description: string; }; emailVerified: { type: string; description: string; }; createdAt: { type: string; format: string; description: string; }; updatedAt: { type: string; format: string; description: string; }; }; required: string[]; }; }; required: string[]; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/sign-up/email"; }; signInEmail: { (inputCtx_0: { body: { email: string; password: string; callbackURL?: string | undefined; rememberMe?: boolean | undefined; }; } & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { redirect: boolean; token: string; url: string | undefined; user: { id: string; email: string; name: string; image: string | null | undefined; emailVerified: boolean; createdAt: Date; updatedAt: Date; }; }; } : { redirect: boolean; token: string; url: string | undefined; user: { id: string; email: string; name: string; image: string | null | undefined; emailVerified: boolean; createdAt: Date; updatedAt: Date; }; }>; options: { method: "POST"; body: zod.ZodObject<{ email: zod.ZodString; password: zod.ZodString; callbackURL: zod.ZodOptional; rememberMe: zod.ZodOptional>; }, zod_v4_core.$strip>; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; description: string; properties: { redirect: { type: string; enum: boolean[]; }; token: { type: string; description: string; }; url: { type: string; nullable: boolean; }; user: { type: string; properties: { id: { type: string; }; email: { type: string; }; name: { type: string; nullable: boolean; }; image: { type: string; nullable: boolean; }; emailVerified: { type: string; }; createdAt: { type: string; format: string; }; updatedAt: { type: string; format: string; }; }; required: string[]; }; }; required: string[]; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/sign-in/email"; }; forgetPassword: { (inputCtx_0: { body: { email: string; redirectTo?: string | undefined; }; } & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { status: boolean; }; } : { status: boolean; }>; options: { method: "POST"; body: zod.ZodObject<{ email: zod.ZodString; redirectTo: zod.ZodOptional; }, zod_v4_core.$strip>; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { status: { type: string; }; message: { type: string; }; }; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/forget-password"; }; resetPassword: { (inputCtx_0: { body: { newPassword: string; token?: string | undefined; }; } & { method?: "POST" | undefined; } & { query?: { token?: string | undefined; } | undefined; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { status: boolean; }; } : { status: boolean; }>; options: { method: "POST"; query: zod.ZodOptional; }, zod_v4_core.$strip>>; body: zod.ZodObject<{ newPassword: zod.ZodString; token: zod.ZodOptional; }, zod_v4_core.$strip>; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { status: { type: string; }; }; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/reset-password"; }; verifyEmail: { (inputCtx_0: { body?: undefined; } & { method?: "GET" | undefined; } & { query: { token: string; callbackURL?: string | undefined; }; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: void | { status: boolean; user: { id: any; email: any; name: any; image: any; emailVerified: any; createdAt: any; updatedAt: any; }; } | { status: boolean; user: null; }; } : void | { status: boolean; user: { id: any; email: any; name: any; image: any; emailVerified: any; createdAt: any; updatedAt: any; }; } | { status: boolean; user: null; }>; options: { method: "GET"; query: zod.ZodObject<{ token: zod.ZodString; callbackURL: zod.ZodOptional; }, zod_v4_core.$strip>; use: ((inputContext: better_call.MiddlewareInputContext) => Promise)[]; metadata: { openapi: { description: string; parameters: ({ name: string; in: "query"; description: string; required: true; schema: { type: "string"; }; } | { name: string; in: "query"; description: string; required: false; schema: { type: "string"; }; })[]; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { user: { type: string; properties: { id: { type: string; description: string; }; email: { type: string; description: string; }; name: { type: string; description: string; }; image: { type: string; description: string; }; emailVerified: { type: string; description: string; }; createdAt: { type: string; description: string; }; updatedAt: { type: string; description: string; }; }; required: string[]; }; status: { type: string; description: string; }; }; required: string[]; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/verify-email"; }; sendVerificationEmail: { (inputCtx_0: { body: { email: string; callbackURL?: string | undefined; }; } & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { status: boolean; }; } : { status: boolean; }>; options: { method: "POST"; body: zod.ZodObject<{ email: zod.ZodEmail; callbackURL: zod.ZodOptional; }, zod_v4_core.$strip>; metadata: { openapi: { description: string; requestBody: { content: { "application/json": { schema: { type: "object"; properties: { email: { type: string; description: string; example: string; }; callbackURL: { type: string; description: string; example: string; nullable: boolean; }; }; required: string[]; }; }; }; }; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { status: { type: string; description: string; example: boolean; }; }; }; }; }; }; "400": { description: string; content: { "application/json": { schema: { type: "object"; properties: { message: { type: string; description: string; example: string; }; }; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/send-verification-email"; }; changeEmail: { (inputCtx_0: { body: { newEmail: string; callbackURL?: string | undefined; }; } & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { status: boolean; }; } : { status: boolean; }>; options: { method: "POST"; body: zod.ZodObject<{ newEmail: zod.ZodEmail; callbackURL: zod.ZodOptional; }, zod_v4_core.$strip>; use: ((inputContext: better_call.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; userId: string; expiresAt: Date; createdAt: Date; updatedAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; email: string; emailVerified: boolean; name: string; createdAt: Date; updatedAt: Date; image?: string | null | undefined; }; }; }>)[]; metadata: { openapi: { responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { status: { type: string; description: string; }; message: { type: string; enum: string[]; description: string; nullable: boolean; }; }; required: string[]; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/change-email"; }; changePassword: { (inputCtx_0: { body: { newPassword: string; currentPassword: string; revokeOtherSessions?: boolean | undefined; }; } & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { token: string | null; user: { id: string; email: string; name: string; image: string | null | undefined; emailVerified: boolean; createdAt: Date; updatedAt: Date; }; }; } : { token: string | null; user: { id: string; email: string; name: string; image: string | null | undefined; emailVerified: boolean; createdAt: Date; updatedAt: Date; }; }>; options: { method: "POST"; body: zod.ZodObject<{ newPassword: zod.ZodString; currentPassword: zod.ZodString; revokeOtherSessions: zod.ZodOptional; }, zod_v4_core.$strip>; use: ((inputContext: better_call.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; userId: string; expiresAt: Date; createdAt: Date; updatedAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; email: string; emailVerified: boolean; name: string; createdAt: Date; updatedAt: Date; image?: string | null | undefined; }; }; }>)[]; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { token: { type: string; nullable: boolean; description: string; }; user: { type: string; properties: { id: { type: string; description: string; }; email: { type: string; format: string; description: string; }; name: { type: string; description: string; }; image: { type: string; format: string; nullable: boolean; description: string; }; emailVerified: { type: string; description: string; }; createdAt: { type: string; format: string; description: string; }; updatedAt: { type: string; format: string; description: string; }; }; required: string[]; }; }; required: string[]; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/change-password"; }; setPassword: { (inputCtx_0: { body: { newPassword: string; }; } & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { status: boolean; }; } : { status: boolean; }>; options: { method: "POST"; body: zod.ZodObject<{ newPassword: zod.ZodString; }, zod_v4_core.$strip>; metadata: { SERVER_ONLY: true; }; use: ((inputContext: better_call.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; userId: string; expiresAt: Date; createdAt: Date; updatedAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; email: string; emailVerified: boolean; name: string; createdAt: Date; updatedAt: Date; image?: string | null | undefined; }; }; }>)[]; } & { use: any[]; }; path: "/set-password"; }; updateUser: { (inputCtx_0: { body: Partial<{}> & { name?: string; image?: string; }; } & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { status: boolean; }; } : { status: boolean; }>; options: { method: "POST"; body: zod.ZodRecord; use: ((inputContext: better_call.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; userId: string; expiresAt: Date; createdAt: Date; updatedAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; email: string; emailVerified: boolean; name: string; createdAt: Date; updatedAt: Date; image?: string | null | undefined; }; }; }>)[]; metadata: { $Infer: { body: Partial<{}> & { name?: string; image?: string; }; }; openapi: { description: string; requestBody: { content: { "application/json": { schema: { type: "object"; properties: { name: { type: string; description: string; }; image: { type: string; description: string; }; }; }; }; }; }; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { status: { type: string; description: string; }; }; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/update-user"; }; deleteUser: { (inputCtx_0: { body: { callbackURL?: string | undefined; password?: string | undefined; token?: string | undefined; }; } & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { success: boolean; message: string; }; } : { success: boolean; message: string; }>; options: { method: "POST"; use: ((inputContext: better_call.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; userId: string; expiresAt: Date; createdAt: Date; updatedAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; email: string; emailVerified: boolean; name: string; createdAt: Date; updatedAt: Date; image?: string | null | undefined; }; }; }>)[]; body: zod.ZodObject<{ callbackURL: zod.ZodOptional; password: zod.ZodOptional; token: zod.ZodOptional; }, zod_v4_core.$strip>; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { success: { type: string; description: string; }; message: { type: string; enum: string[]; description: string; }; }; required: string[]; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/delete-user"; }; forgetPasswordCallback: { (inputCtx_0: { body?: undefined; } & { method?: "GET" | undefined; } & { query: { callbackURL: string; }; } & { params: { token: string; }; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: never; } : never>; options: { method: "GET"; query: zod.ZodObject<{ callbackURL: zod.ZodString; }, zod_v4_core.$strip>; use: ((inputContext: better_call.MiddlewareInputContext) => Promise)[]; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { token: { type: string; }; }; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/reset-password/:token"; }; requestPasswordReset: { (inputCtx_0: { body: { email: string; redirectTo?: string | undefined; }; } & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { status: boolean; }; } : { status: boolean; }>; options: { method: "POST"; body: zod.ZodObject<{ email: zod.ZodEmail; redirectTo: zod.ZodOptional; }, zod_v4_core.$strip>; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { status: { type: string; }; message: { type: string; }; }; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/request-password-reset"; }; requestPasswordResetCallback: { (inputCtx_0: { body?: undefined; } & { method?: "GET" | undefined; } & { query: { callbackURL: string; }; } & { params: { token: string; }; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: never; } : never>; options: { method: "GET"; query: zod.ZodObject<{ callbackURL: zod.ZodString; }, zod_v4_core.$strip>; use: ((inputContext: better_call.MiddlewareInputContext) => Promise)[]; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { token: { type: string; }; }; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/reset-password/:token"; }; listSessions: { (inputCtx_0: { body?: undefined; } & { method?: "GET" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: Prettify<{ id: string; userId: string; expiresAt: Date; createdAt: Date; updatedAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }>[]; } : Prettify<{ id: string; userId: string; expiresAt: Date; createdAt: Date; updatedAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }>[]>; options: { method: "GET"; use: ((inputContext: better_call.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; userId: string; expiresAt: Date; createdAt: Date; updatedAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; email: string; emailVerified: boolean; name: string; createdAt: Date; updatedAt: Date; image?: string | null | undefined; }; }; }>)[]; requireHeaders: true; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "array"; items: { $ref: string; }; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/list-sessions"; }; revokeSession: { (inputCtx_0: { body: { token: string; }; } & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { status: boolean; }; } : { status: boolean; }>; options: { method: "POST"; body: zod.ZodObject<{ token: zod.ZodString; }, zod_v4_core.$strip>; use: ((inputContext: better_call.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; userId: string; expiresAt: Date; createdAt: Date; updatedAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; email: string; emailVerified: boolean; name: string; createdAt: Date; updatedAt: Date; image?: string | null | undefined; }; }; }>)[]; requireHeaders: true; metadata: { openapi: { description: string; requestBody: { content: { "application/json": { schema: { type: "object"; properties: { token: { type: string; description: string; }; }; required: string[]; }; }; }; }; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { status: { type: string; description: string; }; }; required: string[]; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/revoke-session"; }; revokeSessions: { (inputCtx_0: { body?: undefined; } & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { status: boolean; }; } : { status: boolean; }>; options: { method: "POST"; use: ((inputContext: better_call.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; userId: string; expiresAt: Date; createdAt: Date; updatedAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; email: string; emailVerified: boolean; name: string; createdAt: Date; updatedAt: Date; image?: string | null | undefined; }; }; }>)[]; requireHeaders: true; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { status: { type: string; description: string; }; }; required: string[]; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/revoke-sessions"; }; revokeOtherSessions: { (inputCtx_0: { body?: undefined; } & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { status: boolean; }; } : { status: boolean; }>; options: { method: "POST"; requireHeaders: true; use: ((inputContext: better_call.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; userId: string; expiresAt: Date; createdAt: Date; updatedAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; email: string; emailVerified: boolean; name: string; createdAt: Date; updatedAt: Date; image?: string | null | undefined; }; }; }>)[]; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { status: { type: string; description: string; }; }; required: string[]; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/revoke-other-sessions"; }; linkSocialAccount: { (inputCtx_0: { body: { provider: unknown; callbackURL?: string | undefined; idToken?: { token: string; nonce?: string | undefined; accessToken?: string | undefined; refreshToken?: string | undefined; scopes?: string[] | undefined; } | undefined; requestSignUp?: boolean | undefined; scopes?: string[] | undefined; errorCallbackURL?: string | undefined; }; } & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { url: string; redirect: boolean; }; } : { url: string; redirect: boolean; }>; options: { method: "POST"; requireHeaders: true; body: zod.ZodObject<{ callbackURL: zod.ZodOptional; provider: zod.ZodType<"github" | "apple" | "discord" | "facebook" | "microsoft" | "google" | "huggingface" | "slack" | "spotify" | "twitch" | "twitter" | "dropbox" | "kick" | "linear" | "linkedin" | "gitlab" | "tiktok" | "reddit" | "roblox" | "vk" | "zoom" | "notion" | (string & {}), unknown, zod_v4_core.$ZodTypeInternals<"github" | "apple" | "discord" | "facebook" | "microsoft" | "google" | "huggingface" | "slack" | "spotify" | "twitch" | "twitter" | "dropbox" | "kick" | "linear" | "linkedin" | "gitlab" | "tiktok" | "reddit" | "roblox" | "vk" | "zoom" | "notion" | (string & {}), unknown>>; idToken: zod.ZodOptional; accessToken: zod.ZodOptional; refreshToken: zod.ZodOptional; scopes: zod.ZodOptional>; }, zod_v4_core.$strip>>; requestSignUp: zod.ZodOptional; scopes: zod.ZodOptional>; errorCallbackURL: zod.ZodOptional; }, zod_v4_core.$strip>; use: ((inputContext: better_call.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; userId: string; expiresAt: Date; createdAt: Date; updatedAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; email: string; emailVerified: boolean; name: string; createdAt: Date; updatedAt: Date; image?: string | null | undefined; }; }; }>)[]; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { url: { type: string; description: string; }; redirect: { type: string; description: string; }; status: { type: string; }; }; required: string[]; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/link-social"; }; listUserAccounts: { (inputCtx_0?: ({ body?: undefined; } & { method?: "GET" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }) | undefined): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { id: string; provider: string; createdAt: Date; updatedAt: Date; accountId: string; scopes: string[]; }[]; } : { id: string; provider: string; createdAt: Date; updatedAt: Date; accountId: string; scopes: string[]; }[]>; options: { method: "GET"; use: ((inputContext: better_call.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; userId: string; expiresAt: Date; createdAt: Date; updatedAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; email: string; emailVerified: boolean; name: string; createdAt: Date; updatedAt: Date; image?: string | null | undefined; }; }; }>)[]; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "array"; items: { type: string; properties: { id: { type: string; }; provider: { type: string; }; createdAt: { type: string; format: string; }; updatedAt: { type: string; format: string; }; }; accountId: { type: string; }; scopes: { type: string; items: { type: string; }; }; }; required: string[]; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/list-accounts"; }; deleteUserCallback: { (inputCtx_0: { body?: undefined; } & { method?: "GET" | undefined; } & { query: { token: string; callbackURL?: string | undefined; }; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { success: boolean; message: string; }; } : { success: boolean; message: string; }>; options: { method: "GET"; query: zod.ZodObject<{ token: zod.ZodString; callbackURL: zod.ZodOptional; }, zod_v4_core.$strip>; use: ((inputContext: better_call.MiddlewareInputContext) => Promise)[]; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { success: { type: string; description: string; }; message: { type: string; enum: string[]; description: string; }; }; required: string[]; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/delete-user/callback"; }; unlinkAccount: { (inputCtx_0: { body: { providerId: string; accountId?: string | undefined; }; } & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { status: boolean; }; } : { status: boolean; }>; options: { method: "POST"; body: zod.ZodObject<{ providerId: zod.ZodString; accountId: zod.ZodOptional; }, zod_v4_core.$strip>; use: ((inputContext: better_call.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; userId: string; expiresAt: Date; createdAt: Date; updatedAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; email: string; emailVerified: boolean; name: string; createdAt: Date; updatedAt: Date; image?: string | null | undefined; }; }; }>)[]; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { status: { type: string; }; }; }; }; }; }; }; }; }; } & { use: any[]; }; path: "/unlink-account"; }; refreshToken: { (inputCtx_0: { body: { providerId: string; accountId?: string | undefined; userId?: string | undefined; }; } & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: OAuth2Tokens; } : OAuth2Tokens>; options: { method: "POST"; body: zod.ZodObject<{ providerId: zod.ZodString; accountId: zod.ZodOptional; userId: zod.ZodOptional; }, zod_v4_core.$strip>; metadata: { openapi: { description: string; responses: { 200: { description: string; content: { "application/json": { schema: { type: "object"; properties: { tokenType: { type: string; }; idToken: { type: string; }; accessToken: { type: string; }; refreshToken: { type: string; }; accessTokenExpiresAt: { type: string; format: string; }; refreshTokenExpiresAt: { type: string; format: string; }; }; }; }; }; }; 400: { description: string; }; }; }; }; } & { use: any[]; }; path: "/refresh-token"; }; getAccessToken: { (inputCtx_0: { body: { providerId: string; accountId?: string | undefined; userId?: string | undefined; }; } & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { accessToken: string; accessTokenExpiresAt: Date | undefined; scopes: string[]; idToken: string | undefined; }; } : { accessToken: string; accessTokenExpiresAt: Date | undefined; scopes: string[]; idToken: string | undefined; }>; options: { method: "POST"; body: zod.ZodObject<{ providerId: zod.ZodString; accountId: zod.ZodOptional; userId: zod.ZodOptional; }, zod_v4_core.$strip>; metadata: { openapi: { description: string; responses: { 200: { description: string; content: { "application/json": { schema: { type: "object"; properties: { tokenType: { type: string; }; idToken: { type: string; }; accessToken: { type: string; }; refreshToken: { type: string; }; accessTokenExpiresAt: { type: string; format: string; }; refreshTokenExpiresAt: { type: string; format: string; }; }; }; }; }; }; 400: { description: string; }; }; }; }; } & { use: any[]; }; path: "/get-access-token"; }; accountInfo: { (inputCtx_0: { body: { accountId: string; }; } & { method?: "POST" | undefined; } & { query?: Record | undefined; } & { params?: Record; } & { request?: Request; } & { headers?: HeadersInit; } & { asResponse?: boolean; returnHeaders?: boolean; use?: better_call.Middleware[]; path?: string; } & { asResponse?: AsResponse | undefined; returnHeaders?: ReturnHeaders | undefined; }): Promise<[AsResponse] extends [true] ? Response : [ReturnHeaders] extends [true] ? { headers: Headers; response: { user: { id: string; name?: string; email?: string | null; image?: string; emailVerified: boolean; }; data: Record; } | null; } : { user: { id: string; name?: string; email?: string | null; image?: string; emailVerified: boolean; }; data: Record; } | null>; options: { method: "POST"; use: ((inputContext: better_call.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; userId: string; expiresAt: Date; createdAt: Date; updatedAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; email: string; emailVerified: boolean; name: string; createdAt: Date; updatedAt: Date; image?: string | null | undefined; }; }; }>)[]; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { user: { type: string; properties: { id: { type: string; }; name: { type: string; }; email: { type: string; }; image: { type: string; }; emailVerified: { type: string; }; }; required: string[]; }; data: { type: string; properties: {}; additionalProperties: boolean; }; }; required: string[]; additionalProperties: boolean; }; }; }; }; }; }; }; body: zod.ZodObject<{ accountId: zod.ZodString; }, zod_v4_core.$strip>; } & { use: any[]; }; path: "/account-info"; }; }>, (C extends undefined ? {} : C) & { baseURL: string | undefined; fetchOptions: { customFetchImpl: (url: string | URL | Request, init?: RequestInit) => Promise; }; }>> extends { getSession: () => Promise; } ? Res extends { data: infer S; error: null; } | { data: null; error: { message?: string | undefined; status: number; statusText: string; }; } ? S : Res extends Record ? Res : never : never>; }; $ERROR_CODES: InferErrorCodes<(C extends undefined ? {} : C) & { baseURL: string | undefined; fetchOptions: { customFetchImpl: (url: string | URL | Request, init?: RequestInit) => Promise; }; }> & { USER_NOT_FOUND: string; FAILED_TO_CREATE_USER: string; FAILED_TO_CREATE_SESSION: string; FAILED_TO_UPDATE_USER: string; FAILED_TO_GET_SESSION: string; INVALID_PASSWORD: string; INVALID_EMAIL: string; INVALID_EMAIL_OR_PASSWORD: string; SOCIAL_ACCOUNT_ALREADY_LINKED: string; PROVIDER_NOT_FOUND: string; INVALID_TOKEN: string; ID_TOKEN_NOT_SUPPORTED: string; FAILED_TO_GET_USER_INFO: string; USER_EMAIL_NOT_FOUND: string; EMAIL_NOT_VERIFIED: string; PASSWORD_TOO_SHORT: string; PASSWORD_TOO_LONG: string; USER_ALREADY_EXISTS: string; EMAIL_CAN_NOT_BE_UPDATED: string; CREDENTIAL_ACCOUNT_NOT_FOUND: string; SESSION_EXPIRED: string; FAILED_TO_UNLINK_LAST_ACCOUNT: string; ACCOUNT_NOT_FOUND: string; USER_ALREADY_HAS_PASSWORD: string; } extends infer T_221 ? { [K_22 in keyof T_221]: (InferErrorCodes<(C extends undefined ? {} : C) & { baseURL: string | undefined; fetchOptions: { customFetchImpl: (url: string | URL | Request, init?: RequestInit) => Promise; }; }> & { USER_NOT_FOUND: string; FAILED_TO_CREATE_USER: string; FAILED_TO_CREATE_SESSION: string; FAILED_TO_UPDATE_USER: string; FAILED_TO_GET_SESSION: string; INVALID_PASSWORD: string; INVALID_EMAIL: string; INVALID_EMAIL_OR_PASSWORD: string; SOCIAL_ACCOUNT_ALREADY_LINKED: string; PROVIDER_NOT_FOUND: string; INVALID_TOKEN: string; ID_TOKEN_NOT_SUPPORTED: string; FAILED_TO_GET_USER_INFO: string; USER_EMAIL_NOT_FOUND: string; EMAIL_NOT_VERIFIED: string; PASSWORD_TOO_SHORT: string; PASSWORD_TOO_LONG: string; USER_ALREADY_EXISTS: string; EMAIL_CAN_NOT_BE_UPDATED: string; CREDENTIAL_ACCOUNT_NOT_FOUND: string; SESSION_EXPIRED: string; FAILED_TO_UNLINK_LAST_ACCOUNT: string; ACCOUNT_NOT_FOUND: string; USER_ALREADY_HAS_PASSWORD: string; })[K_22] extends (...args: any[]) => any ? (InferErrorCodes<(C extends undefined ? {} : C) & { baseURL: string | undefined; fetchOptions: { customFetchImpl: (url: string | URL | Request, init?: RequestInit) => Promise; }; }> & { USER_NOT_FOUND: string; FAILED_TO_CREATE_USER: string; FAILED_TO_CREATE_SESSION: string; FAILED_TO_UPDATE_USER: string; FAILED_TO_GET_SESSION: string; INVALID_PASSWORD: string; INVALID_EMAIL: string; INVALID_EMAIL_OR_PASSWORD: string; SOCIAL_ACCOUNT_ALREADY_LINKED: string; PROVIDER_NOT_FOUND: string; INVALID_TOKEN: string; ID_TOKEN_NOT_SUPPORTED: string; FAILED_TO_GET_USER_INFO: string; USER_EMAIL_NOT_FOUND: string; EMAIL_NOT_VERIFIED: string; PASSWORD_TOO_SHORT: string; PASSWORD_TOO_LONG: string; USER_ALREADY_EXISTS: string; EMAIL_CAN_NOT_BE_UPDATED: string; CREDENTIAL_ACCOUNT_NOT_FOUND: string; SESSION_EXPIRED: string; FAILED_TO_UNLINK_LAST_ACCOUNT: string; ACCOUNT_NOT_FOUND: string; USER_ALREADY_HAS_PASSWORD: string; })[K_22] : (InferErrorCodes<(C extends undefined ? {} : C) & { baseURL: string | undefined; fetchOptions: { customFetchImpl: (url: string | URL | Request, init?: RequestInit) => Promise; }; }> & { USER_NOT_FOUND: string; FAILED_TO_CREATE_USER: string; FAILED_TO_CREATE_SESSION: string; FAILED_TO_UPDATE_USER: string; FAILED_TO_GET_SESSION: string; INVALID_PASSWORD: string; INVALID_EMAIL: string; INVALID_EMAIL_OR_PASSWORD: string; SOCIAL_ACCOUNT_ALREADY_LINKED: string; PROVIDER_NOT_FOUND: string; INVALID_TOKEN: string; ID_TOKEN_NOT_SUPPORTED: string; FAILED_TO_GET_USER_INFO: string; USER_EMAIL_NOT_FOUND: string; EMAIL_NOT_VERIFIED: string; PASSWORD_TOO_SHORT: string; PASSWORD_TOO_LONG: string; USER_ALREADY_EXISTS: string; EMAIL_CAN_NOT_BE_UPDATED: string; CREDENTIAL_ACCOUNT_NOT_FOUND: string; SESSION_EXPIRED: string; FAILED_TO_UNLINK_LAST_ACCOUNT: string; ACCOUNT_NOT_FOUND: string; USER_ALREADY_HAS_PASSWORD: string; })[K_22] extends object ? (InferErrorCodes<(C extends undefined ? {} : C) & { baseURL: string | undefined; fetchOptions: { customFetchImpl: (url: string | URL | Request, init?: RequestInit) => Promise; }; }> & { USER_NOT_FOUND: string; FAILED_TO_CREATE_USER: string; FAILED_TO_CREATE_SESSION: string; FAILED_TO_UPDATE_USER: string; FAILED_TO_GET_SESSION: string; INVALID_PASSWORD: string; INVALID_EMAIL: string; INVALID_EMAIL_OR_PASSWORD: string; SOCIAL_ACCOUNT_ALREADY_LINKED: string; PROVIDER_NOT_FOUND: string; INVALID_TOKEN: string; ID_TOKEN_NOT_SUPPORTED: string; FAILED_TO_GET_USER_INFO: string; USER_EMAIL_NOT_FOUND: string; EMAIL_NOT_VERIFIED: string; PASSWORD_TOO_SHORT: string; PASSWORD_TOO_LONG: string; USER_ALREADY_EXISTS: string; EMAIL_CAN_NOT_BE_UPDATED: string; CREDENTIAL_ACCOUNT_NOT_FOUND: string; SESSION_EXPIRED: string; FAILED_TO_UNLINK_LAST_ACCOUNT: string; ACCOUNT_NOT_FOUND: string; USER_ALREADY_HAS_PASSWORD: string; })[K_22] extends any[] ? (InferErrorCodes<(C extends undefined ? {} : C) & { baseURL: string | undefined; fetchOptions: { customFetchImpl: (url: string | URL | Request, init?: RequestInit) => Promise; }; }> & { USER_NOT_FOUND: string; FAILED_TO_CREATE_USER: string; FAILED_TO_CREATE_SESSION: string; FAILED_TO_UPDATE_USER: string; FAILED_TO_GET_SESSION: string; INVALID_PASSWORD: string; INVALID_EMAIL: string; INVALID_EMAIL_OR_PASSWORD: string; SOCIAL_ACCOUNT_ALREADY_LINKED: string; PROVIDER_NOT_FOUND: string; INVALID_TOKEN: string; ID_TOKEN_NOT_SUPPORTED: string; FAILED_TO_GET_USER_INFO: string; USER_EMAIL_NOT_FOUND: string; EMAIL_NOT_VERIFIED: string; PASSWORD_TOO_SHORT: string; PASSWORD_TOO_LONG: string; USER_ALREADY_EXISTS: string; EMAIL_CAN_NOT_BE_UPDATED: string; CREDENTIAL_ACCOUNT_NOT_FOUND: string; SESSION_EXPIRED: string; FAILED_TO_UNLINK_LAST_ACCOUNT: string; ACCOUNT_NOT_FOUND: string; USER_ALREADY_HAS_PASSWORD: string; })[K_22] : (InferErrorCodes<(C extends undefined ? {} : C) & { baseURL: string | undefined; fetchOptions: { customFetchImpl: (url: string | URL | Request, init?: RequestInit) => Promise; }; }> & { USER_NOT_FOUND: string; FAILED_TO_CREATE_USER: string; FAILED_TO_CREATE_SESSION: string; FAILED_TO_UPDATE_USER: string; FAILED_TO_GET_SESSION: string; INVALID_PASSWORD: string; INVALID_EMAIL: string; INVALID_EMAIL_OR_PASSWORD: string; SOCIAL_ACCOUNT_ALREADY_LINKED: string; PROVIDER_NOT_FOUND: string; INVALID_TOKEN: string; ID_TOKEN_NOT_SUPPORTED: string; FAILED_TO_GET_USER_INFO: string; USER_EMAIL_NOT_FOUND: string; EMAIL_NOT_VERIFIED: string; PASSWORD_TOO_SHORT: string; PASSWORD_TOO_LONG: string; USER_ALREADY_EXISTS: string; EMAIL_CAN_NOT_BE_UPDATED: string; CREDENTIAL_ACCOUNT_NOT_FOUND: string; SESSION_EXPIRED: string; FAILED_TO_UNLINK_LAST_ACCOUNT: string; ACCOUNT_NOT_FOUND: string; USER_ALREADY_HAS_PASSWORD: string; })[K_22] extends Date ? (InferErrorCodes<(C extends undefined ? {} : C) & { baseURL: string | undefined; fetchOptions: { customFetchImpl: (url: string | URL | Request, init?: RequestInit) => Promise; }; }> & { USER_NOT_FOUND: string; FAILED_TO_CREATE_USER: string; FAILED_TO_CREATE_SESSION: string; FAILED_TO_UPDATE_USER: string; FAILED_TO_GET_SESSION: string; INVALID_PASSWORD: string; INVALID_EMAIL: string; INVALID_EMAIL_OR_PASSWORD: string; SOCIAL_ACCOUNT_ALREADY_LINKED: string; PROVIDER_NOT_FOUND: string; INVALID_TOKEN: string; ID_TOKEN_NOT_SUPPORTED: string; FAILED_TO_GET_USER_INFO: string; USER_EMAIL_NOT_FOUND: string; EMAIL_NOT_VERIFIED: string; PASSWORD_TOO_SHORT: string; PASSWORD_TOO_LONG: string; USER_ALREADY_EXISTS: string; EMAIL_CAN_NOT_BE_UPDATED: string; CREDENTIAL_ACCOUNT_NOT_FOUND: string; SESSION_EXPIRED: string; FAILED_TO_UNLINK_LAST_ACCOUNT: string; ACCOUNT_NOT_FOUND: string; USER_ALREADY_HAS_PASSWORD: string; })[K_22] : (InferErrorCodes<(C extends undefined ? {} : C) & { baseURL: string | undefined; fetchOptions: { customFetchImpl: (url: string | URL | Request, init?: RequestInit) => Promise; }; }> & { USER_NOT_FOUND: string; FAILED_TO_CREATE_USER: string; FAILED_TO_CREATE_SESSION: string; FAILED_TO_UPDATE_USER: string; FAILED_TO_GET_SESSION: string; INVALID_PASSWORD: string; INVALID_EMAIL: string; INVALID_EMAIL_OR_PASSWORD: string; SOCIAL_ACCOUNT_ALREADY_LINKED: string; PROVIDER_NOT_FOUND: string; INVALID_TOKEN: string; ID_TOKEN_NOT_SUPPORTED: string; FAILED_TO_GET_USER_INFO: string; USER_EMAIL_NOT_FOUND: string; EMAIL_NOT_VERIFIED: string; PASSWORD_TOO_SHORT: string; PASSWORD_TOO_LONG: string; USER_ALREADY_EXISTS: string; EMAIL_CAN_NOT_BE_UPDATED: string; CREDENTIAL_ACCOUNT_NOT_FOUND: string; SESSION_EXPIRED: string; FAILED_TO_UNLINK_LAST_ACCOUNT: string; ACCOUNT_NOT_FOUND: string; USER_ALREADY_HAS_PASSWORD: string; })[K_22] extends infer T_222 ? { [K_23 in keyof T_222]: (InferErrorCodes<(C extends undefined ? {} : C) & { baseURL: string | undefined; fetchOptions: { customFetchImpl: (url: string | URL | Request, init?: RequestInit) => Promise; }; }> & { USER_NOT_FOUND: string; FAILED_TO_CREATE_USER: string; FAILED_TO_CREATE_SESSION: string; FAILED_TO_UPDATE_USER: string; FAILED_TO_GET_SESSION: string; INVALID_PASSWORD: string; INVALID_EMAIL: string; INVALID_EMAIL_OR_PASSWORD: string; SOCIAL_ACCOUNT_ALREADY_LINKED: string; PROVIDER_NOT_FOUND: string; INVALID_TOKEN: string; ID_TOKEN_NOT_SUPPORTED: string; FAILED_TO_GET_USER_INFO: string; USER_EMAIL_NOT_FOUND: string; EMAIL_NOT_VERIFIED: string; PASSWORD_TOO_SHORT: string; PASSWORD_TOO_LONG: string; USER_ALREADY_EXISTS: string; EMAIL_CAN_NOT_BE_UPDATED: string; CREDENTIAL_ACCOUNT_NOT_FOUND: string; SESSION_EXPIRED: string; FAILED_TO_UNLINK_LAST_ACCOUNT: string; ACCOUNT_NOT_FOUND: string; USER_ALREADY_HAS_PASSWORD: string; })[K_22][K_23] extends (...args: any[]) => any ? (InferErrorCodes<(C extends undefined ? {} : C) & { baseURL: string | undefined; fetchOptions: { customFetchImpl: (url: string | URL | Request, init?: RequestInit) => Promise; }; }> & { USER_NOT_FOUND: string; FAILED_TO_CREATE_USER: string; FAILED_TO_CREATE_SESSION: string; FAILED_TO_UPDATE_USER: string; FAILED_TO_GET_SESSION: string; INVALID_PASSWORD: string; INVALID_EMAIL: string; INVALID_EMAIL_OR_PASSWORD: string; SOCIAL_ACCOUNT_ALREADY_LINKED: string; PROVIDER_NOT_FOUND: string; INVALID_TOKEN: string; ID_TOKEN_NOT_SUPPORTED: string; FAILED_TO_GET_USER_INFO: string; USER_EMAIL_NOT_FOUND: string; EMAIL_NOT_VERIFIED: string; PASSWORD_TOO_SHORT: string; PASSWORD_TOO_LONG: string; USER_ALREADY_EXISTS: string; EMAIL_CAN_NOT_BE_UPDATED: string; CREDENTIAL_ACCOUNT_NOT_FOUND: string; SESSION_EXPIRED: string; FAILED_TO_UNLINK_LAST_ACCOUNT: string; ACCOUNT_NOT_FOUND: string; USER_ALREADY_HAS_PASSWORD: string; })[K_22][K_23] : (InferErrorCodes<(C extends undefined ? {} : C) & { baseURL: string | undefined; fetchOptions: { customFetchImpl: (url: string | URL | Request, init?: RequestInit) => Promise; }; }> & { USER_NOT_FOUND: string; FAILED_TO_CREATE_USER: string; FAILED_TO_CREATE_SESSION: string; FAILED_TO_UPDATE_USER: string; FAILED_TO_GET_SESSION: string; INVALID_PASSWORD: string; INVALID_EMAIL: string; INVALID_EMAIL_OR_PASSWORD: string; SOCIAL_ACCOUNT_ALREADY_LINKED: string; PROVIDER_NOT_FOUND: string; INVALID_TOKEN: string; ID_TOKEN_NOT_SUPPORTED: string; FAILED_TO_GET_USER_INFO: string; USER_EMAIL_NOT_FOUND: string; EMAIL_NOT_VERIFIED: string; PASSWORD_TOO_SHORT: string; PASSWORD_TOO_LONG: string; USER_ALREADY_EXISTS: string; EMAIL_CAN_NOT_BE_UPDATED: string; CREDENTIAL_ACCOUNT_NOT_FOUND: string; SESSION_EXPIRED: string; FAILED_TO_UNLINK_LAST_ACCOUNT: string; ACCOUNT_NOT_FOUND: string; USER_ALREADY_HAS_PASSWORD: string; })[K_22][K_23] extends object ? (InferErrorCodes<(C extends undefined ? {} : C) & { baseURL: string | undefined; fetchOptions: { customFetchImpl: (url: string | URL | Request, init?: RequestInit) => Promise; }; }> & { USER_NOT_FOUND: string; FAILED_TO_CREATE_USER: string; FAILED_TO_CREATE_SESSION: string; FAILED_TO_UPDATE_USER: string; FAILED_TO_GET_SESSION: string; INVALID_PASSWORD: string; INVALID_EMAIL: string; INVALID_EMAIL_OR_PASSWORD: string; SOCIAL_ACCOUNT_ALREADY_LINKED: string; PROVIDER_NOT_FOUND: string; INVALID_TOKEN: string; ID_TOKEN_NOT_SUPPORTED: string; FAILED_TO_GET_USER_INFO: string; USER_EMAIL_NOT_FOUND: string; EMAIL_NOT_VERIFIED: string; PASSWORD_TOO_SHORT: string; PASSWORD_TOO_LONG: string; USER_ALREADY_EXISTS: string; EMAIL_CAN_NOT_BE_UPDATED: string; CREDENTIAL_ACCOUNT_NOT_FOUND: string; SESSION_EXPIRED: string; FAILED_TO_UNLINK_LAST_ACCOUNT: string; ACCOUNT_NOT_FOUND: string; USER_ALREADY_HAS_PASSWORD: string; })[K_22][K_23] extends any[] ? (InferErrorCodes<(C extends undefined ? {} : C) & { baseURL: string | undefined; fetchOptions: { customFetchImpl: (url: string | URL | Request, init?: RequestInit) => Promise; }; }> & { USER_NOT_FOUND: string; FAILED_TO_CREATE_USER: string; FAILED_TO_CREATE_SESSION: string; FAILED_TO_UPDATE_USER: string; FAILED_TO_GET_SESSION: string; INVALID_PASSWORD: string; INVALID_EMAIL: string; INVALID_EMAIL_OR_PASSWORD: string; SOCIAL_ACCOUNT_ALREADY_LINKED: string; PROVIDER_NOT_FOUND: string; INVALID_TOKEN: string; ID_TOKEN_NOT_SUPPORTED: string; FAILED_TO_GET_USER_INFO: string; USER_EMAIL_NOT_FOUND: string; EMAIL_NOT_VERIFIED: string; PASSWORD_TOO_SHORT: string; PASSWORD_TOO_LONG: string; USER_ALREADY_EXISTS: string; EMAIL_CAN_NOT_BE_UPDATED: string; CREDENTIAL_ACCOUNT_NOT_FOUND: string; SESSION_EXPIRED: string; FAILED_TO_UNLINK_LAST_ACCOUNT: string; ACCOUNT_NOT_FOUND: string; USER_ALREADY_HAS_PASSWORD: string; })[K_22][K_23] : (InferErrorCodes<(C extends undefined ? {} : C) & { baseURL: string | undefined; fetchOptions: { customFetchImpl: (url: string | URL | Request, init?: RequestInit) => Promise; }; }> & { USER_NOT_FOUND: string; FAILED_TO_CREATE_USER: string; FAILED_TO_CREATE_SESSION: string; FAILED_TO_UPDATE_USER: string; FAILED_TO_GET_SESSION: string; INVALID_PASSWORD: string; INVALID_EMAIL: string; INVALID_EMAIL_OR_PASSWORD: string; SOCIAL_ACCOUNT_ALREADY_LINKED: string; PROVIDER_NOT_FOUND: string; INVALID_TOKEN: string; ID_TOKEN_NOT_SUPPORTED: string; FAILED_TO_GET_USER_INFO: string; USER_EMAIL_NOT_FOUND: string; EMAIL_NOT_VERIFIED: string; PASSWORD_TOO_SHORT: string; PASSWORD_TOO_LONG: string; USER_ALREADY_EXISTS: string; EMAIL_CAN_NOT_BE_UPDATED: string; CREDENTIAL_ACCOUNT_NOT_FOUND: string; SESSION_EXPIRED: string; FAILED_TO_UNLINK_LAST_ACCOUNT: string; ACCOUNT_NOT_FOUND: string; USER_ALREADY_HAS_PASSWORD: string; })[K_22][K_23] extends Date ? (InferErrorCodes<(C extends undefined ? {} : C) & { baseURL: string | undefined; fetchOptions: { customFetchImpl: (url: string | URL | Request, init?: RequestInit) => Promise; }; }> & { USER_NOT_FOUND: string; FAILED_TO_CREATE_USER: string; FAILED_TO_CREATE_SESSION: string; FAILED_TO_UPDATE_USER: string; FAILED_TO_GET_SESSION: string; INVALID_PASSWORD: string; INVALID_EMAIL: string; INVALID_EMAIL_OR_PASSWORD: string; SOCIAL_ACCOUNT_ALREADY_LINKED: string; PROVIDER_NOT_FOUND: string; INVALID_TOKEN: string; ID_TOKEN_NOT_SUPPORTED: string; FAILED_TO_GET_USER_INFO: string; USER_EMAIL_NOT_FOUND: string; EMAIL_NOT_VERIFIED: string; PASSWORD_TOO_SHORT: string; PASSWORD_TOO_LONG: string; USER_ALREADY_EXISTS: string; EMAIL_CAN_NOT_BE_UPDATED: string; CREDENTIAL_ACCOUNT_NOT_FOUND: string; SESSION_EXPIRED: string; FAILED_TO_UNLINK_LAST_ACCOUNT: string; ACCOUNT_NOT_FOUND: string; USER_ALREADY_HAS_PASSWORD: string; })[K_22][K_23] : (InferErrorCodes<(C extends undefined ? {} : C) & { baseURL: string | undefined; fetchOptions: { customFetchImpl: (url: string | URL | Request, init?: RequestInit) => Promise; }; }> & { USER_NOT_FOUND: string; FAILED_TO_CREATE_USER: string; FAILED_TO_CREATE_SESSION: string; FAILED_TO_UPDATE_USER: string; FAILED_TO_GET_SESSION: string; INVALID_PASSWORD: string; INVALID_EMAIL: string; INVALID_EMAIL_OR_PASSWORD: string; SOCIAL_ACCOUNT_ALREADY_LINKED: string; PROVIDER_NOT_FOUND: string; INVALID_TOKEN: string; ID_TOKEN_NOT_SUPPORTED: string; FAILED_TO_GET_USER_INFO: string; USER_EMAIL_NOT_FOUND: string; EMAIL_NOT_VERIFIED: string; PASSWORD_TOO_SHORT: string; PASSWORD_TOO_LONG: string; USER_ALREADY_EXISTS: string; EMAIL_CAN_NOT_BE_UPDATED: string; CREDENTIAL_ACCOUNT_NOT_FOUND: string; SESSION_EXPIRED: string; FAILED_TO_UNLINK_LAST_ACCOUNT: string; ACCOUNT_NOT_FOUND: string; USER_ALREADY_HAS_PASSWORD: string; })[K_22][K_23] extends infer T_223 ? { [K_24 in keyof T_223]: (InferErrorCodes<(C extends undefined ? {} : C) & { baseURL: string | undefined; fetchOptions: { customFetchImpl: (url: string | URL | Request, init?: RequestInit) => Promise; }; }> & { USER_NOT_FOUND: string; FAILED_TO_CREATE_USER: string; FAILED_TO_CREATE_SESSION: string; FAILED_TO_UPDATE_USER: string; FAILED_TO_GET_SESSION: string; INVALID_PASSWORD: string; INVALID_EMAIL: string; INVALID_EMAIL_OR_PASSWORD: string; SOCIAL_ACCOUNT_ALREADY_LINKED: string; PROVIDER_NOT_FOUND: string; INVALID_TOKEN: string; ID_TOKEN_NOT_SUPPORTED: string; FAILED_TO_GET_USER_INFO: string; USER_EMAIL_NOT_FOUND: string; EMAIL_NOT_VERIFIED: string; PASSWORD_TOO_SHORT: string; PASSWORD_TOO_LONG: string; USER_ALREADY_EXISTS: string; EMAIL_CAN_NOT_BE_UPDATED: string; CREDENTIAL_ACCOUNT_NOT_FOUND: string; SESSION_EXPIRED: string; FAILED_TO_UNLINK_LAST_ACCOUNT: string; ACCOUNT_NOT_FOUND: string; USER_ALREADY_HAS_PASSWORD: string; })[K_22][K_23][K_24] extends (...args: any[]) => any ? (InferErrorCodes<(C extends undefined ? {} : C) & { baseURL: string | undefined; fetchOptions: { customFetchImpl: (url: string | URL | Request, init?: RequestInit) => Promise; }; }> & { USER_NOT_FOUND: string; FAILED_TO_CREATE_USER: string; FAILED_TO_CREATE_SESSION: string; FAILED_TO_UPDATE_USER: string; FAILED_TO_GET_SESSION: string; INVALID_PASSWORD: string; INVALID_EMAIL: string; INVALID_EMAIL_OR_PASSWORD: string; SOCIAL_ACCOUNT_ALREADY_LINKED: string; PROVIDER_NOT_FOUND: string; INVALID_TOKEN: string; ID_TOKEN_NOT_SUPPORTED: string; FAILED_TO_GET_USER_INFO: string; USER_EMAIL_NOT_FOUND: string; EMAIL_NOT_VERIFIED: string; PASSWORD_TOO_SHORT: string; PASSWORD_TOO_LONG: string; USER_ALREADY_EXISTS: string; EMAIL_CAN_NOT_BE_UPDATED: string; CREDENTIAL_ACCOUNT_NOT_FOUND: string; SESSION_EXPIRED: string; FAILED_TO_UNLINK_LAST_ACCOUNT: string; ACCOUNT_NOT_FOUND: string; USER_ALREADY_HAS_PASSWORD: string; })[K_22][K_23][K_24] : (InferErrorCodes<(C extends undefined ? {} : C) & { baseURL: string | undefined; fetchOptions: { customFetchImpl: (url: string | URL | Request, init?: RequestInit) => Promise; }; }> & { USER_NOT_FOUND: string; FAILED_TO_CREATE_USER: string; FAILED_TO_CREATE_SESSION: string; FAILED_TO_UPDATE_USER: string; FAILED_TO_GET_SESSION: string; INVALID_PASSWORD: string; INVALID_EMAIL: string; INVALID_EMAIL_OR_PASSWORD: string; SOCIAL_ACCOUNT_ALREADY_LINKED: string; PROVIDER_NOT_FOUND: string; INVALID_TOKEN: string; ID_TOKEN_NOT_SUPPORTED: string; FAILED_TO_GET_USER_INFO: string; USER_EMAIL_NOT_FOUND: string; EMAIL_NOT_VERIFIED: string; PASSWORD_TOO_SHORT: string; PASSWORD_TOO_LONG: string; USER_ALREADY_EXISTS: string; EMAIL_CAN_NOT_BE_UPDATED: string; CREDENTIAL_ACCOUNT_NOT_FOUND: string; SESSION_EXPIRED: string; FAILED_TO_UNLINK_LAST_ACCOUNT: string; ACCOUNT_NOT_FOUND: string; USER_ALREADY_HAS_PASSWORD: string; })[K_22][K_23][K_24] extends object ? (InferErrorCodes<(C extends undefined ? {} : C) & { baseURL: string | undefined; fetchOptions: { customFetchImpl: (url: string | URL | Request, init?: RequestInit) => Promise; }; }> & { USER_NOT_FOUND: string; FAILED_TO_CREATE_USER: string; FAILED_TO_CREATE_SESSION: string; FAILED_TO_UPDATE_USER: string; FAILED_TO_GET_SESSION: string; INVALID_PASSWORD: string; INVALID_EMAIL: string; INVALID_EMAIL_OR_PASSWORD: string; SOCIAL_ACCOUNT_ALREADY_LINKED: string; PROVIDER_NOT_FOUND: string; INVALID_TOKEN: string; ID_TOKEN_NOT_SUPPORTED: string; FAILED_TO_GET_USER_INFO: string; USER_EMAIL_NOT_FOUND: string; EMAIL_NOT_VERIFIED: string; PASSWORD_TOO_SHORT: string; PASSWORD_TOO_LONG: string; USER_ALREADY_EXISTS: string; EMAIL_CAN_NOT_BE_UPDATED: string; CREDENTIAL_ACCOUNT_NOT_FOUND: string; SESSION_EXPIRED: string; FAILED_TO_UNLINK_LAST_ACCOUNT: string; ACCOUNT_NOT_FOUND: string; USER_ALREADY_HAS_PASSWORD: string; })[K_22][K_23][K_24] extends any[] ? (InferErrorCodes<(C extends undefined ? {} : C) & { baseURL: string | undefined; fetchOptions: { customFetchImpl: (url: string | URL | Request, init?: RequestInit) => Promise; }; }> & { USER_NOT_FOUND: string; FAILED_TO_CREATE_USER: string; FAILED_TO_CREATE_SESSION: string; FAILED_TO_UPDATE_USER: string; FAILED_TO_GET_SESSION: string; INVALID_PASSWORD: string; INVALID_EMAIL: string; INVALID_EMAIL_OR_PASSWORD: string; SOCIAL_ACCOUNT_ALREADY_LINKED: string; PROVIDER_NOT_FOUND: string; INVALID_TOKEN: string; ID_TOKEN_NOT_SUPPORTED: string; FAILED_TO_GET_USER_INFO: string; USER_EMAIL_NOT_FOUND: string; EMAIL_NOT_VERIFIED: string; PASSWORD_TOO_SHORT: string; PASSWORD_TOO_LONG: string; USER_ALREADY_EXISTS: string; EMAIL_CAN_NOT_BE_UPDATED: string; CREDENTIAL_ACCOUNT_NOT_FOUND: string; SESSION_EXPIRED: string; FAILED_TO_UNLINK_LAST_ACCOUNT: string; ACCOUNT_NOT_FOUND: string; USER_ALREADY_HAS_PASSWORD: string; })[K_22][K_23][K_24] : (InferErrorCodes<(C extends undefined ? {} : C) & { baseURL: string | undefined; fetchOptions: { customFetchImpl: (url: string | URL | Request, init?: RequestInit) => Promise; }; }> & { USER_NOT_FOUND: string; FAILED_TO_CREATE_USER: string; FAILED_TO_CREATE_SESSION: string; FAILED_TO_UPDATE_USER: string; FAILED_TO_GET_SESSION: string; INVALID_PASSWORD: string; INVALID_EMAIL: string; INVALID_EMAIL_OR_PASSWORD: string; SOCIAL_ACCOUNT_ALREADY_LINKED: string; PROVIDER_NOT_FOUND: string; INVALID_TOKEN: string; ID_TOKEN_NOT_SUPPORTED: string; FAILED_TO_GET_USER_INFO: string; USER_EMAIL_NOT_FOUND: string; EMAIL_NOT_VERIFIED: string; PASSWORD_TOO_SHORT: string; PASSWORD_TOO_LONG: string; USER_ALREADY_EXISTS: string; EMAIL_CAN_NOT_BE_UPDATED: string; CREDENTIAL_ACCOUNT_NOT_FOUND: string; SESSION_EXPIRED: string; FAILED_TO_UNLINK_LAST_ACCOUNT: string; ACCOUNT_NOT_FOUND: string; USER_ALREADY_HAS_PASSWORD: string; })[K_22][K_23][K_24] extends Date ? (InferErrorCodes<(C extends undefined ? {} : C) & { baseURL: string | undefined; fetchOptions: { customFetchImpl: (url: string | URL | Request, init?: RequestInit) => Promise; }; }> & { USER_NOT_FOUND: string; FAILED_TO_CREATE_USER: string; FAILED_TO_CREATE_SESSION: string; FAILED_TO_UPDATE_USER: string; FAILED_TO_GET_SESSION: string; INVALID_PASSWORD: string; INVALID_EMAIL: string; INVALID_EMAIL_OR_PASSWORD: string; SOCIAL_ACCOUNT_ALREADY_LINKED: string; PROVIDER_NOT_FOUND: string; INVALID_TOKEN: string; ID_TOKEN_NOT_SUPPORTED: string; FAILED_TO_GET_USER_INFO: string; USER_EMAIL_NOT_FOUND: string; EMAIL_NOT_VERIFIED: string; PASSWORD_TOO_SHORT: string; PASSWORD_TOO_LONG: string; USER_ALREADY_EXISTS: string; EMAIL_CAN_NOT_BE_UPDATED: string; CREDENTIAL_ACCOUNT_NOT_FOUND: string; SESSION_EXPIRED: string; FAILED_TO_UNLINK_LAST_ACCOUNT: string; ACCOUNT_NOT_FOUND: string; USER_ALREADY_HAS_PASSWORD: string; })[K_22][K_23][K_24] : (InferErrorCodes<(C extends undefined ? {} : C) & { baseURL: string | undefined; fetchOptions: { customFetchImpl: (url: string | URL | Request, init?: RequestInit) => Promise; }; }> & { USER_NOT_FOUND: string; FAILED_TO_CREATE_USER: string; FAILED_TO_CREATE_SESSION: string; FAILED_TO_UPDATE_USER: string; FAILED_TO_GET_SESSION: string; INVALID_PASSWORD: string; INVALID_EMAIL: string; INVALID_EMAIL_OR_PASSWORD: string; SOCIAL_ACCOUNT_ALREADY_LINKED: string; PROVIDER_NOT_FOUND: string; INVALID_TOKEN: string; ID_TOKEN_NOT_SUPPORTED: string; FAILED_TO_GET_USER_INFO: string; USER_EMAIL_NOT_FOUND: string; EMAIL_NOT_VERIFIED: string; PASSWORD_TOO_SHORT: string; PASSWORD_TOO_LONG: string; USER_ALREADY_EXISTS: string; EMAIL_CAN_NOT_BE_UPDATED: string; CREDENTIAL_ACCOUNT_NOT_FOUND: string; SESSION_EXPIRED: string; FAILED_TO_UNLINK_LAST_ACCOUNT: string; ACCOUNT_NOT_FOUND: string; USER_ALREADY_HAS_PASSWORD: string; })[K_22][K_23][K_24] extends infer T_224 ? { [K_25 in keyof T_224]: (InferErrorCodes<(C extends undefined ? {} : C) & { baseURL: string | undefined; fetchOptions: { customFetchImpl: (url: string | URL | Request, init?: RequestInit) => Promise; }; }> & { USER_NOT_FOUND: string; FAILED_TO_CREATE_USER: string; FAILED_TO_CREATE_SESSION: string; FAILED_TO_UPDATE_USER: string; FAILED_TO_GET_SESSION: string; INVALID_PASSWORD: string; INVALID_EMAIL: string; INVALID_EMAIL_OR_PASSWORD: string; SOCIAL_ACCOUNT_ALREADY_LINKED: string; PROVIDER_NOT_FOUND: string; INVALID_TOKEN: string; ID_TOKEN_NOT_SUPPORTED: string; FAILED_TO_GET_USER_INFO: string; USER_EMAIL_NOT_FOUND: string; EMAIL_NOT_VERIFIED: string; PASSWORD_TOO_SHORT: string; PASSWORD_TOO_LONG: string; USER_ALREADY_EXISTS: string; EMAIL_CAN_NOT_BE_UPDATED: string; CREDENTIAL_ACCOUNT_NOT_FOUND: string; SESSION_EXPIRED: string; FAILED_TO_UNLINK_LAST_ACCOUNT: string; ACCOUNT_NOT_FOUND: string; USER_ALREADY_HAS_PASSWORD: string; })[K_22][K_23][K_24][K_25] extends (...args: any[]) => any ? (InferErrorCodes<(C extends undefined ? {} : C) & { baseURL: string | undefined; fetchOptions: { customFetchImpl: (url: string | URL | Request, init?: RequestInit) => Promise; }; }> & { USER_NOT_FOUND: string; FAILED_TO_CREATE_USER: string; FAILED_TO_CREATE_SESSION: string; FAILED_TO_UPDATE_USER: string; FAILED_TO_GET_SESSION: string; INVALID_PASSWORD: string; INVALID_EMAIL: string; INVALID_EMAIL_OR_PASSWORD: string; SOCIAL_ACCOUNT_ALREADY_LINKED: string; PROVIDER_NOT_FOUND: string; INVALID_TOKEN: string; ID_TOKEN_NOT_SUPPORTED: string; FAILED_TO_GET_USER_INFO: string; USER_EMAIL_NOT_FOUND: string; EMAIL_NOT_VERIFIED: string; PASSWORD_TOO_SHORT: string; PASSWORD_TOO_LONG: string; USER_ALREADY_EXISTS: string; EMAIL_CAN_NOT_BE_UPDATED: string; CREDENTIAL_ACCOUNT_NOT_FOUND: string; SESSION_EXPIRED: string; FAILED_TO_UNLINK_LAST_ACCOUNT: string; ACCOUNT_NOT_FOUND: string; USER_ALREADY_HAS_PASSWORD: string; })[K_22][K_23][K_24][K_25] : (InferErrorCodes<(C extends undefined ? {} : C) & { baseURL: string | undefined; fetchOptions: { customFetchImpl: (url: string | URL | Request, init?: RequestInit) => Promise; }; }> & { USER_NOT_FOUND: string; FAILED_TO_CREATE_USER: string; FAILED_TO_CREATE_SESSION: string; FAILED_TO_UPDATE_USER: string; FAILED_TO_GET_SESSION: string; INVALID_PASSWORD: string; INVALID_EMAIL: string; INVALID_EMAIL_OR_PASSWORD: string; SOCIAL_ACCOUNT_ALREADY_LINKED: string; PROVIDER_NOT_FOUND: string; INVALID_TOKEN: string; ID_TOKEN_NOT_SUPPORTED: string; FAILED_TO_GET_USER_INFO: string; USER_EMAIL_NOT_FOUND: string; EMAIL_NOT_VERIFIED: string; PASSWORD_TOO_SHORT: string; PASSWORD_TOO_LONG: string; USER_ALREADY_EXISTS: string; EMAIL_CAN_NOT_BE_UPDATED: string; CREDENTIAL_ACCOUNT_NOT_FOUND: string; SESSION_EXPIRED: string; FAILED_TO_UNLINK_LAST_ACCOUNT: string; ACCOUNT_NOT_FOUND: string; USER_ALREADY_HAS_PASSWORD: string; })[K_22][K_23][K_24][K_25] extends object ? (InferErrorCodes<(C extends undefined ? {} : C) & { baseURL: string | undefined; fetchOptions: { customFetchImpl: (url: string | URL | Request, init?: RequestInit) => Promise; }; }> & { USER_NOT_FOUND: string; FAILED_TO_CREATE_USER: string; FAILED_TO_CREATE_SESSION: string; FAILED_TO_UPDATE_USER: string; FAILED_TO_GET_SESSION: string; INVALID_PASSWORD: string; INVALID_EMAIL: string; INVALID_EMAIL_OR_PASSWORD: string; SOCIAL_ACCOUNT_ALREADY_LINKED: string; PROVIDER_NOT_FOUND: string; INVALID_TOKEN: string; ID_TOKEN_NOT_SUPPORTED: string; FAILED_TO_GET_USER_INFO: string; USER_EMAIL_NOT_FOUND: string; EMAIL_NOT_VERIFIED: string; PASSWORD_TOO_SHORT: string; PASSWORD_TOO_LONG: string; USER_ALREADY_EXISTS: string; EMAIL_CAN_NOT_BE_UPDATED: string; CREDENTIAL_ACCOUNT_NOT_FOUND: string; SESSION_EXPIRED: string; FAILED_TO_UNLINK_LAST_ACCOUNT: string; ACCOUNT_NOT_FOUND: string; USER_ALREADY_HAS_PASSWORD: string; })[K_22][K_23][K_24][K_25] extends any[] ? (InferErrorCodes<(C extends undefined ? {} : C) & { baseURL: string | undefined; fetchOptions: { customFetchImpl: (url: string | URL | Request, init?: RequestInit) => Promise; }; }> & { USER_NOT_FOUND: string; FAILED_TO_CREATE_USER: string; FAILED_TO_CREATE_SESSION: string; FAILED_TO_UPDATE_USER: string; FAILED_TO_GET_SESSION: string; INVALID_PASSWORD: string; INVALID_EMAIL: string; INVALID_EMAIL_OR_PASSWORD: string; SOCIAL_ACCOUNT_ALREADY_LINKED: string; PROVIDER_NOT_FOUND: string; INVALID_TOKEN: string; ID_TOKEN_NOT_SUPPORTED: string; FAILED_TO_GET_USER_INFO: string; USER_EMAIL_NOT_FOUND: string; EMAIL_NOT_VERIFIED: string; PASSWORD_TOO_SHORT: string; PASSWORD_TOO_LONG: string; USER_ALREADY_EXISTS: string; EMAIL_CAN_NOT_BE_UPDATED: string; CREDENTIAL_ACCOUNT_NOT_FOUND: string; SESSION_EXPIRED: string; FAILED_TO_UNLINK_LAST_ACCOUNT: string; ACCOUNT_NOT_FOUND: string; USER_ALREADY_HAS_PASSWORD: string; })[K_22][K_23][K_24][K_25] : (InferErrorCodes<(C extends undefined ? {} : C) & { baseURL: string | undefined; fetchOptions: { customFetchImpl: (url: string | URL | Request, init?: RequestInit) => Promise; }; }> & { USER_NOT_FOUND: string; FAILED_TO_CREATE_USER: string; FAILED_TO_CREATE_SESSION: string; FAILED_TO_UPDATE_USER: string; FAILED_TO_GET_SESSION: string; INVALID_PASSWORD: string; INVALID_EMAIL: string; INVALID_EMAIL_OR_PASSWORD: string; SOCIAL_ACCOUNT_ALREADY_LINKED: string; PROVIDER_NOT_FOUND: string; INVALID_TOKEN: string; ID_TOKEN_NOT_SUPPORTED: string; FAILED_TO_GET_USER_INFO: string; USER_EMAIL_NOT_FOUND: string; EMAIL_NOT_VERIFIED: string; PASSWORD_TOO_SHORT: string; PASSWORD_TOO_LONG: string; USER_ALREADY_EXISTS: string; EMAIL_CAN_NOT_BE_UPDATED: string; CREDENTIAL_ACCOUNT_NOT_FOUND: string; SESSION_EXPIRED: string; FAILED_TO_UNLINK_LAST_ACCOUNT: string; ACCOUNT_NOT_FOUND: string; USER_ALREADY_HAS_PASSWORD: string; })[K_22][K_23][K_24][K_25] extends Date ? (InferErrorCodes<(C extends undefined ? {} : C) & { baseURL: string | undefined; fetchOptions: { customFetchImpl: (url: string | URL | Request, init?: RequestInit) => Promise; }; }> & { USER_NOT_FOUND: string; FAILED_TO_CREATE_USER: string; FAILED_TO_CREATE_SESSION: string; FAILED_TO_UPDATE_USER: string; FAILED_TO_GET_SESSION: string; INVALID_PASSWORD: string; INVALID_EMAIL: string; INVALID_EMAIL_OR_PASSWORD: string; SOCIAL_ACCOUNT_ALREADY_LINKED: string; PROVIDER_NOT_FOUND: string; INVALID_TOKEN: string; ID_TOKEN_NOT_SUPPORTED: string; FAILED_TO_GET_USER_INFO: string; USER_EMAIL_NOT_FOUND: string; EMAIL_NOT_VERIFIED: string; PASSWORD_TOO_SHORT: string; PASSWORD_TOO_LONG: string; USER_ALREADY_EXISTS: string; EMAIL_CAN_NOT_BE_UPDATED: string; CREDENTIAL_ACCOUNT_NOT_FOUND: string; SESSION_EXPIRED: string; FAILED_TO_UNLINK_LAST_ACCOUNT: string; ACCOUNT_NOT_FOUND: string; USER_ALREADY_HAS_PASSWORD: string; })[K_22][K_23][K_24][K_25] : (InferErrorCodes<(C extends undefined ? {} : C) & { baseURL: string | undefined; fetchOptions: { customFetchImpl: (url: string | URL | Request, init?: RequestInit) => Promise; }; }> & { USER_NOT_FOUND: string; FAILED_TO_CREATE_USER: string; FAILED_TO_CREATE_SESSION: string; FAILED_TO_UPDATE_USER: string; FAILED_TO_GET_SESSION: string; INVALID_PASSWORD: string; INVALID_EMAIL: string; INVALID_EMAIL_OR_PASSWORD: string; SOCIAL_ACCOUNT_ALREADY_LINKED: string; PROVIDER_NOT_FOUND: string; INVALID_TOKEN: string; ID_TOKEN_NOT_SUPPORTED: string; FAILED_TO_GET_USER_INFO: string; USER_EMAIL_NOT_FOUND: string; EMAIL_NOT_VERIFIED: string; PASSWORD_TOO_SHORT: string; PASSWORD_TOO_LONG: string; USER_ALREADY_EXISTS: string; EMAIL_CAN_NOT_BE_UPDATED: string; CREDENTIAL_ACCOUNT_NOT_FOUND: string; SESSION_EXPIRED: string; FAILED_TO_UNLINK_LAST_ACCOUNT: string; ACCOUNT_NOT_FOUND: string; USER_ALREADY_HAS_PASSWORD: string; })[K_22][K_23][K_24][K_25] extends infer T_225 ? { [K_26 in keyof T_225]: (InferErrorCodes<(C extends undefined ? {} : C) & { baseURL: string | undefined; fetchOptions: { customFetchImpl: (url: string | URL | Request, init?: RequestInit) => Promise; }; }> & { USER_NOT_FOUND: string; FAILED_TO_CREATE_USER: string; FAILED_TO_CREATE_SESSION: string; FAILED_TO_UPDATE_USER: string; FAILED_TO_GET_SESSION: string; INVALID_PASSWORD: string; INVALID_EMAIL: string; INVALID_EMAIL_OR_PASSWORD: string; SOCIAL_ACCOUNT_ALREADY_LINKED: string; PROVIDER_NOT_FOUND: string; INVALID_TOKEN: string; ID_TOKEN_NOT_SUPPORTED: string; FAILED_TO_GET_USER_INFO: string; USER_EMAIL_NOT_FOUND: string; EMAIL_NOT_VERIFIED: string; PASSWORD_TOO_SHORT: string; PASSWORD_TOO_LONG: string; USER_ALREADY_EXISTS: string; EMAIL_CAN_NOT_BE_UPDATED: string; CREDENTIAL_ACCOUNT_NOT_FOUND: string; SESSION_EXPIRED: string; FAILED_TO_UNLINK_LAST_ACCOUNT: string; ACCOUNT_NOT_FOUND: string; USER_ALREADY_HAS_PASSWORD: string; })[K_22][K_23][K_24][K_25][K_26] extends (...args: any[]) => any ? (InferErrorCodes<(C extends undefined ? {} : C) & { baseURL: string | undefined; fetchOptions: { customFetchImpl: (url: string | URL | Request, init?: RequestInit) => Promise; }; }> & { USER_NOT_FOUND: string; FAILED_TO_CREATE_USER: string; FAILED_TO_CREATE_SESSION: string; FAILED_TO_UPDATE_USER: string; FAILED_TO_GET_SESSION: string; INVALID_PASSWORD: string; INVALID_EMAIL: string; INVALID_EMAIL_OR_PASSWORD: string; SOCIAL_ACCOUNT_ALREADY_LINKED: string; PROVIDER_NOT_FOUND: string; INVALID_TOKEN: string; ID_TOKEN_NOT_SUPPORTED: string; FAILED_TO_GET_USER_INFO: string; USER_EMAIL_NOT_FOUND: string; EMAIL_NOT_VERIFIED: string; PASSWORD_TOO_SHORT: string; PASSWORD_TOO_LONG: string; USER_ALREADY_EXISTS: string; EMAIL_CAN_NOT_BE_UPDATED: string; CREDENTIAL_ACCOUNT_NOT_FOUND: string; SESSION_EXPIRED: string; FAILED_TO_UNLINK_LAST_ACCOUNT: string; ACCOUNT_NOT_FOUND: string; USER_ALREADY_HAS_PASSWORD: string; })[K_22][K_23][K_24][K_25][K_26] : (InferErrorCodes<(C extends undefined ? {} : C) & { baseURL: string | undefined; fetchOptions: { customFetchImpl: (url: string | URL | Request, init?: RequestInit) => Promise; }; }> & { USER_NOT_FOUND: string; FAILED_TO_CREATE_USER: string; FAILED_TO_CREATE_SESSION: string; FAILED_TO_UPDATE_USER: string; FAILED_TO_GET_SESSION: string; INVALID_PASSWORD: string; INVALID_EMAIL: string; INVALID_EMAIL_OR_PASSWORD: string; SOCIAL_ACCOUNT_ALREADY_LINKED: string; PROVIDER_NOT_FOUND: string; INVALID_TOKEN: string; ID_TOKEN_NOT_SUPPORTED: string; FAILED_TO_GET_USER_INFO: string; USER_EMAIL_NOT_FOUND: string; EMAIL_NOT_VERIFIED: string; PASSWORD_TOO_SHORT: string; PASSWORD_TOO_LONG: string; USER_ALREADY_EXISTS: string; EMAIL_CAN_NOT_BE_UPDATED: string; CREDENTIAL_ACCOUNT_NOT_FOUND: string; SESSION_EXPIRED: string; FAILED_TO_UNLINK_LAST_ACCOUNT: string; ACCOUNT_NOT_FOUND: string; USER_ALREADY_HAS_PASSWORD: string; })[K_22][K_23][K_24][K_25][K_26] extends object ? (InferErrorCodes<(C extends undefined ? {} : C) & { baseURL: string | undefined; fetchOptions: { customFetchImpl: (url: string | URL | Request, init?: RequestInit) => Promise; }; }> & { USER_NOT_FOUND: string; FAILED_TO_CREATE_USER: string; FAILED_TO_CREATE_SESSION: string; FAILED_TO_UPDATE_USER: string; FAILED_TO_GET_SESSION: string; INVALID_PASSWORD: string; INVALID_EMAIL: string; INVALID_EMAIL_OR_PASSWORD: string; SOCIAL_ACCOUNT_ALREADY_LINKED: string; PROVIDER_NOT_FOUND: string; INVALID_TOKEN: string; ID_TOKEN_NOT_SUPPORTED: string; FAILED_TO_GET_USER_INFO: string; USER_EMAIL_NOT_FOUND: string; EMAIL_NOT_VERIFIED: string; PASSWORD_TOO_SHORT: string; PASSWORD_TOO_LONG: string; USER_ALREADY_EXISTS: string; EMAIL_CAN_NOT_BE_UPDATED: string; CREDENTIAL_ACCOUNT_NOT_FOUND: string; SESSION_EXPIRED: string; FAILED_TO_UNLINK_LAST_ACCOUNT: string; ACCOUNT_NOT_FOUND: string; USER_ALREADY_HAS_PASSWORD: string; })[K_22][K_23][K_24][K_25][K_26] extends any[] ? (InferErrorCodes<(C extends undefined ? {} : C) & { baseURL: string | undefined; fetchOptions: { customFetchImpl: (url: string | URL | Request, init?: RequestInit) => Promise; }; }> & { USER_NOT_FOUND: string; FAILED_TO_CREATE_USER: string; FAILED_TO_CREATE_SESSION: string; FAILED_TO_UPDATE_USER: string; FAILED_TO_GET_SESSION: string; INVALID_PASSWORD: string; INVALID_EMAIL: string; INVALID_EMAIL_OR_PASSWORD: string; SOCIAL_ACCOUNT_ALREADY_LINKED: string; PROVIDER_NOT_FOUND: string; INVALID_TOKEN: string; ID_TOKEN_NOT_SUPPORTED: string; FAILED_TO_GET_USER_INFO: string; USER_EMAIL_NOT_FOUND: string; EMAIL_NOT_VERIFIED: string; PASSWORD_TOO_SHORT: string; PASSWORD_TOO_LONG: string; USER_ALREADY_EXISTS: string; EMAIL_CAN_NOT_BE_UPDATED: string; CREDENTIAL_ACCOUNT_NOT_FOUND: string; SESSION_EXPIRED: string; FAILED_TO_UNLINK_LAST_ACCOUNT: string; ACCOUNT_NOT_FOUND: string; USER_ALREADY_HAS_PASSWORD: string; })[K_22][K_23][K_24][K_25][K_26] : (InferErrorCodes<(C extends undefined ? {} : C) & { baseURL: string | undefined; fetchOptions: { customFetchImpl: (url: string | URL | Request, init?: RequestInit) => Promise; }; }> & { USER_NOT_FOUND: string; FAILED_TO_CREATE_USER: string; FAILED_TO_CREATE_SESSION: string; FAILED_TO_UPDATE_USER: string; FAILED_TO_GET_SESSION: string; INVALID_PASSWORD: string; INVALID_EMAIL: string; INVALID_EMAIL_OR_PASSWORD: string; SOCIAL_ACCOUNT_ALREADY_LINKED: string; PROVIDER_NOT_FOUND: string; INVALID_TOKEN: string; ID_TOKEN_NOT_SUPPORTED: string; FAILED_TO_GET_USER_INFO: string; USER_EMAIL_NOT_FOUND: string; EMAIL_NOT_VERIFIED: string; PASSWORD_TOO_SHORT: string; PASSWORD_TOO_LONG: string; USER_ALREADY_EXISTS: string; EMAIL_CAN_NOT_BE_UPDATED: string; CREDENTIAL_ACCOUNT_NOT_FOUND: string; SESSION_EXPIRED: string; FAILED_TO_UNLINK_LAST_ACCOUNT: string; ACCOUNT_NOT_FOUND: string; USER_ALREADY_HAS_PASSWORD: string; })[K_22][K_23][K_24][K_25][K_26] extends Date ? (InferErrorCodes<(C extends undefined ? {} : C) & { baseURL: string | undefined; fetchOptions: { customFetchImpl: (url: string | URL | Request, init?: RequestInit) => Promise; }; }> & { USER_NOT_FOUND: string; FAILED_TO_CREATE_USER: string; FAILED_TO_CREATE_SESSION: string; FAILED_TO_UPDATE_USER: string; FAILED_TO_GET_SESSION: string; INVALID_PASSWORD: string; INVALID_EMAIL: string; INVALID_EMAIL_OR_PASSWORD: string; SOCIAL_ACCOUNT_ALREADY_LINKED: string; PROVIDER_NOT_FOUND: string; INVALID_TOKEN: string; ID_TOKEN_NOT_SUPPORTED: string; FAILED_TO_GET_USER_INFO: string; USER_EMAIL_NOT_FOUND: string; EMAIL_NOT_VERIFIED: string; PASSWORD_TOO_SHORT: string; PASSWORD_TOO_LONG: string; USER_ALREADY_EXISTS: string; EMAIL_CAN_NOT_BE_UPDATED: string; CREDENTIAL_ACCOUNT_NOT_FOUND: string; SESSION_EXPIRED: string; FAILED_TO_UNLINK_LAST_ACCOUNT: string; ACCOUNT_NOT_FOUND: string; USER_ALREADY_HAS_PASSWORD: string; })[K_22][K_23][K_24][K_25][K_26] : (InferErrorCodes<(C extends undefined ? {} : C) & { baseURL: string | undefined; fetchOptions: { customFetchImpl: (url: string | URL | Request, init?: RequestInit) => Promise; }; }> & { USER_NOT_FOUND: string; FAILED_TO_CREATE_USER: string; FAILED_TO_CREATE_SESSION: string; FAILED_TO_UPDATE_USER: string; FAILED_TO_GET_SESSION: string; INVALID_PASSWORD: string; INVALID_EMAIL: string; INVALID_EMAIL_OR_PASSWORD: string; SOCIAL_ACCOUNT_ALREADY_LINKED: string; PROVIDER_NOT_FOUND: string; INVALID_TOKEN: string; ID_TOKEN_NOT_SUPPORTED: string; FAILED_TO_GET_USER_INFO: string; USER_EMAIL_NOT_FOUND: string; EMAIL_NOT_VERIFIED: string; PASSWORD_TOO_SHORT: string; PASSWORD_TOO_LONG: string; USER_ALREADY_EXISTS: string; EMAIL_CAN_NOT_BE_UPDATED: string; CREDENTIAL_ACCOUNT_NOT_FOUND: string; SESSION_EXPIRED: string; FAILED_TO_UNLINK_LAST_ACCOUNT: string; ACCOUNT_NOT_FOUND: string; USER_ALREADY_HAS_PASSWORD: string; })[K_22][K_23][K_24][K_25][K_26] extends infer T_226 ? { [K_27 in keyof T_226]: (InferErrorCodes<(C extends undefined ? {} : C) & { baseURL: string | undefined; fetchOptions: { customFetchImpl: (url: string | URL | Request, init?: RequestInit) => Promise; }; }> & { USER_NOT_FOUND: string; FAILED_TO_CREATE_USER: string; FAILED_TO_CREATE_SESSION: string; FAILED_TO_UPDATE_USER: string; FAILED_TO_GET_SESSION: string; INVALID_PASSWORD: string; INVALID_EMAIL: string; INVALID_EMAIL_OR_PASSWORD: string; SOCIAL_ACCOUNT_ALREADY_LINKED: string; PROVIDER_NOT_FOUND: string; INVALID_TOKEN: string; ID_TOKEN_NOT_SUPPORTED: string; FAILED_TO_GET_USER_INFO: string; USER_EMAIL_NOT_FOUND: string; EMAIL_NOT_VERIFIED: string; PASSWORD_TOO_SHORT: string; PASSWORD_TOO_LONG: string; USER_ALREADY_EXISTS: string; EMAIL_CAN_NOT_BE_UPDATED: string; CREDENTIAL_ACCOUNT_NOT_FOUND: string; SESSION_EXPIRED: string; FAILED_TO_UNLINK_LAST_ACCOUNT: string; ACCOUNT_NOT_FOUND: string; USER_ALREADY_HAS_PASSWORD: string; })[K_22][K_23][K_24][K_25][K_26][K_27] extends (...args: any[]) => any ? (InferErrorCodes<(C extends undefined ? {} : C) & { baseURL: string | undefined; fetchOptions: { customFetchImpl: (url: string | URL | Request, init?: RequestInit) => Promise; }; }> & { USER_NOT_FOUND: string; FAILED_TO_CREATE_USER: string; FAILED_TO_CREATE_SESSION: string; FAILED_TO_UPDATE_USER: string; FAILED_TO_GET_SESSION: string; INVALID_PASSWORD: string; INVALID_EMAIL: string; INVALID_EMAIL_OR_PASSWORD: string; SOCIAL_ACCOUNT_ALREADY_LINKED: string; PROVIDER_NOT_FOUND: string; INVALID_TOKEN: string; ID_TOKEN_NOT_SUPPORTED: string; FAILED_TO_GET_USER_INFO: string; USER_EMAIL_NOT_FOUND: string; EMAIL_NOT_VERIFIED: string; PASSWORD_TOO_SHORT: string; PASSWORD_TOO_LONG: string; USER_ALREADY_EXISTS: string; EMAIL_CAN_NOT_BE_UPDATED: string; CREDENTIAL_ACCOUNT_NOT_FOUND: string; SESSION_EXPIRED: string; FAILED_TO_UNLINK_LAST_ACCOUNT: string; ACCOUNT_NOT_FOUND: string; USER_ALREADY_HAS_PASSWORD: string; })[K_22][K_23][K_24][K_25][K_26][K_27] : (InferErrorCodes<(C extends undefined ? {} : C) & { baseURL: string | undefined; fetchOptions: { customFetchImpl: (url: string | URL | Request, init?: RequestInit) => Promise; }; }> & { USER_NOT_FOUND: string; FAILED_TO_CREATE_USER: string; FAILED_TO_CREATE_SESSION: string; FAILED_TO_UPDATE_USER: string; FAILED_TO_GET_SESSION: string; INVALID_PASSWORD: string; INVALID_EMAIL: string; INVALID_EMAIL_OR_PASSWORD: string; SOCIAL_ACCOUNT_ALREADY_LINKED: string; PROVIDER_NOT_FOUND: string; INVALID_TOKEN: string; ID_TOKEN_NOT_SUPPORTED: string; FAILED_TO_GET_USER_INFO: string; USER_EMAIL_NOT_FOUND: string; EMAIL_NOT_VERIFIED: string; PASSWORD_TOO_SHORT: string; PASSWORD_TOO_LONG: string; USER_ALREADY_EXISTS: string; EMAIL_CAN_NOT_BE_UPDATED: string; CREDENTIAL_ACCOUNT_NOT_FOUND: string; SESSION_EXPIRED: string; FAILED_TO_UNLINK_LAST_ACCOUNT: string; ACCOUNT_NOT_FOUND: string; USER_ALREADY_HAS_PASSWORD: string; })[K_22][K_23][K_24][K_25][K_26][K_27] extends object ? (InferErrorCodes<(C extends undefined ? {} : C) & { baseURL: string | undefined; fetchOptions: { customFetchImpl: (url: string | URL | Request, init?: RequestInit) => Promise; }; }> & { USER_NOT_FOUND: string; FAILED_TO_CREATE_USER: string; FAILED_TO_CREATE_SESSION: string; FAILED_TO_UPDATE_USER: string; FAILED_TO_GET_SESSION: string; INVALID_PASSWORD: string; INVALID_EMAIL: string; INVALID_EMAIL_OR_PASSWORD: string; SOCIAL_ACCOUNT_ALREADY_LINKED: string; PROVIDER_NOT_FOUND: string; INVALID_TOKEN: string; ID_TOKEN_NOT_SUPPORTED: string; FAILED_TO_GET_USER_INFO: string; USER_EMAIL_NOT_FOUND: string; EMAIL_NOT_VERIFIED: string; PASSWORD_TOO_SHORT: string; PASSWORD_TOO_LONG: string; USER_ALREADY_EXISTS: string; EMAIL_CAN_NOT_BE_UPDATED: string; CREDENTIAL_ACCOUNT_NOT_FOUND: string; SESSION_EXPIRED: string; FAILED_TO_UNLINK_LAST_ACCOUNT: string; ACCOUNT_NOT_FOUND: string; USER_ALREADY_HAS_PASSWORD: string; })[K_22][K_23][K_24][K_25][K_26][K_27] extends any[] ? (InferErrorCodes<(C extends undefined ? {} : C) & { baseURL: string | undefined; fetchOptions: { customFetchImpl: (url: string | URL | Request, init?: RequestInit) => Promise; }; }> & { USER_NOT_FOUND: string; FAILED_TO_CREATE_USER: string; FAILED_TO_CREATE_SESSION: string; FAILED_TO_UPDATE_USER: string; FAILED_TO_GET_SESSION: string; INVALID_PASSWORD: string; INVALID_EMAIL: string; INVALID_EMAIL_OR_PASSWORD: string; SOCIAL_ACCOUNT_ALREADY_LINKED: string; PROVIDER_NOT_FOUND: string; INVALID_TOKEN: string; ID_TOKEN_NOT_SUPPORTED: string; FAILED_TO_GET_USER_INFO: string; USER_EMAIL_NOT_FOUND: string; EMAIL_NOT_VERIFIED: string; PASSWORD_TOO_SHORT: string; PASSWORD_TOO_LONG: string; USER_ALREADY_EXISTS: string; EMAIL_CAN_NOT_BE_UPDATED: string; CREDENTIAL_ACCOUNT_NOT_FOUND: string; SESSION_EXPIRED: string; FAILED_TO_UNLINK_LAST_ACCOUNT: string; ACCOUNT_NOT_FOUND: string; USER_ALREADY_HAS_PASSWORD: string; })[K_22][K_23][K_24][K_25][K_26][K_27] : (InferErrorCodes<(C extends undefined ? {} : C) & { baseURL: string | undefined; fetchOptions: { customFetchImpl: (url: string | URL | Request, init?: RequestInit) => Promise; }; }> & { USER_NOT_FOUND: string; FAILED_TO_CREATE_USER: string; FAILED_TO_CREATE_SESSION: string; FAILED_TO_UPDATE_USER: string; FAILED_TO_GET_SESSION: string; INVALID_PASSWORD: string; INVALID_EMAIL: string; INVALID_EMAIL_OR_PASSWORD: string; SOCIAL_ACCOUNT_ALREADY_LINKED: string; PROVIDER_NOT_FOUND: string; INVALID_TOKEN: string; ID_TOKEN_NOT_SUPPORTED: string; FAILED_TO_GET_USER_INFO: string; USER_EMAIL_NOT_FOUND: string; EMAIL_NOT_VERIFIED: string; PASSWORD_TOO_SHORT: string; PASSWORD_TOO_LONG: string; USER_ALREADY_EXISTS: string; EMAIL_CAN_NOT_BE_UPDATED: string; CREDENTIAL_ACCOUNT_NOT_FOUND: string; SESSION_EXPIRED: string; FAILED_TO_UNLINK_LAST_ACCOUNT: string; ACCOUNT_NOT_FOUND: string; USER_ALREADY_HAS_PASSWORD: string; })[K_22][K_23][K_24][K_25][K_26][K_27] extends Date ? (InferErrorCodes<(C extends undefined ? {} : C) & { baseURL: string | undefined; fetchOptions: { customFetchImpl: (url: string | URL | Request, init?: RequestInit) => Promise; }; }> & { USER_NOT_FOUND: string; FAILED_TO_CREATE_USER: string; FAILED_TO_CREATE_SESSION: string; FAILED_TO_UPDATE_USER: string; FAILED_TO_GET_SESSION: string; INVALID_PASSWORD: string; INVALID_EMAIL: string; INVALID_EMAIL_OR_PASSWORD: string; SOCIAL_ACCOUNT_ALREADY_LINKED: string; PROVIDER_NOT_FOUND: string; INVALID_TOKEN: string; ID_TOKEN_NOT_SUPPORTED: string; FAILED_TO_GET_USER_INFO: string; USER_EMAIL_NOT_FOUND: string; EMAIL_NOT_VERIFIED: string; PASSWORD_TOO_SHORT: string; PASSWORD_TOO_LONG: string; USER_ALREADY_EXISTS: string; EMAIL_CAN_NOT_BE_UPDATED: string; CREDENTIAL_ACCOUNT_NOT_FOUND: string; SESSION_EXPIRED: string; FAILED_TO_UNLINK_LAST_ACCOUNT: string; ACCOUNT_NOT_FOUND: string; USER_ALREADY_HAS_PASSWORD: string; })[K_22][K_23][K_24][K_25][K_26][K_27] : (InferErrorCodes<(C extends undefined ? {} : C) & { baseURL: string | undefined; fetchOptions: { customFetchImpl: (url: string | URL | Request, init?: RequestInit) => Promise; }; }> & { USER_NOT_FOUND: string; FAILED_TO_CREATE_USER: string; FAILED_TO_CREATE_SESSION: string; FAILED_TO_UPDATE_USER: string; FAILED_TO_GET_SESSION: string; INVALID_PASSWORD: string; INVALID_EMAIL: string; INVALID_EMAIL_OR_PASSWORD: string; SOCIAL_ACCOUNT_ALREADY_LINKED: string; PROVIDER_NOT_FOUND: string; INVALID_TOKEN: string; ID_TOKEN_NOT_SUPPORTED: string; FAILED_TO_GET_USER_INFO: string; USER_EMAIL_NOT_FOUND: string; EMAIL_NOT_VERIFIED: string; PASSWORD_TOO_SHORT: string; PASSWORD_TOO_LONG: string; USER_ALREADY_EXISTS: string; EMAIL_CAN_NOT_BE_UPDATED: string; CREDENTIAL_ACCOUNT_NOT_FOUND: string; SESSION_EXPIRED: string; FAILED_TO_UNLINK_LAST_ACCOUNT: string; ACCOUNT_NOT_FOUND: string; USER_ALREADY_HAS_PASSWORD: string; })[K_22][K_23][K_24][K_25][K_26][K_27] extends infer T_227 ? { [K_28 in keyof T_227]: (InferErrorCodes<(C extends undefined ? {} : C) & { baseURL: string | undefined; fetchOptions: { customFetchImpl: (url: string | URL | Request, init?: RequestInit) => Promise; }; }> & { USER_NOT_FOUND: string; FAILED_TO_CREATE_USER: string; FAILED_TO_CREATE_SESSION: string; FAILED_TO_UPDATE_USER: string; FAILED_TO_GET_SESSION: string; INVALID_PASSWORD: string; INVALID_EMAIL: string; INVALID_EMAIL_OR_PASSWORD: string; SOCIAL_ACCOUNT_ALREADY_LINKED: string; PROVIDER_NOT_FOUND: string; INVALID_TOKEN: string; ID_TOKEN_NOT_SUPPORTED: string; FAILED_TO_GET_USER_INFO: string; USER_EMAIL_NOT_FOUND: string; EMAIL_NOT_VERIFIED: string; PASSWORD_TOO_SHORT: string; PASSWORD_TOO_LONG: string; USER_ALREADY_EXISTS: string; EMAIL_CAN_NOT_BE_UPDATED: string; CREDENTIAL_ACCOUNT_NOT_FOUND: string; SESSION_EXPIRED: string; FAILED_TO_UNLINK_LAST_ACCOUNT: string; ACCOUNT_NOT_FOUND: string; USER_ALREADY_HAS_PASSWORD: string; })[K_22][K_23][K_24][K_25][K_26][K_27][K_28] extends (...args: any[]) => any ? (InferErrorCodes<(C extends undefined ? {} : C) & { baseURL: string | undefined; fetchOptions: { customFetchImpl: (url: string | URL | Request, init?: RequestInit) => Promise; }; }> & { USER_NOT_FOUND: string; FAILED_TO_CREATE_USER: string; FAILED_TO_CREATE_SESSION: string; FAILED_TO_UPDATE_USER: string; FAILED_TO_GET_SESSION: string; INVALID_PASSWORD: string; INVALID_EMAIL: string; INVALID_EMAIL_OR_PASSWORD: string; SOCIAL_ACCOUNT_ALREADY_LINKED: string; PROVIDER_NOT_FOUND: string; INVALID_TOKEN: string; ID_TOKEN_NOT_SUPPORTED: string; FAILED_TO_GET_USER_INFO: string; USER_EMAIL_NOT_FOUND: string; EMAIL_NOT_VERIFIED: string; PASSWORD_TOO_SHORT: string; PASSWORD_TOO_LONG: string; USER_ALREADY_EXISTS: string; EMAIL_CAN_NOT_BE_UPDATED: string; CREDENTIAL_ACCOUNT_NOT_FOUND: string; SESSION_EXPIRED: string; FAILED_TO_UNLINK_LAST_ACCOUNT: string; ACCOUNT_NOT_FOUND: string; USER_ALREADY_HAS_PASSWORD: string; })[K_22][K_23][K_24][K_25][K_26][K_27][K_28] : (InferErrorCodes<(C extends undefined ? {} : C) & { baseURL: string | undefined; fetchOptions: { customFetchImpl: (url: string | URL | Request, init?: RequestInit) => Promise; }; }> & { USER_NOT_FOUND: string; FAILED_TO_CREATE_USER: string; FAILED_TO_CREATE_SESSION: string; FAILED_TO_UPDATE_USER: string; FAILED_TO_GET_SESSION: string; INVALID_PASSWORD: string; INVALID_EMAIL: string; INVALID_EMAIL_OR_PASSWORD: string; SOCIAL_ACCOUNT_ALREADY_LINKED: string; PROVIDER_NOT_FOUND: string; INVALID_TOKEN: string; ID_TOKEN_NOT_SUPPORTED: string; FAILED_TO_GET_USER_INFO: string; USER_EMAIL_NOT_FOUND: string; EMAIL_NOT_VERIFIED: string; PASSWORD_TOO_SHORT: string; PASSWORD_TOO_LONG: string; USER_ALREADY_EXISTS: string; EMAIL_CAN_NOT_BE_UPDATED: string; CREDENTIAL_ACCOUNT_NOT_FOUND: string; SESSION_EXPIRED: string; FAILED_TO_UNLINK_LAST_ACCOUNT: string; ACCOUNT_NOT_FOUND: string; USER_ALREADY_HAS_PASSWORD: string; })[K_22][K_23][K_24][K_25][K_26][K_27][K_28] extends object ? (InferErrorCodes<(C extends undefined ? {} : C) & { baseURL: string | undefined; fetchOptions: { customFetchImpl: (url: string | URL | Request, init?: RequestInit) => Promise; }; }> & { USER_NOT_FOUND: string; FAILED_TO_CREATE_USER: string; FAILED_TO_CREATE_SESSION: string; FAILED_TO_UPDATE_USER: string; FAILED_TO_GET_SESSION: string; INVALID_PASSWORD: string; INVALID_EMAIL: string; INVALID_EMAIL_OR_PASSWORD: string; SOCIAL_ACCOUNT_ALREADY_LINKED: string; PROVIDER_NOT_FOUND: string; INVALID_TOKEN: string; ID_TOKEN_NOT_SUPPORTED: string; FAILED_TO_GET_USER_INFO: string; USER_EMAIL_NOT_FOUND: string; EMAIL_NOT_VERIFIED: string; PASSWORD_TOO_SHORT: string; PASSWORD_TOO_LONG: string; USER_ALREADY_EXISTS: string; EMAIL_CAN_NOT_BE_UPDATED: string; CREDENTIAL_ACCOUNT_NOT_FOUND: string; SESSION_EXPIRED: string; FAILED_TO_UNLINK_LAST_ACCOUNT: string; ACCOUNT_NOT_FOUND: string; USER_ALREADY_HAS_PASSWORD: string; })[K_22][K_23][K_24][K_25][K_26][K_27][K_28] extends any[] ? (InferErrorCodes<(C extends undefined ? {} : C) & { baseURL: string | undefined; fetchOptions: { customFetchImpl: (url: string | URL | Request, init?: RequestInit) => Promise; }; }> & { USER_NOT_FOUND: string; FAILED_TO_CREATE_USER: string; FAILED_TO_CREATE_SESSION: string; FAILED_TO_UPDATE_USER: string; FAILED_TO_GET_SESSION: string; INVALID_PASSWORD: string; INVALID_EMAIL: string; INVALID_EMAIL_OR_PASSWORD: string; SOCIAL_ACCOUNT_ALREADY_LINKED: string; PROVIDER_NOT_FOUND: string; INVALID_TOKEN: string; ID_TOKEN_NOT_SUPPORTED: string; FAILED_TO_GET_USER_INFO: string; USER_EMAIL_NOT_FOUND: string; EMAIL_NOT_VERIFIED: string; PASSWORD_TOO_SHORT: string; PASSWORD_TOO_LONG: string; USER_ALREADY_EXISTS: string; EMAIL_CAN_NOT_BE_UPDATED: string; CREDENTIAL_ACCOUNT_NOT_FOUND: string; SESSION_EXPIRED: string; FAILED_TO_UNLINK_LAST_ACCOUNT: string; ACCOUNT_NOT_FOUND: string; USER_ALREADY_HAS_PASSWORD: string; })[K_22][K_23][K_24][K_25][K_26][K_27][K_28] : (InferErrorCodes<(C extends undefined ? {} : C) & { baseURL: string | undefined; fetchOptions: { customFetchImpl: (url: string | URL | Request, init?: RequestInit) => Promise; }; }> & { USER_NOT_FOUND: string; FAILED_TO_CREATE_USER: string; FAILED_TO_CREATE_SESSION: string; FAILED_TO_UPDATE_USER: string; FAILED_TO_GET_SESSION: string; INVALID_PASSWORD: string; INVALID_EMAIL: string; INVALID_EMAIL_OR_PASSWORD: string; SOCIAL_ACCOUNT_ALREADY_LINKED: string; PROVIDER_NOT_FOUND: string; INVALID_TOKEN: string; ID_TOKEN_NOT_SUPPORTED: string; FAILED_TO_GET_USER_INFO: string; USER_EMAIL_NOT_FOUND: string; EMAIL_NOT_VERIFIED: string; PASSWORD_TOO_SHORT: string; PASSWORD_TOO_LONG: string; USER_ALREADY_EXISTS: string; EMAIL_CAN_NOT_BE_UPDATED: string; CREDENTIAL_ACCOUNT_NOT_FOUND: string; SESSION_EXPIRED: string; FAILED_TO_UNLINK_LAST_ACCOUNT: string; ACCOUNT_NOT_FOUND: string; USER_ALREADY_HAS_PASSWORD: string; })[K_22][K_23][K_24][K_25][K_26][K_27][K_28] extends Date ? (InferErrorCodes<(C extends undefined ? {} : C) & { baseURL: string | undefined; fetchOptions: { customFetchImpl: (url: string | URL | Request, init?: RequestInit) => Promise; }; }> & { USER_NOT_FOUND: string; FAILED_TO_CREATE_USER: string; FAILED_TO_CREATE_SESSION: string; FAILED_TO_UPDATE_USER: string; FAILED_TO_GET_SESSION: string; INVALID_PASSWORD: string; INVALID_EMAIL: string; INVALID_EMAIL_OR_PASSWORD: string; SOCIAL_ACCOUNT_ALREADY_LINKED: string; PROVIDER_NOT_FOUND: string; INVALID_TOKEN: string; ID_TOKEN_NOT_SUPPORTED: string; FAILED_TO_GET_USER_INFO: string; USER_EMAIL_NOT_FOUND: string; EMAIL_NOT_VERIFIED: string; PASSWORD_TOO_SHORT: string; PASSWORD_TOO_LONG: string; USER_ALREADY_EXISTS: string; EMAIL_CAN_NOT_BE_UPDATED: string; CREDENTIAL_ACCOUNT_NOT_FOUND: string; SESSION_EXPIRED: string; FAILED_TO_UNLINK_LAST_ACCOUNT: string; ACCOUNT_NOT_FOUND: string; USER_ALREADY_HAS_PASSWORD: string; })[K_22][K_23][K_24][K_25][K_26][K_27][K_28] : (InferErrorCodes<(C extends undefined ? {} : C) & { baseURL: string | undefined; fetchOptions: { customFetchImpl: (url: string | URL | Request, init?: RequestInit) => Promise; }; }> & { USER_NOT_FOUND: string; FAILED_TO_CREATE_USER: string; FAILED_TO_CREATE_SESSION: string; FAILED_TO_UPDATE_USER: string; FAILED_TO_GET_SESSION: string; INVALID_PASSWORD: string; INVALID_EMAIL: string; INVALID_EMAIL_OR_PASSWORD: string; SOCIAL_ACCOUNT_ALREADY_LINKED: string; PROVIDER_NOT_FOUND: string; INVALID_TOKEN: string; ID_TOKEN_NOT_SUPPORTED: string; FAILED_TO_GET_USER_INFO: string; USER_EMAIL_NOT_FOUND: string; EMAIL_NOT_VERIFIED: string; PASSWORD_TOO_SHORT: string; PASSWORD_TOO_LONG: string; USER_ALREADY_EXISTS: string; EMAIL_CAN_NOT_BE_UPDATED: string; CREDENTIAL_ACCOUNT_NOT_FOUND: string; SESSION_EXPIRED: string; FAILED_TO_UNLINK_LAST_ACCOUNT: string; ACCOUNT_NOT_FOUND: string; USER_ALREADY_HAS_PASSWORD: string; })[K_22][K_23][K_24][K_25][K_26][K_27][K_28] extends infer T_228 ? { [K_29 in keyof T_228]: (InferErrorCodes<(C extends undefined ? {} : C) & { baseURL: string | undefined; fetchOptions: { customFetchImpl: (url: string | URL | Request, init?: RequestInit) => Promise; }; }> & { USER_NOT_FOUND: string; FAILED_TO_CREATE_USER: string; FAILED_TO_CREATE_SESSION: string; FAILED_TO_UPDATE_USER: string; FAILED_TO_GET_SESSION: string; INVALID_PASSWORD: string; INVALID_EMAIL: string; INVALID_EMAIL_OR_PASSWORD: string; SOCIAL_ACCOUNT_ALREADY_LINKED: string; PROVIDER_NOT_FOUND: string; INVALID_TOKEN: string; ID_TOKEN_NOT_SUPPORTED: string; FAILED_TO_GET_USER_INFO: string; USER_EMAIL_NOT_FOUND: string; EMAIL_NOT_VERIFIED: string; PASSWORD_TOO_SHORT: string; PASSWORD_TOO_LONG: string; USER_ALREADY_EXISTS: string; EMAIL_CAN_NOT_BE_UPDATED: string; CREDENTIAL_ACCOUNT_NOT_FOUND: string; SESSION_EXPIRED: string; FAILED_TO_UNLINK_LAST_ACCOUNT: string; ACCOUNT_NOT_FOUND: string; USER_ALREADY_HAS_PASSWORD: string; })[K_22][K_23][K_24][K_25][K_26][K_27][K_28][K_29] extends (...args: any[]) => any ? (InferErrorCodes<(C extends undefined ? {} : C) & { baseURL: string | undefined; fetchOptions: { customFetchImpl: (url: string | URL | Request, init?: RequestInit) => Promise; }; }> & { USER_NOT_FOUND: string; FAILED_TO_CREATE_USER: string; FAILED_TO_CREATE_SESSION: string; FAILED_TO_UPDATE_USER: string; FAILED_TO_GET_SESSION: string; INVALID_PASSWORD: string; INVALID_EMAIL: string; INVALID_EMAIL_OR_PASSWORD: string; SOCIAL_ACCOUNT_ALREADY_LINKED: string; PROVIDER_NOT_FOUND: string; INVALID_TOKEN: string; ID_TOKEN_NOT_SUPPORTED: string; FAILED_TO_GET_USER_INFO: string; USER_EMAIL_NOT_FOUND: string; EMAIL_NOT_VERIFIED: string; PASSWORD_TOO_SHORT: string; PASSWORD_TOO_LONG: string; USER_ALREADY_EXISTS: string; EMAIL_CAN_NOT_BE_UPDATED: string; CREDENTIAL_ACCOUNT_NOT_FOUND: string; SESSION_EXPIRED: string; FAILED_TO_UNLINK_LAST_ACCOUNT: string; ACCOUNT_NOT_FOUND: string; USER_ALREADY_HAS_PASSWORD: string; })[K_22][K_23][K_24][K_25][K_26][K_27][K_28][K_29] : (InferErrorCodes<(C extends undefined ? {} : C) & { baseURL: string | undefined; fetchOptions: { customFetchImpl: (url: string | URL | Request, init?: RequestInit) => Promise; }; }> & { USER_NOT_FOUND: string; FAILED_TO_CREATE_USER: string; FAILED_TO_CREATE_SESSION: string; FAILED_TO_UPDATE_USER: string; FAILED_TO_GET_SESSION: string; INVALID_PASSWORD: string; INVALID_EMAIL: string; INVALID_EMAIL_OR_PASSWORD: string; SOCIAL_ACCOUNT_ALREADY_LINKED: string; PROVIDER_NOT_FOUND: string; INVALID_TOKEN: string; ID_TOKEN_NOT_SUPPORTED: string; FAILED_TO_GET_USER_INFO: string; USER_EMAIL_NOT_FOUND: string; EMAIL_NOT_VERIFIED: string; PASSWORD_TOO_SHORT: string; PASSWORD_TOO_LONG: string; USER_ALREADY_EXISTS: string; EMAIL_CAN_NOT_BE_UPDATED: string; CREDENTIAL_ACCOUNT_NOT_FOUND: string; SESSION_EXPIRED: string; FAILED_TO_UNLINK_LAST_ACCOUNT: string; ACCOUNT_NOT_FOUND: string; USER_ALREADY_HAS_PASSWORD: string; })[K_22][K_23][K_24][K_25][K_26][K_27][K_28][K_29] extends object ? (InferErrorCodes<(C extends undefined ? {} : C) & { baseURL: string | undefined; fetchOptions: { customFetchImpl: (url: string | URL | Request, init?: RequestInit) => Promise; }; }> & { USER_NOT_FOUND: string; FAILED_TO_CREATE_USER: string; FAILED_TO_CREATE_SESSION: string; FAILED_TO_UPDATE_USER: string; FAILED_TO_GET_SESSION: string; INVALID_PASSWORD: string; INVALID_EMAIL: string; INVALID_EMAIL_OR_PASSWORD: string; SOCIAL_ACCOUNT_ALREADY_LINKED: string; PROVIDER_NOT_FOUND: string; INVALID_TOKEN: string; ID_TOKEN_NOT_SUPPORTED: string; FAILED_TO_GET_USER_INFO: string; USER_EMAIL_NOT_FOUND: string; EMAIL_NOT_VERIFIED: string; PASSWORD_TOO_SHORT: string; PASSWORD_TOO_LONG: string; USER_ALREADY_EXISTS: string; EMAIL_CAN_NOT_BE_UPDATED: string; CREDENTIAL_ACCOUNT_NOT_FOUND: string; SESSION_EXPIRED: string; FAILED_TO_UNLINK_LAST_ACCOUNT: string; ACCOUNT_NOT_FOUND: string; USER_ALREADY_HAS_PASSWORD: string; })[K_22][K_23][K_24][K_25][K_26][K_27][K_28][K_29] extends any[] ? (InferErrorCodes<(C extends undefined ? {} : C) & { baseURL: string | undefined; fetchOptions: { customFetchImpl: (url: string | URL | Request, init?: RequestInit) => Promise; }; }> & { USER_NOT_FOUND: string; FAILED_TO_CREATE_USER: string; FAILED_TO_CREATE_SESSION: string; FAILED_TO_UPDATE_USER: string; FAILED_TO_GET_SESSION: string; INVALID_PASSWORD: string; INVALID_EMAIL: string; INVALID_EMAIL_OR_PASSWORD: string; SOCIAL_ACCOUNT_ALREADY_LINKED: string; PROVIDER_NOT_FOUND: string; INVALID_TOKEN: string; ID_TOKEN_NOT_SUPPORTED: string; FAILED_TO_GET_USER_INFO: string; USER_EMAIL_NOT_FOUND: string; EMAIL_NOT_VERIFIED: string; PASSWORD_TOO_SHORT: string; PASSWORD_TOO_LONG: string; USER_ALREADY_EXISTS: string; EMAIL_CAN_NOT_BE_UPDATED: string; CREDENTIAL_ACCOUNT_NOT_FOUND: string; SESSION_EXPIRED: string; FAILED_TO_UNLINK_LAST_ACCOUNT: string; ACCOUNT_NOT_FOUND: string; USER_ALREADY_HAS_PASSWORD: string; })[K_22][K_23][K_24][K_25][K_26][K_27][K_28][K_29] : (InferErrorCodes<(C extends undefined ? {} : C) & { baseURL: string | undefined; fetchOptions: { customFetchImpl: (url: string | URL | Request, init?: RequestInit) => Promise; }; }> & { USER_NOT_FOUND: string; FAILED_TO_CREATE_USER: string; FAILED_TO_CREATE_SESSION: string; FAILED_TO_UPDATE_USER: string; FAILED_TO_GET_SESSION: string; INVALID_PASSWORD: string; INVALID_EMAIL: string; INVALID_EMAIL_OR_PASSWORD: string; SOCIAL_ACCOUNT_ALREADY_LINKED: string; PROVIDER_NOT_FOUND: string; INVALID_TOKEN: string; ID_TOKEN_NOT_SUPPORTED: string; FAILED_TO_GET_USER_INFO: string; USER_EMAIL_NOT_FOUND: string; EMAIL_NOT_VERIFIED: string; PASSWORD_TOO_SHORT: string; PASSWORD_TOO_LONG: string; USER_ALREADY_EXISTS: string; EMAIL_CAN_NOT_BE_UPDATED: string; CREDENTIAL_ACCOUNT_NOT_FOUND: string; SESSION_EXPIRED: string; FAILED_TO_UNLINK_LAST_ACCOUNT: string; ACCOUNT_NOT_FOUND: string; USER_ALREADY_HAS_PASSWORD: string; })[K_22][K_23][K_24][K_25][K_26][K_27][K_28][K_29] extends Date ? (InferErrorCodes<(C extends undefined ? {} : C) & { baseURL: string | undefined; fetchOptions: { customFetchImpl: (url: string | URL | Request, init?: RequestInit) => Promise; }; }> & { USER_NOT_FOUND: string; FAILED_TO_CREATE_USER: string; FAILED_TO_CREATE_SESSION: string; FAILED_TO_UPDATE_USER: string; FAILED_TO_GET_SESSION: string; INVALID_PASSWORD: string; INVALID_EMAIL: string; INVALID_EMAIL_OR_PASSWORD: string; SOCIAL_ACCOUNT_ALREADY_LINKED: string; PROVIDER_NOT_FOUND: string; INVALID_TOKEN: string; ID_TOKEN_NOT_SUPPORTED: string; FAILED_TO_GET_USER_INFO: string; USER_EMAIL_NOT_FOUND: string; EMAIL_NOT_VERIFIED: string; PASSWORD_TOO_SHORT: string; PASSWORD_TOO_LONG: string; USER_ALREADY_EXISTS: string; EMAIL_CAN_NOT_BE_UPDATED: string; CREDENTIAL_ACCOUNT_NOT_FOUND: string; SESSION_EXPIRED: string; FAILED_TO_UNLINK_LAST_ACCOUNT: string; ACCOUNT_NOT_FOUND: string; USER_ALREADY_HAS_PASSWORD: string; })[K_22][K_23][K_24][K_25][K_26][K_27][K_28][K_29] : (InferErrorCodes<(C extends undefined ? {} : C) & { baseURL: string | undefined; fetchOptions: { customFetchImpl: (url: string | URL | Request, init?: RequestInit) => Promise; }; }> & { USER_NOT_FOUND: string; FAILED_TO_CREATE_USER: string; FAILED_TO_CREATE_SESSION: string; FAILED_TO_UPDATE_USER: string; FAILED_TO_GET_SESSION: string; INVALID_PASSWORD: string; INVALID_EMAIL: string; INVALID_EMAIL_OR_PASSWORD: string; SOCIAL_ACCOUNT_ALREADY_LINKED: string; PROVIDER_NOT_FOUND: string; INVALID_TOKEN: string; ID_TOKEN_NOT_SUPPORTED: string; FAILED_TO_GET_USER_INFO: string; USER_EMAIL_NOT_FOUND: string; EMAIL_NOT_VERIFIED: string; PASSWORD_TOO_SHORT: string; PASSWORD_TOO_LONG: string; USER_ALREADY_EXISTS: string; EMAIL_CAN_NOT_BE_UPDATED: string; CREDENTIAL_ACCOUNT_NOT_FOUND: string; SESSION_EXPIRED: string; FAILED_TO_UNLINK_LAST_ACCOUNT: string; ACCOUNT_NOT_FOUND: string; USER_ALREADY_HAS_PASSWORD: string; })[K_22][K_23][K_24][K_25][K_26][K_27][K_28][K_29] extends infer T_229 ? { [K_30 in keyof T_229]: (InferErrorCodes<(C extends undefined ? {} : C) & { baseURL: string | undefined; fetchOptions: { customFetchImpl: (url: string | URL | Request, init?: RequestInit) => Promise; }; }> & { USER_NOT_FOUND: string; FAILED_TO_CREATE_USER: string; FAILED_TO_CREATE_SESSION: string; FAILED_TO_UPDATE_USER: string; FAILED_TO_GET_SESSION: string; INVALID_PASSWORD: string; INVALID_EMAIL: string; INVALID_EMAIL_OR_PASSWORD: string; SOCIAL_ACCOUNT_ALREADY_LINKED: string; PROVIDER_NOT_FOUND: string; INVALID_TOKEN: string; ID_TOKEN_NOT_SUPPORTED: string; FAILED_TO_GET_USER_INFO: string; USER_EMAIL_NOT_FOUND: string; EMAIL_NOT_VERIFIED: string; PASSWORD_TOO_SHORT: string; PASSWORD_TOO_LONG: string; USER_ALREADY_EXISTS: string; EMAIL_CAN_NOT_BE_UPDATED: string; CREDENTIAL_ACCOUNT_NOT_FOUND: string; SESSION_EXPIRED: string; FAILED_TO_UNLINK_LAST_ACCOUNT: string; ACCOUNT_NOT_FOUND: string; USER_ALREADY_HAS_PASSWORD: string; })[K_22][K_23][K_24][K_25][K_26][K_27][K_28][K_29][K_30] extends (...args: any[]) => any ? (InferErrorCodes<(C extends undefined ? {} : C) & { baseURL: string | undefined; fetchOptions: { customFetchImpl: (url: string | URL | Request, init?: RequestInit) => Promise; }; }> & { USER_NOT_FOUND: string; FAILED_TO_CREATE_USER: string; FAILED_TO_CREATE_SESSION: string; FAILED_TO_UPDATE_USER: string; FAILED_TO_GET_SESSION: string; INVALID_PASSWORD: string; INVALID_EMAIL: string; INVALID_EMAIL_OR_PASSWORD: string; SOCIAL_ACCOUNT_ALREADY_LINKED: string; PROVIDER_NOT_FOUND: string; INVALID_TOKEN: string; ID_TOKEN_NOT_SUPPORTED: string; FAILED_TO_GET_USER_INFO: string; USER_EMAIL_NOT_FOUND: string; EMAIL_NOT_VERIFIED: string; PASSWORD_TOO_SHORT: string; PASSWORD_TOO_LONG: string; USER_ALREADY_EXISTS: string; EMAIL_CAN_NOT_BE_UPDATED: string; CREDENTIAL_ACCOUNT_NOT_FOUND: string; SESSION_EXPIRED: string; FAILED_TO_UNLINK_LAST_ACCOUNT: string; ACCOUNT_NOT_FOUND: string; USER_ALREADY_HAS_PASSWORD: string; })[K_22][K_23][K_24][K_25][K_26][K_27][K_28][K_29][K_30] : (InferErrorCodes<(C extends undefined ? {} : C) & { baseURL: string | undefined; fetchOptions: { customFetchImpl: (url: string | URL | Request, init?: RequestInit) => Promise; }; }> & { USER_NOT_FOUND: string; FAILED_TO_CREATE_USER: string; FAILED_TO_CREATE_SESSION: string; FAILED_TO_UPDATE_USER: string; FAILED_TO_GET_SESSION: string; INVALID_PASSWORD: string; INVALID_EMAIL: string; INVALID_EMAIL_OR_PASSWORD: string; SOCIAL_ACCOUNT_ALREADY_LINKED: string; PROVIDER_NOT_FOUND: string; INVALID_TOKEN: string; ID_TOKEN_NOT_SUPPORTED: string; FAILED_TO_GET_USER_INFO: string; USER_EMAIL_NOT_FOUND: string; EMAIL_NOT_VERIFIED: string; PASSWORD_TOO_SHORT: string; PASSWORD_TOO_LONG: string; USER_ALREADY_EXISTS: string; EMAIL_CAN_NOT_BE_UPDATED: string; CREDENTIAL_ACCOUNT_NOT_FOUND: string; SESSION_EXPIRED: string; FAILED_TO_UNLINK_LAST_ACCOUNT: string; ACCOUNT_NOT_FOUND: string; USER_ALREADY_HAS_PASSWORD: string; })[K_22][K_23][K_24][K_25][K_26][K_27][K_28][K_29][K_30] extends object ? (InferErrorCodes<(C extends undefined ? {} : C) & { baseURL: string | undefined; fetchOptions: { customFetchImpl: (url: string | URL | Request, init?: RequestInit) => Promise; }; }> & { USER_NOT_FOUND: string; FAILED_TO_CREATE_USER: string; FAILED_TO_CREATE_SESSION: string; FAILED_TO_UPDATE_USER: string; FAILED_TO_GET_SESSION: string; INVALID_PASSWORD: string; INVALID_EMAIL: string; INVALID_EMAIL_OR_PASSWORD: string; SOCIAL_ACCOUNT_ALREADY_LINKED: string; PROVIDER_NOT_FOUND: string; INVALID_TOKEN: string; ID_TOKEN_NOT_SUPPORTED: string; FAILED_TO_GET_USER_INFO: string; USER_EMAIL_NOT_FOUND: string; EMAIL_NOT_VERIFIED: string; PASSWORD_TOO_SHORT: string; PASSWORD_TOO_LONG: string; USER_ALREADY_EXISTS: string; EMAIL_CAN_NOT_BE_UPDATED: string; CREDENTIAL_ACCOUNT_NOT_FOUND: string; SESSION_EXPIRED: string; FAILED_TO_UNLINK_LAST_ACCOUNT: string; ACCOUNT_NOT_FOUND: string; USER_ALREADY_HAS_PASSWORD: string; })[K_22][K_23][K_24][K_25][K_26][K_27][K_28][K_29][K_30] extends any[] ? (InferErrorCodes<(C extends undefined ? {} : C) & { baseURL: string | undefined; fetchOptions: { customFetchImpl: (url: string | URL | Request, init?: RequestInit) => Promise; }; }> & { USER_NOT_FOUND: string; FAILED_TO_CREATE_USER: string; FAILED_TO_CREATE_SESSION: string; FAILED_TO_UPDATE_USER: string; FAILED_TO_GET_SESSION: string; INVALID_PASSWORD: string; INVALID_EMAIL: string; INVALID_EMAIL_OR_PASSWORD: string; SOCIAL_ACCOUNT_ALREADY_LINKED: string; PROVIDER_NOT_FOUND: string; INVALID_TOKEN: string; ID_TOKEN_NOT_SUPPORTED: string; FAILED_TO_GET_USER_INFO: string; USER_EMAIL_NOT_FOUND: string; EMAIL_NOT_VERIFIED: string; PASSWORD_TOO_SHORT: string; PASSWORD_TOO_LONG: string; USER_ALREADY_EXISTS: string; EMAIL_CAN_NOT_BE_UPDATED: string; CREDENTIAL_ACCOUNT_NOT_FOUND: string; SESSION_EXPIRED: string; FAILED_TO_UNLINK_LAST_ACCOUNT: string; ACCOUNT_NOT_FOUND: string; USER_ALREADY_HAS_PASSWORD: string; })[K_22][K_23][K_24][K_25][K_26][K_27][K_28][K_29][K_30] : (InferErrorCodes<(C extends undefined ? {} : C) & { baseURL: string | undefined; fetchOptions: { customFetchImpl: (url: string | URL | Request, init?: RequestInit) => Promise; }; }> & { USER_NOT_FOUND: string; FAILED_TO_CREATE_USER: string; FAILED_TO_CREATE_SESSION: string; FAILED_TO_UPDATE_USER: string; FAILED_TO_GET_SESSION: string; INVALID_PASSWORD: string; INVALID_EMAIL: string; INVALID_EMAIL_OR_PASSWORD: string; SOCIAL_ACCOUNT_ALREADY_LINKED: string; PROVIDER_NOT_FOUND: string; INVALID_TOKEN: string; ID_TOKEN_NOT_SUPPORTED: string; FAILED_TO_GET_USER_INFO: string; USER_EMAIL_NOT_FOUND: string; EMAIL_NOT_VERIFIED: string; PASSWORD_TOO_SHORT: string; PASSWORD_TOO_LONG: string; USER_ALREADY_EXISTS: string; EMAIL_CAN_NOT_BE_UPDATED: string; CREDENTIAL_ACCOUNT_NOT_FOUND: string; SESSION_EXPIRED: string; FAILED_TO_UNLINK_LAST_ACCOUNT: string; ACCOUNT_NOT_FOUND: string; USER_ALREADY_HAS_PASSWORD: string; })[K_22][K_23][K_24][K_25][K_26][K_27][K_28][K_29][K_30] extends Date ? (InferErrorCodes<(C extends undefined ? {} : C) & { baseURL: string | undefined; fetchOptions: { customFetchImpl: (url: string | URL | Request, init?: RequestInit) => Promise; }; }> & { USER_NOT_FOUND: string; FAILED_TO_CREATE_USER: string; FAILED_TO_CREATE_SESSION: string; FAILED_TO_UPDATE_USER: string; FAILED_TO_GET_SESSION: string; INVALID_PASSWORD: string; INVALID_EMAIL: string; INVALID_EMAIL_OR_PASSWORD: string; SOCIAL_ACCOUNT_ALREADY_LINKED: string; PROVIDER_NOT_FOUND: string; INVALID_TOKEN: string; ID_TOKEN_NOT_SUPPORTED: string; FAILED_TO_GET_USER_INFO: string; USER_EMAIL_NOT_FOUND: string; EMAIL_NOT_VERIFIED: string; PASSWORD_TOO_SHORT: string; PASSWORD_TOO_LONG: string; USER_ALREADY_EXISTS: string; EMAIL_CAN_NOT_BE_UPDATED: string; CREDENTIAL_ACCOUNT_NOT_FOUND: string; SESSION_EXPIRED: string; FAILED_TO_UNLINK_LAST_ACCOUNT: string; ACCOUNT_NOT_FOUND: string; USER_ALREADY_HAS_PASSWORD: string; })[K_22][K_23][K_24][K_25][K_26][K_27][K_28][K_29][K_30] : (InferErrorCodes<(C extends undefined ? {} : C) & { baseURL: string | undefined; fetchOptions: { customFetchImpl: (url: string | URL | Request, init?: RequestInit) => Promise; }; }> & { USER_NOT_FOUND: string; FAILED_TO_CREATE_USER: string; FAILED_TO_CREATE_SESSION: string; FAILED_TO_UPDATE_USER: string; FAILED_TO_GET_SESSION: string; INVALID_PASSWORD: string; INVALID_EMAIL: string; INVALID_EMAIL_OR_PASSWORD: string; SOCIAL_ACCOUNT_ALREADY_LINKED: string; PROVIDER_NOT_FOUND: string; INVALID_TOKEN: string; ID_TOKEN_NOT_SUPPORTED: string; FAILED_TO_GET_USER_INFO: string; USER_EMAIL_NOT_FOUND: string; EMAIL_NOT_VERIFIED: string; PASSWORD_TOO_SHORT: string; PASSWORD_TOO_LONG: string; USER_ALREADY_EXISTS: string; EMAIL_CAN_NOT_BE_UPDATED: string; CREDENTIAL_ACCOUNT_NOT_FOUND: string; SESSION_EXPIRED: string; FAILED_TO_UNLINK_LAST_ACCOUNT: string; ACCOUNT_NOT_FOUND: string; USER_ALREADY_HAS_PASSWORD: string; })[K_22][K_23][K_24][K_25][K_26][K_27][K_28][K_29][K_30] extends infer T_230 ? { [K_31 in keyof T_230]: (InferErrorCodes<(C extends undefined ? {} : C) & { baseURL: string | undefined; fetchOptions: { customFetchImpl: (url: string | URL | Request, init?: RequestInit) => Promise; }; }> & { USER_NOT_FOUND: string; FAILED_TO_CREATE_USER: string; FAILED_TO_CREATE_SESSION: string; FAILED_TO_UPDATE_USER: string; FAILED_TO_GET_SESSION: string; INVALID_PASSWORD: string; INVALID_EMAIL: string; INVALID_EMAIL_OR_PASSWORD: string; SOCIAL_ACCOUNT_ALREADY_LINKED: string; PROVIDER_NOT_FOUND: string; INVALID_TOKEN: string; ID_TOKEN_NOT_SUPPORTED: string; FAILED_TO_GET_USER_INFO: string; USER_EMAIL_NOT_FOUND: string; EMAIL_NOT_VERIFIED: string; PASSWORD_TOO_SHORT: string; PASSWORD_TOO_LONG: string; USER_ALREADY_EXISTS: string; EMAIL_CAN_NOT_BE_UPDATED: string; CREDENTIAL_ACCOUNT_NOT_FOUND: string; SESSION_EXPIRED: string; FAILED_TO_UNLINK_LAST_ACCOUNT: string; ACCOUNT_NOT_FOUND: string; USER_ALREADY_HAS_PASSWORD: string; })[K_22][K_23][K_24][K_25][K_26][K_27][K_28][K_29][K_30][K_31] extends (...args: any[]) => any ? (InferErrorCodes<(C extends undefined ? {} : C) & { baseURL: string | undefined; fetchOptions: { customFetchImpl: (url: string | URL | Request, init?: RequestInit) => Promise; }; }> & { USER_NOT_FOUND: string; FAILED_TO_CREATE_USER: string; FAILED_TO_CREATE_SESSION: string; FAILED_TO_UPDATE_USER: string; FAILED_TO_GET_SESSION: string; INVALID_PASSWORD: string; INVALID_EMAIL: string; INVALID_EMAIL_OR_PASSWORD: string; SOCIAL_ACCOUNT_ALREADY_LINKED: string; PROVIDER_NOT_FOUND: string; INVALID_TOKEN: string; ID_TOKEN_NOT_SUPPORTED: string; FAILED_TO_GET_USER_INFO: string; USER_EMAIL_NOT_FOUND: string; EMAIL_NOT_VERIFIED: string; PASSWORD_TOO_SHORT: string; PASSWORD_TOO_LONG: string; USER_ALREADY_EXISTS: string; EMAIL_CAN_NOT_BE_UPDATED: string; CREDENTIAL_ACCOUNT_NOT_FOUND: string; SESSION_EXPIRED: string; FAILED_TO_UNLINK_LAST_ACCOUNT: string; ACCOUNT_NOT_FOUND: string; USER_ALREADY_HAS_PASSWORD: string; })[K_22][K_23][K_24][K_25][K_26][K_27][K_28][K_29][K_30][K_31] : (InferErrorCodes<(C extends undefined ? {} : C) & { baseURL: string | undefined; fetchOptions: { customFetchImpl: (url: string | URL | Request, init?: RequestInit) => Promise; }; }> & { USER_NOT_FOUND: string; FAILED_TO_CREATE_USER: string; FAILED_TO_CREATE_SESSION: string; FAILED_TO_UPDATE_USER: string; FAILED_TO_GET_SESSION: string; INVALID_PASSWORD: string; INVALID_EMAIL: string; INVALID_EMAIL_OR_PASSWORD: string; SOCIAL_ACCOUNT_ALREADY_LINKED: string; PROVIDER_NOT_FOUND: string; INVALID_TOKEN: string; ID_TOKEN_NOT_SUPPORTED: string; FAILED_TO_GET_USER_INFO: string; USER_EMAIL_NOT_FOUND: string; EMAIL_NOT_VERIFIED: string; PASSWORD_TOO_SHORT: string; PASSWORD_TOO_LONG: string; USER_ALREADY_EXISTS: string; EMAIL_CAN_NOT_BE_UPDATED: string; CREDENTIAL_ACCOUNT_NOT_FOUND: string; SESSION_EXPIRED: string; FAILED_TO_UNLINK_LAST_ACCOUNT: string; ACCOUNT_NOT_FOUND: string; USER_ALREADY_HAS_PASSWORD: string; })[K_22][K_23][K_24][K_25][K_26][K_27][K_28][K_29][K_30][K_31] extends object ? (InferErrorCodes<(C extends undefined ? {} : C) & { baseURL: string | undefined; fetchOptions: { customFetchImpl: (url: string | URL | Request, init?: RequestInit) => Promise; }; }> & { USER_NOT_FOUND: string; FAILED_TO_CREATE_USER: string; FAILED_TO_CREATE_SESSION: string; FAILED_TO_UPDATE_USER: string; FAILED_TO_GET_SESSION: string; INVALID_PASSWORD: string; INVALID_EMAIL: string; INVALID_EMAIL_OR_PASSWORD: string; SOCIAL_ACCOUNT_ALREADY_LINKED: string; PROVIDER_NOT_FOUND: string; INVALID_TOKEN: string; ID_TOKEN_NOT_SUPPORTED: string; FAILED_TO_GET_USER_INFO: string; USER_EMAIL_NOT_FOUND: string; EMAIL_NOT_VERIFIED: string; PASSWORD_TOO_SHORT: string; PASSWORD_TOO_LONG: string; USER_ALREADY_EXISTS: string; EMAIL_CAN_NOT_BE_UPDATED: string; CREDENTIAL_ACCOUNT_NOT_FOUND: string; SESSION_EXPIRED: string; FAILED_TO_UNLINK_LAST_ACCOUNT: string; ACCOUNT_NOT_FOUND: string; USER_ALREADY_HAS_PASSWORD: string; })[K_22][K_23][K_24][K_25][K_26][K_27][K_28][K_29][K_30][K_31] extends any[] ? (InferErrorCodes<(C extends undefined ? {} : C) & { baseURL: string | undefined; fetchOptions: { customFetchImpl: (url: string | URL | Request, init?: RequestInit) => Promise; }; }> & { USER_NOT_FOUND: string; FAILED_TO_CREATE_USER: string; FAILED_TO_CREATE_SESSION: string; FAILED_TO_UPDATE_USER: string; FAILED_TO_GET_SESSION: string; INVALID_PASSWORD: string; INVALID_EMAIL: string; INVALID_EMAIL_OR_PASSWORD: string; SOCIAL_ACCOUNT_ALREADY_LINKED: string; PROVIDER_NOT_FOUND: string; INVALID_TOKEN: string; ID_TOKEN_NOT_SUPPORTED: string; FAILED_TO_GET_USER_INFO: string; USER_EMAIL_NOT_FOUND: string; EMAIL_NOT_VERIFIED: string; PASSWORD_TOO_SHORT: string; PASSWORD_TOO_LONG: string; USER_ALREADY_EXISTS: string; EMAIL_CAN_NOT_BE_UPDATED: string; CREDENTIAL_ACCOUNT_NOT_FOUND: string; SESSION_EXPIRED: string; FAILED_TO_UNLINK_LAST_ACCOUNT: string; ACCOUNT_NOT_FOUND: string; USER_ALREADY_HAS_PASSWORD: string; })[K_22][K_23][K_24][K_25][K_26][K_27][K_28][K_29][K_30][K_31] : (InferErrorCodes<(C extends undefined ? {} : C) & { baseURL: string | undefined; fetchOptions: { customFetchImpl: (url: string | URL | Request, init?: RequestInit) => Promise; }; }> & { USER_NOT_FOUND: string; FAILED_TO_CREATE_USER: string; FAILED_TO_CREATE_SESSION: string; FAILED_TO_UPDATE_USER: string; FAILED_TO_GET_SESSION: string; INVALID_PASSWORD: string; INVALID_EMAIL: string; INVALID_EMAIL_OR_PASSWORD: string; SOCIAL_ACCOUNT_ALREADY_LINKED: string; PROVIDER_NOT_FOUND: string; INVALID_TOKEN: string; ID_TOKEN_NOT_SUPPORTED: string; FAILED_TO_GET_USER_INFO: string; USER_EMAIL_NOT_FOUND: string; EMAIL_NOT_VERIFIED: string; PASSWORD_TOO_SHORT: string; PASSWORD_TOO_LONG: string; USER_ALREADY_EXISTS: string; EMAIL_CAN_NOT_BE_UPDATED: string; CREDENTIAL_ACCOUNT_NOT_FOUND: string; SESSION_EXPIRED: string; FAILED_TO_UNLINK_LAST_ACCOUNT: string; ACCOUNT_NOT_FOUND: string; USER_ALREADY_HAS_PASSWORD: string; })[K_22][K_23][K_24][K_25][K_26][K_27][K_28][K_29][K_30][K_31] extends Date ? (InferErrorCodes<(C extends undefined ? {} : C) & { baseURL: string | undefined; fetchOptions: { customFetchImpl: (url: string | URL | Request, init?: RequestInit) => Promise; }; }> & { USER_NOT_FOUND: string; FAILED_TO_CREATE_USER: string; FAILED_TO_CREATE_SESSION: string; FAILED_TO_UPDATE_USER: string; FAILED_TO_GET_SESSION: string; INVALID_PASSWORD: string; INVALID_EMAIL: string; INVALID_EMAIL_OR_PASSWORD: string; SOCIAL_ACCOUNT_ALREADY_LINKED: string; PROVIDER_NOT_FOUND: string; INVALID_TOKEN: string; ID_TOKEN_NOT_SUPPORTED: string; FAILED_TO_GET_USER_INFO: string; USER_EMAIL_NOT_FOUND: string; EMAIL_NOT_VERIFIED: string; PASSWORD_TOO_SHORT: string; PASSWORD_TOO_LONG: string; USER_ALREADY_EXISTS: string; EMAIL_CAN_NOT_BE_UPDATED: string; CREDENTIAL_ACCOUNT_NOT_FOUND: string; SESSION_EXPIRED: string; FAILED_TO_UNLINK_LAST_ACCOUNT: string; ACCOUNT_NOT_FOUND: string; USER_ALREADY_HAS_PASSWORD: string; })[K_22][K_23][K_24][K_25][K_26][K_27][K_28][K_29][K_30][K_31] : (InferErrorCodes<(C extends undefined ? {} : C) & { baseURL: string | undefined; fetchOptions: { customFetchImpl: (url: string | URL | Request, init?: RequestInit) => Promise; }; }> & { USER_NOT_FOUND: string; FAILED_TO_CREATE_USER: string; FAILED_TO_CREATE_SESSION: string; FAILED_TO_UPDATE_USER: string; FAILED_TO_GET_SESSION: string; INVALID_PASSWORD: string; INVALID_EMAIL: string; INVALID_EMAIL_OR_PASSWORD: string; SOCIAL_ACCOUNT_ALREADY_LINKED: string; PROVIDER_NOT_FOUND: string; INVALID_TOKEN: string; ID_TOKEN_NOT_SUPPORTED: string; FAILED_TO_GET_USER_INFO: string; USER_EMAIL_NOT_FOUND: string; EMAIL_NOT_VERIFIED: string; PASSWORD_TOO_SHORT: string; PASSWORD_TOO_LONG: string; USER_ALREADY_EXISTS: string; EMAIL_CAN_NOT_BE_UPDATED: string; CREDENTIAL_ACCOUNT_NOT_FOUND: string; SESSION_EXPIRED: string; FAILED_TO_UNLINK_LAST_ACCOUNT: string; ACCOUNT_NOT_FOUND: string; USER_ALREADY_HAS_PASSWORD: string; })[K_22][K_23][K_24][K_25][K_26][K_27][K_28][K_29][K_30][K_31] extends infer T_231 ? { [K_32 in keyof T_231]: (InferErrorCodes<(C extends undefined ? {} : C) & { baseURL: string | undefined; fetchOptions: { customFetchImpl: (url: string | URL | Request, init?: RequestInit) => Promise; }; }> & { USER_NOT_FOUND: string; FAILED_TO_CREATE_USER: string; FAILED_TO_CREATE_SESSION: string; FAILED_TO_UPDATE_USER: string; FAILED_TO_GET_SESSION: string; INVALID_PASSWORD: string; INVALID_EMAIL: string; INVALID_EMAIL_OR_PASSWORD: string; SOCIAL_ACCOUNT_ALREADY_LINKED: string; PROVIDER_NOT_FOUND: string; INVALID_TOKEN: string; ID_TOKEN_NOT_SUPPORTED: string; FAILED_TO_GET_USER_INFO: string; USER_EMAIL_NOT_FOUND: string; EMAIL_NOT_VERIFIED: string; PASSWORD_TOO_SHORT: string; PASSWORD_TOO_LONG: string; USER_ALREADY_EXISTS: string; EMAIL_CAN_NOT_BE_UPDATED: string; CREDENTIAL_ACCOUNT_NOT_FOUND: string; SESSION_EXPIRED: string; FAILED_TO_UNLINK_LAST_ACCOUNT: string; ACCOUNT_NOT_FOUND: string; USER_ALREADY_HAS_PASSWORD: string; })[K_22][K_23][K_24][K_25][K_26][K_27][K_28][K_29][K_30][K_31][K_32] extends (...args: any[]) => any ? (InferErrorCodes<(C extends undefined ? {} : C) & { baseURL: string | undefined; fetchOptions: { customFetchImpl: (url: string | URL | Request, init?: RequestInit) => Promise; }; }> & { USER_NOT_FOUND: string; FAILED_TO_CREATE_USER: string; FAILED_TO_CREATE_SESSION: string; FAILED_TO_UPDATE_USER: string; FAILED_TO_GET_SESSION: string; INVALID_PASSWORD: string; INVALID_EMAIL: string; INVALID_EMAIL_OR_PASSWORD: string; SOCIAL_ACCOUNT_ALREADY_LINKED: string; PROVIDER_NOT_FOUND: string; INVALID_TOKEN: string; ID_TOKEN_NOT_SUPPORTED: string; FAILED_TO_GET_USER_INFO: string; USER_EMAIL_NOT_FOUND: string; EMAIL_NOT_VERIFIED: string; PASSWORD_TOO_SHORT: string; PASSWORD_TOO_LONG: string; USER_ALREADY_EXISTS: string; EMAIL_CAN_NOT_BE_UPDATED: string; CREDENTIAL_ACCOUNT_NOT_FOUND: string; SESSION_EXPIRED: string; FAILED_TO_UNLINK_LAST_ACCOUNT: string; ACCOUNT_NOT_FOUND: string; USER_ALREADY_HAS_PASSWORD: string; })[K_22][K_23][K_24][K_25][K_26][K_27][K_28][K_29][K_30][K_31][K_32] : (InferErrorCodes<(C extends undefined ? {} : C) & { baseURL: string | undefined; fetchOptions: { customFetchImpl: (url: string | URL | Request, init?: RequestInit) => Promise; }; }> & { USER_NOT_FOUND: string; FAILED_TO_CREATE_USER: string; FAILED_TO_CREATE_SESSION: string; FAILED_TO_UPDATE_USER: string; FAILED_TO_GET_SESSION: string; INVALID_PASSWORD: string; INVALID_EMAIL: string; INVALID_EMAIL_OR_PASSWORD: string; SOCIAL_ACCOUNT_ALREADY_LINKED: string; PROVIDER_NOT_FOUND: string; INVALID_TOKEN: string; ID_TOKEN_NOT_SUPPORTED: string; FAILED_TO_GET_USER_INFO: string; USER_EMAIL_NOT_FOUND: string; EMAIL_NOT_VERIFIED: string; PASSWORD_TOO_SHORT: string; PASSWORD_TOO_LONG: string; USER_ALREADY_EXISTS: string; EMAIL_CAN_NOT_BE_UPDATED: string; CREDENTIAL_ACCOUNT_NOT_FOUND: string; SESSION_EXPIRED: string; FAILED_TO_UNLINK_LAST_ACCOUNT: string; ACCOUNT_NOT_FOUND: string; USER_ALREADY_HAS_PASSWORD: string; })[K_22][K_23][K_24][K_25][K_26][K_27][K_28][K_29][K_30][K_31][K_32] extends object ? (InferErrorCodes<(C extends undefined ? {} : C) & { baseURL: string | undefined; fetchOptions: { customFetchImpl: (url: string | URL | Request, init?: RequestInit) => Promise; }; }> & { USER_NOT_FOUND: string; FAILED_TO_CREATE_USER: string; FAILED_TO_CREATE_SESSION: string; FAILED_TO_UPDATE_USER: string; FAILED_TO_GET_SESSION: string; INVALID_PASSWORD: string; INVALID_EMAIL: string; INVALID_EMAIL_OR_PASSWORD: string; SOCIAL_ACCOUNT_ALREADY_LINKED: string; PROVIDER_NOT_FOUND: string; INVALID_TOKEN: string; ID_TOKEN_NOT_SUPPORTED: string; FAILED_TO_GET_USER_INFO: string; USER_EMAIL_NOT_FOUND: string; EMAIL_NOT_VERIFIED: string; PASSWORD_TOO_SHORT: string; PASSWORD_TOO_LONG: string; USER_ALREADY_EXISTS: string; EMAIL_CAN_NOT_BE_UPDATED: string; CREDENTIAL_ACCOUNT_NOT_FOUND: string; SESSION_EXPIRED: string; FAILED_TO_UNLINK_LAST_ACCOUNT: string; ACCOUNT_NOT_FOUND: string; USER_ALREADY_HAS_PASSWORD: string; })[K_22][K_23][K_24][K_25][K_26][K_27][K_28][K_29][K_30][K_31][K_32] extends any[] ? (InferErrorCodes<(C extends undefined ? {} : C) & { baseURL: string | undefined; fetchOptions: { customFetchImpl: (url: string | URL | Request, init?: RequestInit) => Promise; }; }> & { USER_NOT_FOUND: string; FAILED_TO_CREATE_USER: string; FAILED_TO_CREATE_SESSION: string; FAILED_TO_UPDATE_USER: string; FAILED_TO_GET_SESSION: string; INVALID_PASSWORD: string; INVALID_EMAIL: string; INVALID_EMAIL_OR_PASSWORD: string; SOCIAL_ACCOUNT_ALREADY_LINKED: string; PROVIDER_NOT_FOUND: string; INVALID_TOKEN: string; ID_TOKEN_NOT_SUPPORTED: string; FAILED_TO_GET_USER_INFO: string; USER_EMAIL_NOT_FOUND: string; EMAIL_NOT_VERIFIED: string; PASSWORD_TOO_SHORT: string; PASSWORD_TOO_LONG: string; USER_ALREADY_EXISTS: string; EMAIL_CAN_NOT_BE_UPDATED: string; CREDENTIAL_ACCOUNT_NOT_FOUND: string; SESSION_EXPIRED: string; FAILED_TO_UNLINK_LAST_ACCOUNT: string; ACCOUNT_NOT_FOUND: string; USER_ALREADY_HAS_PASSWORD: string; })[K_22][K_23][K_24][K_25][K_26][K_27][K_28][K_29][K_30][K_31][K_32] : (InferErrorCodes<(C extends undefined ? {} : C) & { baseURL: string | undefined; fetchOptions: { customFetchImpl: (url: string | URL | Request, init?: RequestInit) => Promise; }; }> & { USER_NOT_FOUND: string; FAILED_TO_CREATE_USER: string; FAILED_TO_CREATE_SESSION: string; FAILED_TO_UPDATE_USER: string; FAILED_TO_GET_SESSION: string; INVALID_PASSWORD: string; INVALID_EMAIL: string; INVALID_EMAIL_OR_PASSWORD: string; SOCIAL_ACCOUNT_ALREADY_LINKED: string; PROVIDER_NOT_FOUND: string; INVALID_TOKEN: string; ID_TOKEN_NOT_SUPPORTED: string; FAILED_TO_GET_USER_INFO: string; USER_EMAIL_NOT_FOUND: string; EMAIL_NOT_VERIFIED: string; PASSWORD_TOO_SHORT: string; PASSWORD_TOO_LONG: string; USER_ALREADY_EXISTS: string; EMAIL_CAN_NOT_BE_UPDATED: string; CREDENTIAL_ACCOUNT_NOT_FOUND: string; SESSION_EXPIRED: string; FAILED_TO_UNLINK_LAST_ACCOUNT: string; ACCOUNT_NOT_FOUND: string; USER_ALREADY_HAS_PASSWORD: string; })[K_22][K_23][K_24][K_25][K_26][K_27][K_28][K_29][K_30][K_31][K_32] extends Date ? (InferErrorCodes<(C extends undefined ? {} : C) & { baseURL: string | undefined; fetchOptions: { customFetchImpl: (url: string | URL | Request, init?: RequestInit) => Promise; }; }> & { USER_NOT_FOUND: string; FAILED_TO_CREATE_USER: string; FAILED_TO_CREATE_SESSION: string; FAILED_TO_UPDATE_USER: string; FAILED_TO_GET_SESSION: string; INVALID_PASSWORD: string; INVALID_EMAIL: string; INVALID_EMAIL_OR_PASSWORD: string; SOCIAL_ACCOUNT_ALREADY_LINKED: string; PROVIDER_NOT_FOUND: string; INVALID_TOKEN: string; ID_TOKEN_NOT_SUPPORTED: string; FAILED_TO_GET_USER_INFO: string; USER_EMAIL_NOT_FOUND: string; EMAIL_NOT_VERIFIED: string; PASSWORD_TOO_SHORT: string; PASSWORD_TOO_LONG: string; USER_ALREADY_EXISTS: string; EMAIL_CAN_NOT_BE_UPDATED: string; CREDENTIAL_ACCOUNT_NOT_FOUND: string; SESSION_EXPIRED: string; FAILED_TO_UNLINK_LAST_ACCOUNT: string; ACCOUNT_NOT_FOUND: string; USER_ALREADY_HAS_PASSWORD: string; })[K_22][K_23][K_24][K_25][K_26][K_27][K_28][K_29][K_30][K_31][K_32] : /*elided*/ any : (InferErrorCodes<(C extends undefined ? {} : C) & { baseURL: string | undefined; fetchOptions: { customFetchImpl: (url: string | URL | Request, init?: RequestInit) => Promise; }; }> & { USER_NOT_FOUND: string; FAILED_TO_CREATE_USER: string; FAILED_TO_CREATE_SESSION: string; FAILED_TO_UPDATE_USER: string; FAILED_TO_GET_SESSION: string; INVALID_PASSWORD: string; INVALID_EMAIL: string; INVALID_EMAIL_OR_PASSWORD: string; SOCIAL_ACCOUNT_ALREADY_LINKED: string; PROVIDER_NOT_FOUND: string; INVALID_TOKEN: string; ID_TOKEN_NOT_SUPPORTED: string; FAILED_TO_GET_USER_INFO: string; USER_EMAIL_NOT_FOUND: string; EMAIL_NOT_VERIFIED: string; PASSWORD_TOO_SHORT: string; PASSWORD_TOO_LONG: string; USER_ALREADY_EXISTS: string; EMAIL_CAN_NOT_BE_UPDATED: string; CREDENTIAL_ACCOUNT_NOT_FOUND: string; SESSION_EXPIRED: string; FAILED_TO_UNLINK_LAST_ACCOUNT: string; ACCOUNT_NOT_FOUND: string; USER_ALREADY_HAS_PASSWORD: string; })[K_22][K_23][K_24][K_25][K_26][K_27][K_28][K_29][K_30][K_31][K_32]; } : never : (InferErrorCodes<(C extends undefined ? {} : C) & { baseURL: string | undefined; fetchOptions: { customFetchImpl: (url: string | URL | Request, init?: RequestInit) => Promise; }; }> & { USER_NOT_FOUND: string; FAILED_TO_CREATE_USER: string; FAILED_TO_CREATE_SESSION: string; FAILED_TO_UPDATE_USER: string; FAILED_TO_GET_SESSION: string; INVALID_PASSWORD: string; INVALID_EMAIL: string; INVALID_EMAIL_OR_PASSWORD: string; SOCIAL_ACCOUNT_ALREADY_LINKED: string; PROVIDER_NOT_FOUND: string; INVALID_TOKEN: string; ID_TOKEN_NOT_SUPPORTED: string; FAILED_TO_GET_USER_INFO: string; USER_EMAIL_NOT_FOUND: string; EMAIL_NOT_VERIFIED: string; PASSWORD_TOO_SHORT: string; PASSWORD_TOO_LONG: string; USER_ALREADY_EXISTS: string; EMAIL_CAN_NOT_BE_UPDATED: string; CREDENTIAL_ACCOUNT_NOT_FOUND: string; SESSION_EXPIRED: string; FAILED_TO_UNLINK_LAST_ACCOUNT: string; ACCOUNT_NOT_FOUND: string; USER_ALREADY_HAS_PASSWORD: string; })[K_22][K_23][K_24][K_25][K_26][K_27][K_28][K_29][K_30][K_31]; } : never : (InferErrorCodes<(C extends undefined ? {} : C) & { baseURL: string | undefined; fetchOptions: { customFetchImpl: (url: string | URL | Request, init?: RequestInit) => Promise; }; }> & { USER_NOT_FOUND: string; FAILED_TO_CREATE_USER: string; FAILED_TO_CREATE_SESSION: string; FAILED_TO_UPDATE_USER: string; FAILED_TO_GET_SESSION: string; INVALID_PASSWORD: string; INVALID_EMAIL: string; INVALID_EMAIL_OR_PASSWORD: string; SOCIAL_ACCOUNT_ALREADY_LINKED: string; PROVIDER_NOT_FOUND: string; INVALID_TOKEN: string; ID_TOKEN_NOT_SUPPORTED: string; FAILED_TO_GET_USER_INFO: string; USER_EMAIL_NOT_FOUND: string; EMAIL_NOT_VERIFIED: string; PASSWORD_TOO_SHORT: string; PASSWORD_TOO_LONG: string; USER_ALREADY_EXISTS: string; EMAIL_CAN_NOT_BE_UPDATED: string; CREDENTIAL_ACCOUNT_NOT_FOUND: string; SESSION_EXPIRED: string; FAILED_TO_UNLINK_LAST_ACCOUNT: string; ACCOUNT_NOT_FOUND: string; USER_ALREADY_HAS_PASSWORD: string; })[K_22][K_23][K_24][K_25][K_26][K_27][K_28][K_29][K_30]; } : never : (InferErrorCodes<(C extends undefined ? {} : C) & { baseURL: string | undefined; fetchOptions: { customFetchImpl: (url: string | URL | Request, init?: RequestInit) => Promise; }; }> & { USER_NOT_FOUND: string; FAILED_TO_CREATE_USER: string; FAILED_TO_CREATE_SESSION: string; FAILED_TO_UPDATE_USER: string; FAILED_TO_GET_SESSION: string; INVALID_PASSWORD: string; INVALID_EMAIL: string; INVALID_EMAIL_OR_PASSWORD: string; SOCIAL_ACCOUNT_ALREADY_LINKED: string; PROVIDER_NOT_FOUND: string; INVALID_TOKEN: string; ID_TOKEN_NOT_SUPPORTED: string; FAILED_TO_GET_USER_INFO: string; USER_EMAIL_NOT_FOUND: string; EMAIL_NOT_VERIFIED: string; PASSWORD_TOO_SHORT: string; PASSWORD_TOO_LONG: string; USER_ALREADY_EXISTS: string; EMAIL_CAN_NOT_BE_UPDATED: string; CREDENTIAL_ACCOUNT_NOT_FOUND: string; SESSION_EXPIRED: string; FAILED_TO_UNLINK_LAST_ACCOUNT: string; ACCOUNT_NOT_FOUND: string; USER_ALREADY_HAS_PASSWORD: string; })[K_22][K_23][K_24][K_25][K_26][K_27][K_28][K_29]; } : never : (InferErrorCodes<(C extends undefined ? {} : C) & { baseURL: string | undefined; fetchOptions: { customFetchImpl: (url: string | URL | Request, init?: RequestInit) => Promise; }; }> & { USER_NOT_FOUND: string; FAILED_TO_CREATE_USER: string; FAILED_TO_CREATE_SESSION: string; FAILED_TO_UPDATE_USER: string; FAILED_TO_GET_SESSION: string; INVALID_PASSWORD: string; INVALID_EMAIL: string; INVALID_EMAIL_OR_PASSWORD: string; SOCIAL_ACCOUNT_ALREADY_LINKED: string; PROVIDER_NOT_FOUND: string; INVALID_TOKEN: string; ID_TOKEN_NOT_SUPPORTED: string; FAILED_TO_GET_USER_INFO: string; USER_EMAIL_NOT_FOUND: string; EMAIL_NOT_VERIFIED: string; PASSWORD_TOO_SHORT: string; PASSWORD_TOO_LONG: string; USER_ALREADY_EXISTS: string; EMAIL_CAN_NOT_BE_UPDATED: string; CREDENTIAL_ACCOUNT_NOT_FOUND: string; SESSION_EXPIRED: string; FAILED_TO_UNLINK_LAST_ACCOUNT: string; ACCOUNT_NOT_FOUND: string; USER_ALREADY_HAS_PASSWORD: string; })[K_22][K_23][K_24][K_25][K_26][K_27][K_28]; } : never : (InferErrorCodes<(C extends undefined ? {} : C) & { baseURL: string | undefined; fetchOptions: { customFetchImpl: (url: string | URL | Request, init?: RequestInit) => Promise; }; }> & { USER_NOT_FOUND: string; FAILED_TO_CREATE_USER: string; FAILED_TO_CREATE_SESSION: string; FAILED_TO_UPDATE_USER: string; FAILED_TO_GET_SESSION: string; INVALID_PASSWORD: string; INVALID_EMAIL: string; INVALID_EMAIL_OR_PASSWORD: string; SOCIAL_ACCOUNT_ALREADY_LINKED: string; PROVIDER_NOT_FOUND: string; INVALID_TOKEN: string; ID_TOKEN_NOT_SUPPORTED: string; FAILED_TO_GET_USER_INFO: string; USER_EMAIL_NOT_FOUND: string; EMAIL_NOT_VERIFIED: string; PASSWORD_TOO_SHORT: string; PASSWORD_TOO_LONG: string; USER_ALREADY_EXISTS: string; EMAIL_CAN_NOT_BE_UPDATED: string; CREDENTIAL_ACCOUNT_NOT_FOUND: string; SESSION_EXPIRED: string; FAILED_TO_UNLINK_LAST_ACCOUNT: string; ACCOUNT_NOT_FOUND: string; USER_ALREADY_HAS_PASSWORD: string; })[K_22][K_23][K_24][K_25][K_26][K_27]; } : never : (InferErrorCodes<(C extends undefined ? {} : C) & { baseURL: string | undefined; fetchOptions: { customFetchImpl: (url: string | URL | Request, init?: RequestInit) => Promise; }; }> & { USER_NOT_FOUND: string; FAILED_TO_CREATE_USER: string; FAILED_TO_CREATE_SESSION: string; FAILED_TO_UPDATE_USER: string; FAILED_TO_GET_SESSION: string; INVALID_PASSWORD: string; INVALID_EMAIL: string; INVALID_EMAIL_OR_PASSWORD: string; SOCIAL_ACCOUNT_ALREADY_LINKED: string; PROVIDER_NOT_FOUND: string; INVALID_TOKEN: string; ID_TOKEN_NOT_SUPPORTED: string; FAILED_TO_GET_USER_INFO: string; USER_EMAIL_NOT_FOUND: string; EMAIL_NOT_VERIFIED: string; PASSWORD_TOO_SHORT: string; PASSWORD_TOO_LONG: string; USER_ALREADY_EXISTS: string; EMAIL_CAN_NOT_BE_UPDATED: string; CREDENTIAL_ACCOUNT_NOT_FOUND: string; SESSION_EXPIRED: string; FAILED_TO_UNLINK_LAST_ACCOUNT: string; ACCOUNT_NOT_FOUND: string; USER_ALREADY_HAS_PASSWORD: string; })[K_22][K_23][K_24][K_25][K_26]; } : never : (InferErrorCodes<(C extends undefined ? {} : C) & { baseURL: string | undefined; fetchOptions: { customFetchImpl: (url: string | URL | Request, init?: RequestInit) => Promise; }; }> & { USER_NOT_FOUND: string; FAILED_TO_CREATE_USER: string; FAILED_TO_CREATE_SESSION: string; FAILED_TO_UPDATE_USER: string; FAILED_TO_GET_SESSION: string; INVALID_PASSWORD: string; INVALID_EMAIL: string; INVALID_EMAIL_OR_PASSWORD: string; SOCIAL_ACCOUNT_ALREADY_LINKED: string; PROVIDER_NOT_FOUND: string; INVALID_TOKEN: string; ID_TOKEN_NOT_SUPPORTED: string; FAILED_TO_GET_USER_INFO: string; USER_EMAIL_NOT_FOUND: string; EMAIL_NOT_VERIFIED: string; PASSWORD_TOO_SHORT: string; PASSWORD_TOO_LONG: string; USER_ALREADY_EXISTS: string; EMAIL_CAN_NOT_BE_UPDATED: string; CREDENTIAL_ACCOUNT_NOT_FOUND: string; SESSION_EXPIRED: string; FAILED_TO_UNLINK_LAST_ACCOUNT: string; ACCOUNT_NOT_FOUND: string; USER_ALREADY_HAS_PASSWORD: string; })[K_22][K_23][K_24][K_25]; } : never : (InferErrorCodes<(C extends undefined ? {} : C) & { baseURL: string | undefined; fetchOptions: { customFetchImpl: (url: string | URL | Request, init?: RequestInit) => Promise; }; }> & { USER_NOT_FOUND: string; FAILED_TO_CREATE_USER: string; FAILED_TO_CREATE_SESSION: string; FAILED_TO_UPDATE_USER: string; FAILED_TO_GET_SESSION: string; INVALID_PASSWORD: string; INVALID_EMAIL: string; INVALID_EMAIL_OR_PASSWORD: string; SOCIAL_ACCOUNT_ALREADY_LINKED: string; PROVIDER_NOT_FOUND: string; INVALID_TOKEN: string; ID_TOKEN_NOT_SUPPORTED: string; FAILED_TO_GET_USER_INFO: string; USER_EMAIL_NOT_FOUND: string; EMAIL_NOT_VERIFIED: string; PASSWORD_TOO_SHORT: string; PASSWORD_TOO_LONG: string; USER_ALREADY_EXISTS: string; EMAIL_CAN_NOT_BE_UPDATED: string; CREDENTIAL_ACCOUNT_NOT_FOUND: string; SESSION_EXPIRED: string; FAILED_TO_UNLINK_LAST_ACCOUNT: string; ACCOUNT_NOT_FOUND: string; USER_ALREADY_HAS_PASSWORD: string; })[K_22][K_23][K_24]; } : never : (InferErrorCodes<(C extends undefined ? {} : C) & { baseURL: string | undefined; fetchOptions: { customFetchImpl: (url: string | URL | Request, init?: RequestInit) => Promise; }; }> & { USER_NOT_FOUND: string; FAILED_TO_CREATE_USER: string; FAILED_TO_CREATE_SESSION: string; FAILED_TO_UPDATE_USER: string; FAILED_TO_GET_SESSION: string; INVALID_PASSWORD: string; INVALID_EMAIL: string; INVALID_EMAIL_OR_PASSWORD: string; SOCIAL_ACCOUNT_ALREADY_LINKED: string; PROVIDER_NOT_FOUND: string; INVALID_TOKEN: string; ID_TOKEN_NOT_SUPPORTED: string; FAILED_TO_GET_USER_INFO: string; USER_EMAIL_NOT_FOUND: string; EMAIL_NOT_VERIFIED: string; PASSWORD_TOO_SHORT: string; PASSWORD_TOO_LONG: string; USER_ALREADY_EXISTS: string; EMAIL_CAN_NOT_BE_UPDATED: string; CREDENTIAL_ACCOUNT_NOT_FOUND: string; SESSION_EXPIRED: string; FAILED_TO_UNLINK_LAST_ACCOUNT: string; ACCOUNT_NOT_FOUND: string; USER_ALREADY_HAS_PASSWORD: string; })[K_22][K_23]; } : never : (InferErrorCodes<(C extends undefined ? {} : C) & { baseURL: string | undefined; fetchOptions: { customFetchImpl: (url: string | URL | Request, init?: RequestInit) => Promise; }; }> & { USER_NOT_FOUND: string; FAILED_TO_CREATE_USER: string; FAILED_TO_CREATE_SESSION: string; FAILED_TO_UPDATE_USER: string; FAILED_TO_GET_SESSION: string; INVALID_PASSWORD: string; INVALID_EMAIL: string; INVALID_EMAIL_OR_PASSWORD: string; SOCIAL_ACCOUNT_ALREADY_LINKED: string; PROVIDER_NOT_FOUND: string; INVALID_TOKEN: string; ID_TOKEN_NOT_SUPPORTED: string; FAILED_TO_GET_USER_INFO: string; USER_EMAIL_NOT_FOUND: string; EMAIL_NOT_VERIFIED: string; PASSWORD_TOO_SHORT: string; PASSWORD_TOO_LONG: string; USER_ALREADY_EXISTS: string; EMAIL_CAN_NOT_BE_UPDATED: string; CREDENTIAL_ACCOUNT_NOT_FOUND: string; SESSION_EXPIRED: string; FAILED_TO_UNLINK_LAST_ACCOUNT: string; ACCOUNT_NOT_FOUND: string; USER_ALREADY_HAS_PASSWORD: string; })[K_22]; } : never; }; testUser: { id?: string | undefined; email: string; emailVerified?: boolean | undefined; name: string; createdAt?: Date | undefined; updatedAt?: Date | undefined; image?: string | null | undefined; password: string; }; signInWithTestUser: () => Promise<{ session: Session; user: User; headers: Headers; setCookie: (name: string, value: string) => void; }>; signInWithUser: (email: string, password: string) => Promise<{ res: { user: User; session: Session; }; headers: Headers; }>; cookieSetter: typeof setCookieToHeader; customFetchImpl: (url: string | URL | Request, init?: RequestInit) => Promise; sessionSetter: (headers: Headers) => (context: SuccessContext) => void; db: Adapter; }>; export { getTestInstanceMemory };