import { Prettify as Prettify$1, UnionToIntersection } from "../types/helper.mjs"; import { InferRoute } from "../client/path-to-object.mjs"; import { InferErrorCodes, IsSignal, SessionQueryParams } from "../client/types.mjs"; import { FilteredAPI, InferAPI } from "../types/api.mjs"; import { Session, User } from "../types/models.mjs"; import { Auth } from "../types/auth.mjs"; import { setCookieToHeader } from "../cookies/cookie-utils.mjs"; import * as _better_auth_core0 from "@better-auth/core"; import { Awaitable, BetterAuthClientOptions, BetterAuthOptions } from "@better-auth/core"; import * as _better_auth_core_oauth20 from "@better-auth/core/oauth2"; import * as _better_auth_core_utils_error_codes0 from "@better-auth/core/utils/error-codes"; import * as _better_auth_core_db_adapter0 from "@better-auth/core/db/adapter"; import * as better_call0 from "better-call"; import * as zod from "zod"; import * as nanostores from "nanostores"; import * as _better_fetch_fetch0 from "@better-fetch/fetch"; import { SuccessContext } from "@better-fetch/fetch"; import * as zod_v4_core0 from "zod/v4/core"; //#region src/test-utils/test-instance.d.ts declare function getTestInstance, C extends BetterAuthClientOptions>(options?: O | undefined, config?: { clientOptions?: C; port?: number; disableTestUser?: boolean; testUser?: Partial; testWith?: "sqlite" | "postgres" | "mongodb" | "mysql"; } | undefined): Promise<{ auth: Auth; client: UnionToIntersection<(C extends undefined ? {} : C) & { baseURL: string | undefined; fetchOptions: { customFetchImpl: (url: string | URL | Request, init?: RequestInit | undefined) => Promise; }; } extends infer T ? T extends (C extends undefined ? {} : C) & { baseURL: string | undefined; fetchOptions: { customFetchImpl: (url: string | URL | Request, init?: RequestInit | undefined) => Promise; }; } ? T extends { plugins: Array; } ? UnionToIntersection infer Atoms) ? Atoms extends Record ? { [key in keyof Atoms as IsSignal extends true ? never : key extends string ? `use${Capitalize}` : never]: Atoms[key] } : {} : {} : {}> : {} : never : never> & UnionToIntersection Promise; }; })["plugins"] extends any[] ? { getSession: (context: { headers: Headers; query?: { disableCookieCache?: boolean; disableRefresh?: boolean; } | undefined; asResponse?: R | undefined; returnHeaders?: H | undefined; }) => false extends R ? H extends true ? Promise<{ headers: Headers; response: { session: { id: string; createdAt: Date; updatedAt: Date; userId: string; expiresAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; image?: string | null | undefined; }; } | null; }> : Promise<{ session: { id: string; createdAt: Date; updatedAt: Date; userId: string; expiresAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; image?: string | null | undefined; }; } | null> : Promise; } & FilteredAPI<{ readonly ok: better_call0.StrictEndpoint<"/ok", { method: "GET"; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { ok: { type: string; description: string; }; }; required: string[]; }; }; }; }; }; }; scope: "server"; }; }, { ok: boolean; }>; readonly error: better_call0.StrictEndpoint<"/error", { method: "GET"; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "text/html": { schema: { type: "string"; description: string; }; }; }; }; }; }; scope: "server"; }; }, Response>; readonly signInSocial: better_call0.StrictEndpoint<"/sign-in/social", { method: "POST"; operationId: string; body: zod.ZodObject<{ callbackURL: zod.ZodOptional; newUserCallbackURL: zod.ZodOptional; errorCallbackURL: zod.ZodOptional; provider: zod.ZodType<(string & {}) | "linear" | "huggingface" | "github" | "apple" | "atlassian" | "cognito" | "discord" | "facebook" | "figma" | "microsoft" | "google" | "slack" | "spotify" | "twitch" | "twitter" | "dropbox" | "kick" | "linkedin" | "gitlab" | "tiktok" | "reddit" | "roblox" | "salesforce" | "vk" | "zoom" | "notion" | "kakao" | "naver" | "line" | "paybin" | "paypal" | "polar" | "railway" | "vercel" | "wechat", unknown, zod_v4_core0.$ZodTypeInternals<(string & {}) | "linear" | "huggingface" | "github" | "apple" | "atlassian" | "cognito" | "discord" | "facebook" | "figma" | "microsoft" | "google" | "slack" | "spotify" | "twitch" | "twitter" | "dropbox" | "kick" | "linkedin" | "gitlab" | "tiktok" | "reddit" | "roblox" | "salesforce" | "vk" | "zoom" | "notion" | "kakao" | "naver" | "line" | "paybin" | "paypal" | "polar" | "railway" | "vercel" | "wechat", unknown>>; disableRedirect: zod.ZodOptional; idToken: zod.ZodOptional; accessToken: zod.ZodOptional; refreshToken: zod.ZodOptional; expiresAt: zod.ZodOptional; user: zod.ZodOptional; lastName: zod.ZodOptional; }, zod_v4_core0.$strip>>; email: zod.ZodOptional; }, zod_v4_core0.$strip>>; }, zod_v4_core0.$strip>>; scopes: zod.ZodOptional>; requestSignUp: zod.ZodOptional; loginHint: zod.ZodOptional; additionalData: zod.ZodOptional>; }, zod_v4_core0.$strip>; metadata: { $Infer: { body: zod.infer; newUserCallbackURL: zod.ZodOptional; errorCallbackURL: zod.ZodOptional; provider: zod.ZodType<(string & {}) | "linear" | "huggingface" | "github" | "apple" | "atlassian" | "cognito" | "discord" | "facebook" | "figma" | "microsoft" | "google" | "slack" | "spotify" | "twitch" | "twitter" | "dropbox" | "kick" | "linkedin" | "gitlab" | "tiktok" | "reddit" | "roblox" | "salesforce" | "vk" | "zoom" | "notion" | "kakao" | "naver" | "line" | "paybin" | "paypal" | "polar" | "railway" | "vercel" | "wechat", unknown, zod_v4_core0.$ZodTypeInternals<(string & {}) | "linear" | "huggingface" | "github" | "apple" | "atlassian" | "cognito" | "discord" | "facebook" | "figma" | "microsoft" | "google" | "slack" | "spotify" | "twitch" | "twitter" | "dropbox" | "kick" | "linkedin" | "gitlab" | "tiktok" | "reddit" | "roblox" | "salesforce" | "vk" | "zoom" | "notion" | "kakao" | "naver" | "line" | "paybin" | "paypal" | "polar" | "railway" | "vercel" | "wechat", unknown>>; disableRedirect: zod.ZodOptional; idToken: zod.ZodOptional; accessToken: zod.ZodOptional; refreshToken: zod.ZodOptional; expiresAt: zod.ZodOptional; user: zod.ZodOptional; lastName: zod.ZodOptional; }, zod_v4_core0.$strip>>; email: zod.ZodOptional; }, zod_v4_core0.$strip>>; }, zod_v4_core0.$strip>>; scopes: zod.ZodOptional>; requestSignUp: zod.ZodOptional; loginHint: zod.ZodOptional; additionalData: zod.ZodOptional>; }, zod_v4_core0.$strip>>; returned: { redirect: boolean; token?: string | undefined; url?: string | undefined; user?: { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; image?: string | null | undefined; } | undefined; }; }; openapi: { description: string; operationId: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; description: string; properties: { token: { type: string; }; user: { type: string; $ref: string; }; url: { type: string; }; redirect: { type: string; enum: boolean[]; }; }; required: string[]; }; }; }; }; }; }; }; }, { redirect: boolean; url: string; } | { redirect: boolean; token: string; url: undefined; user: { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; image?: string | null | undefined; }; }>; readonly callbackOAuth: better_call0.StrictEndpoint<"/callback/:id", { method: ("GET" | "POST")[]; operationId: string; body: zod.ZodOptional; error: zod.ZodOptional; device_id: zod.ZodOptional; error_description: zod.ZodOptional; state: zod.ZodOptional; user: zod.ZodOptional; }, zod_v4_core0.$strip>>; query: zod.ZodOptional; error: zod.ZodOptional; device_id: zod.ZodOptional; error_description: zod.ZodOptional; state: zod.ZodOptional; user: zod.ZodOptional; }, zod_v4_core0.$strip>>; metadata: { allowedMediaTypes: string[]; scope: "server"; }; }, void>; readonly getSession: better_call0.StrictEndpoint<"/get-session", { method: ("GET" | "POST")[]; operationId: string; query: zod.ZodOptional>; disableRefresh: zod.ZodOptional>; }, zod_v4_core0.$strip>>; requireHeaders: true; metadata: { openapi: { operationId: string; description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; nullable: boolean; properties: { session: { $ref: string; }; user: { $ref: string; }; }; required: string[]; }; }; }; }; }; }; }; }, { session: { id: string; createdAt: Date; updatedAt: Date; userId: string; expiresAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; image?: string | null | undefined; }; } | null>; readonly signOut: better_call0.StrictEndpoint<"/sign-out", { method: "POST"; operationId: string; requireHeaders: true; metadata: { openapi: { operationId: string; description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { success: { type: string; }; }; }; }; }; }; }; }; }; }, { success: boolean; }>; readonly signUpEmail: better_call0.StrictEndpoint<"/sign-up/email", { method: "POST"; operationId: string; use: ((inputContext: better_call0.MiddlewareInputContext) => Promise)[]; body: zod.ZodIntersection; callbackURL: zod.ZodOptional; rememberMe: zod.ZodOptional; }, zod_v4_core0.$strip>, zod.ZodRecord>; metadata: { allowedMediaTypes: string[]; $Infer: { body: { name: string; email: string; password: string; image?: string | undefined; callbackURL?: string | undefined; rememberMe?: boolean | undefined; }; returned: { token: string | null; user: { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; image?: string | null | undefined; }; }; }; openapi: { operationId: string; 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[]; }; }; }; }; "422": { description: string; content: { "application/json": { schema: { type: "object"; properties: { message: { type: string; }; }; }; }; }; }; }; }; }; }, { token: null; user: { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; image?: string | null | undefined; }; } | { token: string; user: { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; image?: string | null | undefined; }; }>; readonly signInEmail: better_call0.StrictEndpoint<"/sign-in/email", { method: "POST"; operationId: string; use: ((inputContext: better_call0.MiddlewareInputContext) => Promise)[]; body: zod.ZodObject<{ email: zod.ZodString; password: zod.ZodString; callbackURL: zod.ZodOptional; rememberMe: zod.ZodOptional>; }, zod_v4_core0.$strip>; metadata: { allowedMediaTypes: string[]; $Infer: { body: { email: string; password: string; callbackURL?: string | undefined; rememberMe?: boolean | undefined; }; returned: { redirect: boolean; token: string; url?: string | undefined; user: { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; image?: string | null | undefined; }; }; }; openapi: { operationId: string; 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; $ref: string; }; }; required: string[]; }; }; }; }; }; }; }; }, { redirect: boolean; token: string; url?: string | undefined; user: { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; image?: string | null | undefined; }; }>; readonly resetPassword: better_call0.StrictEndpoint<"/reset-password", { method: "POST"; operationId: string; query: zod.ZodOptional; }, zod_v4_core0.$strip>>; body: zod.ZodObject<{ newPassword: zod.ZodString; token: zod.ZodOptional; }, zod_v4_core0.$strip>; metadata: { openapi: { operationId: string; description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { status: { type: string; }; }; }; }; }; }; }; }; }; }, { status: boolean; }>; readonly verifyPassword: better_call0.StrictEndpoint<"/verify-password", { method: "POST"; body: zod.ZodObject<{ password: zod.ZodString; }, zod_v4_core0.$strip>; metadata: { scope: "server"; openapi: { operationId: string; description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { status: { type: string; }; }; }; }; }; }; }; }; }; use: ((inputContext: better_call0.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; createdAt: Date; updatedAt: Date; userId: string; expiresAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; image?: string | null | undefined; }; }; }>)[]; }, { status: boolean; }>; readonly verifyEmail: better_call0.StrictEndpoint<"/verify-email", { method: "GET"; operationId: string; query: zod.ZodObject<{ token: zod.ZodString; callbackURL: zod.ZodOptional; }, zod_v4_core0.$strip>; use: ((inputContext: better_call0.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; $ref: string; }; status: { type: string; description: string; }; }; required: string[]; }; }; }; }; }; }; }; }, void | { status: boolean; }>; readonly sendVerificationEmail: better_call0.StrictEndpoint<"/send-verification-email", { method: "POST"; operationId: string; body: zod.ZodObject<{ email: zod.ZodEmail; callbackURL: zod.ZodOptional; }, zod_v4_core0.$strip>; metadata: { openapi: { operationId: string; 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; }; }; }; }; }; }; }; }; }; }, { status: boolean; }>; readonly changeEmail: better_call0.StrictEndpoint<"/change-email", { method: "POST"; body: zod.ZodObject<{ newEmail: zod.ZodEmail; callbackURL: zod.ZodOptional; }, zod_v4_core0.$strip>; use: ((inputContext: better_call0.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; createdAt: Date; updatedAt: Date; userId: string; expiresAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; image?: string | null | undefined; }; }; }>)[]; metadata: { openapi: { operationId: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { user: { type: string; $ref: string; }; status: { type: string; description: string; }; message: { type: string; enum: string[]; description: string; nullable: boolean; }; }; required: string[]; }; }; }; }; }; }; }; }, { status: boolean; }>; readonly changePassword: better_call0.StrictEndpoint<"/change-password", { method: "POST"; operationId: string; body: zod.ZodObject<{ newPassword: zod.ZodString; currentPassword: zod.ZodString; revokeOtherSessions: zod.ZodOptional; }, zod_v4_core0.$strip>; use: ((inputContext: better_call0.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; createdAt: Date; updatedAt: Date; userId: string; expiresAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; image?: string | null | undefined; }; }; }>)[]; metadata: { openapi: { operationId: string; 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[]; }; }; }; }; }; }; }; }, { token: string | null; user: { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; image?: string | null | undefined; } & Record & { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; image?: string | null | undefined; }; }>; readonly setPassword: better_call0.StrictEndpoint; use: ((inputContext: better_call0.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; createdAt: Date; updatedAt: Date; userId: string; expiresAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; image?: string | null | undefined; }; }; }>)[]; }, { status: boolean; }>; readonly updateSession: better_call0.StrictEndpoint<"/update-session", { method: "POST"; operationId: string; body: zod.ZodRecord; use: ((inputContext: better_call0.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; createdAt: Date; updatedAt: Date; userId: string; expiresAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; image?: string | null | undefined; }; }; }>)[]; metadata: { $Infer: { body: Partial<{}>; }; openapi: { operationId: string; description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { session: { type: string; $ref: string; }; }; }; }; }; }; }; }; }; }, { session: { id: string; createdAt: Date; updatedAt: Date; userId: string; expiresAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; }>; readonly updateUser: better_call0.StrictEndpoint<"/update-user", { method: "POST"; operationId: string; body: zod.ZodRecord; use: ((inputContext: better_call0.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; createdAt: Date; updatedAt: Date; userId: string; expiresAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; image?: string | null | undefined; }; }; }>)[]; metadata: { $Infer: { body: Partial<{}> & { name?: string | undefined; image?: string | undefined | null; }; }; openapi: { operationId: string; description: string; requestBody: { content: { "application/json": { schema: { type: "object"; properties: { name: { type: string; description: string; }; image: { type: string; description: string; nullable: boolean; }; }; }; }; }; }; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { user: { type: string; $ref: string; }; }; }; }; }; }; }; }; }; }, { status: boolean; }>; readonly deleteUser: better_call0.StrictEndpoint<"/delete-user", { method: "POST"; use: ((inputContext: better_call0.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; createdAt: Date; updatedAt: Date; userId: string; expiresAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; image?: string | null | undefined; }; }; }>)[]; body: zod.ZodObject<{ callbackURL: zod.ZodOptional; password: zod.ZodOptional; token: zod.ZodOptional; }, zod_v4_core0.$strip>; metadata: { openapi: { operationId: string; description: string; requestBody: { content: { "application/json": { schema: { type: "object"; properties: { callbackURL: { type: string; description: string; }; password: { type: string; description: string; }; token: { type: string; 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[]; }; }; }; }; }; }; }; }, { success: boolean; message: string; }>; readonly requestPasswordReset: better_call0.StrictEndpoint<"/request-password-reset", { method: "POST"; body: zod.ZodObject<{ email: zod.ZodEmail; redirectTo: zod.ZodOptional; }, zod_v4_core0.$strip>; metadata: { openapi: { operationId: string; description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { status: { type: string; }; message: { type: string; }; }; }; }; }; }; }; }; }; use: ((inputContext: better_call0.MiddlewareInputContext) => Promise)[]; }, { status: boolean; message: string; }>; readonly requestPasswordResetCallback: better_call0.StrictEndpoint<"/reset-password/:token", { method: "GET"; operationId: string; query: zod.ZodObject<{ callbackURL: zod.ZodString; }, zod_v4_core0.$strip>; use: ((inputContext: better_call0.MiddlewareInputContext) => Promise)[]; metadata: { openapi: { operationId: string; description: string; parameters: ({ name: string; in: "path"; required: true; description: string; schema: { type: "string"; }; } | { name: string; in: "query"; required: true; description: string; schema: { type: "string"; }; })[]; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { token: { type: string; }; }; }; }; }; }; }; }; }; }, never>; readonly listSessions: better_call0.StrictEndpoint<"/list-sessions", { method: "GET"; operationId: string; use: ((inputContext: better_call0.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; createdAt: Date; updatedAt: Date; userId: string; expiresAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; image?: string | null | undefined; }; }; }>)[]; requireHeaders: true; metadata: { openapi: { operationId: string; description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "array"; items: { $ref: string; }; }; }; }; }; }; }; }; }, Prettify$1<{ id: string; createdAt: Date; updatedAt: Date; userId: string; expiresAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }>[]>; readonly revokeSession: better_call0.StrictEndpoint<"/revoke-session", { method: "POST"; body: zod.ZodObject<{ token: zod.ZodString; }, zod_v4_core0.$strip>; use: ((inputContext: better_call0.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; createdAt: Date; updatedAt: Date; userId: string; expiresAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; 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[]; }; }; }; }; }; }; }; }, { status: boolean; }>; readonly revokeSessions: better_call0.StrictEndpoint<"/revoke-sessions", { method: "POST"; use: ((inputContext: better_call0.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; createdAt: Date; updatedAt: Date; userId: string; expiresAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; 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[]; }; }; }; }; }; }; }; }, { status: boolean; }>; readonly revokeOtherSessions: better_call0.StrictEndpoint<"/revoke-other-sessions", { method: "POST"; requireHeaders: true; use: ((inputContext: better_call0.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; createdAt: Date; updatedAt: Date; userId: string; expiresAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; 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[]; }; }; }; }; }; }; }; }, { status: boolean; }>; readonly linkSocialAccount: better_call0.StrictEndpoint<"/link-social", { method: "POST"; requireHeaders: true; body: zod.ZodObject<{ callbackURL: zod.ZodOptional; provider: zod.ZodType<(string & {}) | "linear" | "huggingface" | "github" | "apple" | "atlassian" | "cognito" | "discord" | "facebook" | "figma" | "microsoft" | "google" | "slack" | "spotify" | "twitch" | "twitter" | "dropbox" | "kick" | "linkedin" | "gitlab" | "tiktok" | "reddit" | "roblox" | "salesforce" | "vk" | "zoom" | "notion" | "kakao" | "naver" | "line" | "paybin" | "paypal" | "polar" | "railway" | "vercel" | "wechat", unknown, zod_v4_core0.$ZodTypeInternals<(string & {}) | "linear" | "huggingface" | "github" | "apple" | "atlassian" | "cognito" | "discord" | "facebook" | "figma" | "microsoft" | "google" | "slack" | "spotify" | "twitch" | "twitter" | "dropbox" | "kick" | "linkedin" | "gitlab" | "tiktok" | "reddit" | "roblox" | "salesforce" | "vk" | "zoom" | "notion" | "kakao" | "naver" | "line" | "paybin" | "paypal" | "polar" | "railway" | "vercel" | "wechat", unknown>>; idToken: zod.ZodOptional; accessToken: zod.ZodOptional; refreshToken: zod.ZodOptional; scopes: zod.ZodOptional>; }, zod_v4_core0.$strip>>; requestSignUp: zod.ZodOptional; scopes: zod.ZodOptional>; errorCallbackURL: zod.ZodOptional; disableRedirect: zod.ZodOptional; additionalData: zod.ZodOptional>; }, zod_v4_core0.$strip>; use: ((inputContext: better_call0.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; createdAt: Date; updatedAt: Date; userId: string; expiresAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; image?: string | null | undefined; }; }; }>)[]; metadata: { openapi: { description: string; operationId: 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[]; }; }; }; }; }; }; }; }, { url: string; redirect: boolean; }>; readonly listUserAccounts: better_call0.StrictEndpoint<"/list-accounts", { method: "GET"; use: ((inputContext: better_call0.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; createdAt: Date; updatedAt: Date; userId: string; expiresAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; image?: string | null | undefined; }; }; }>)[]; metadata: { openapi: { operationId: string; description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "array"; items: { type: string; properties: { id: { type: string; }; providerId: { type: string; }; createdAt: { type: string; format: string; }; updatedAt: { type: string; format: string; }; accountId: { type: string; }; userId: { type: string; }; scopes: { type: string; items: { type: string; }; }; }; required: string[]; }; }; }; }; }; }; }; }; }, { scopes: string[]; id: string; createdAt: Date; updatedAt: Date; userId: string; providerId: string; accountId: string; }[]>; readonly deleteUserCallback: better_call0.StrictEndpoint<"/delete-user/callback", { method: "GET"; query: zod.ZodObject<{ token: zod.ZodString; callbackURL: zod.ZodOptional; }, zod_v4_core0.$strip>; use: ((inputContext: better_call0.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[]; }; }; }; }; }; }; }; }, { success: boolean; message: string; }>; readonly unlinkAccount: better_call0.StrictEndpoint<"/unlink-account", { method: "POST"; body: zod.ZodObject<{ providerId: zod.ZodString; accountId: zod.ZodOptional; }, zod_v4_core0.$strip>; use: ((inputContext: better_call0.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; createdAt: Date; updatedAt: Date; userId: string; expiresAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; image?: string | null | undefined; }; }; }>)[]; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { status: { type: string; }; }; }; }; }; }; }; }; }; }, { status: boolean; }>; readonly refreshToken: better_call0.StrictEndpoint<"/refresh-token", { method: "POST"; body: zod.ZodObject<{ providerId: zod.ZodString; accountId: zod.ZodOptional; userId: zod.ZodOptional; }, zod_v4_core0.$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; }; }; }; }; }, { accessToken: string | undefined; refreshToken: string; accessTokenExpiresAt: Date | undefined; refreshTokenExpiresAt: Date | null | undefined; scope: string | null | undefined; idToken: string | null | undefined; providerId: string; accountId: string; }>; readonly getAccessToken: better_call0.StrictEndpoint<"/get-access-token", { method: "POST"; body: zod.ZodObject<{ providerId: zod.ZodString; accountId: zod.ZodOptional; userId: zod.ZodOptional; }, zod_v4_core0.$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; }; accessTokenExpiresAt: { type: string; format: string; }; }; }; }; }; }; 400: { description: string; }; }; }; }; }, { accessToken: string; accessTokenExpiresAt: Date | undefined; scopes: string[]; idToken: string | undefined; }>; readonly accountInfo: better_call0.StrictEndpoint<"/account-info", { method: "GET"; use: ((inputContext: better_call0.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; createdAt: Date; updatedAt: Date; userId: string; expiresAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; 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; }; }; }; }; }; }; }; query: zod.ZodOptional; }, zod_v4_core0.$strip>>; }, { user: _better_auth_core_oauth20.OAuth2UserInfo; data: Record; } | null>; }> & (((C extends undefined ? {} : C) & { baseURL: string | undefined; fetchOptions: { customFetchImpl: (url: string | URL | Request, init?: RequestInit | undefined) => Promise; }; })["plugins"] extends (infer Pl)[] ? UnionToIntersection : {}) : InferAPI<{ readonly ok: better_call0.StrictEndpoint<"/ok", { method: "GET"; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { ok: { type: string; description: string; }; }; required: string[]; }; }; }; }; }; }; scope: "server"; }; }, { ok: boolean; }>; readonly error: better_call0.StrictEndpoint<"/error", { method: "GET"; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "text/html": { schema: { type: "string"; description: string; }; }; }; }; }; }; scope: "server"; }; }, Response>; readonly signInSocial: better_call0.StrictEndpoint<"/sign-in/social", { method: "POST"; operationId: string; body: zod.ZodObject<{ callbackURL: zod.ZodOptional; newUserCallbackURL: zod.ZodOptional; errorCallbackURL: zod.ZodOptional; provider: zod.ZodType<(string & {}) | "linear" | "huggingface" | "github" | "apple" | "atlassian" | "cognito" | "discord" | "facebook" | "figma" | "microsoft" | "google" | "slack" | "spotify" | "twitch" | "twitter" | "dropbox" | "kick" | "linkedin" | "gitlab" | "tiktok" | "reddit" | "roblox" | "salesforce" | "vk" | "zoom" | "notion" | "kakao" | "naver" | "line" | "paybin" | "paypal" | "polar" | "railway" | "vercel" | "wechat", unknown, zod_v4_core0.$ZodTypeInternals<(string & {}) | "linear" | "huggingface" | "github" | "apple" | "atlassian" | "cognito" | "discord" | "facebook" | "figma" | "microsoft" | "google" | "slack" | "spotify" | "twitch" | "twitter" | "dropbox" | "kick" | "linkedin" | "gitlab" | "tiktok" | "reddit" | "roblox" | "salesforce" | "vk" | "zoom" | "notion" | "kakao" | "naver" | "line" | "paybin" | "paypal" | "polar" | "railway" | "vercel" | "wechat", unknown>>; disableRedirect: zod.ZodOptional; idToken: zod.ZodOptional; accessToken: zod.ZodOptional; refreshToken: zod.ZodOptional; expiresAt: zod.ZodOptional; user: zod.ZodOptional; lastName: zod.ZodOptional; }, zod_v4_core0.$strip>>; email: zod.ZodOptional; }, zod_v4_core0.$strip>>; }, zod_v4_core0.$strip>>; scopes: zod.ZodOptional>; requestSignUp: zod.ZodOptional; loginHint: zod.ZodOptional; additionalData: zod.ZodOptional>; }, zod_v4_core0.$strip>; metadata: { $Infer: { body: zod.infer; newUserCallbackURL: zod.ZodOptional; errorCallbackURL: zod.ZodOptional; provider: zod.ZodType<(string & {}) | "linear" | "huggingface" | "github" | "apple" | "atlassian" | "cognito" | "discord" | "facebook" | "figma" | "microsoft" | "google" | "slack" | "spotify" | "twitch" | "twitter" | "dropbox" | "kick" | "linkedin" | "gitlab" | "tiktok" | "reddit" | "roblox" | "salesforce" | "vk" | "zoom" | "notion" | "kakao" | "naver" | "line" | "paybin" | "paypal" | "polar" | "railway" | "vercel" | "wechat", unknown, zod_v4_core0.$ZodTypeInternals<(string & {}) | "linear" | "huggingface" | "github" | "apple" | "atlassian" | "cognito" | "discord" | "facebook" | "figma" | "microsoft" | "google" | "slack" | "spotify" | "twitch" | "twitter" | "dropbox" | "kick" | "linkedin" | "gitlab" | "tiktok" | "reddit" | "roblox" | "salesforce" | "vk" | "zoom" | "notion" | "kakao" | "naver" | "line" | "paybin" | "paypal" | "polar" | "railway" | "vercel" | "wechat", unknown>>; disableRedirect: zod.ZodOptional; idToken: zod.ZodOptional; accessToken: zod.ZodOptional; refreshToken: zod.ZodOptional; expiresAt: zod.ZodOptional; user: zod.ZodOptional; lastName: zod.ZodOptional; }, zod_v4_core0.$strip>>; email: zod.ZodOptional; }, zod_v4_core0.$strip>>; }, zod_v4_core0.$strip>>; scopes: zod.ZodOptional>; requestSignUp: zod.ZodOptional; loginHint: zod.ZodOptional; additionalData: zod.ZodOptional>; }, zod_v4_core0.$strip>>; returned: { redirect: boolean; token?: string | undefined; url?: string | undefined; user?: { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; image?: string | null | undefined; } | undefined; }; }; openapi: { description: string; operationId: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; description: string; properties: { token: { type: string; }; user: { type: string; $ref: string; }; url: { type: string; }; redirect: { type: string; enum: boolean[]; }; }; required: string[]; }; }; }; }; }; }; }; }, { redirect: boolean; url: string; } | { redirect: boolean; token: string; url: undefined; user: { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; image?: string | null | undefined; }; }>; readonly callbackOAuth: better_call0.StrictEndpoint<"/callback/:id", { method: ("GET" | "POST")[]; operationId: string; body: zod.ZodOptional; error: zod.ZodOptional; device_id: zod.ZodOptional; error_description: zod.ZodOptional; state: zod.ZodOptional; user: zod.ZodOptional; }, zod_v4_core0.$strip>>; query: zod.ZodOptional; error: zod.ZodOptional; device_id: zod.ZodOptional; error_description: zod.ZodOptional; state: zod.ZodOptional; user: zod.ZodOptional; }, zod_v4_core0.$strip>>; metadata: { allowedMediaTypes: string[]; scope: "server"; }; }, void>; readonly getSession: better_call0.StrictEndpoint<"/get-session", { method: ("GET" | "POST")[]; operationId: string; query: zod.ZodOptional>; disableRefresh: zod.ZodOptional>; }, zod_v4_core0.$strip>>; requireHeaders: true; metadata: { openapi: { operationId: string; description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; nullable: boolean; properties: { session: { $ref: string; }; user: { $ref: string; }; }; required: string[]; }; }; }; }; }; }; }; }, { session: { id: string; createdAt: Date; updatedAt: Date; userId: string; expiresAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; image?: string | null | undefined; }; } | null>; readonly signOut: better_call0.StrictEndpoint<"/sign-out", { method: "POST"; operationId: string; requireHeaders: true; metadata: { openapi: { operationId: string; description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { success: { type: string; }; }; }; }; }; }; }; }; }; }, { success: boolean; }>; readonly signUpEmail: better_call0.StrictEndpoint<"/sign-up/email", { method: "POST"; operationId: string; use: ((inputContext: better_call0.MiddlewareInputContext) => Promise)[]; body: zod.ZodIntersection; callbackURL: zod.ZodOptional; rememberMe: zod.ZodOptional; }, zod_v4_core0.$strip>, zod.ZodRecord>; metadata: { allowedMediaTypes: string[]; $Infer: { body: { name: string; email: string; password: string; image?: string | undefined; callbackURL?: string | undefined; rememberMe?: boolean | undefined; }; returned: { token: string | null; user: { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; image?: string | null | undefined; }; }; }; openapi: { operationId: string; 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[]; }; }; }; }; "422": { description: string; content: { "application/json": { schema: { type: "object"; properties: { message: { type: string; }; }; }; }; }; }; }; }; }; }, { token: null; user: { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; image?: string | null | undefined; }; } | { token: string; user: { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; image?: string | null | undefined; }; }>; readonly signInEmail: better_call0.StrictEndpoint<"/sign-in/email", { method: "POST"; operationId: string; use: ((inputContext: better_call0.MiddlewareInputContext) => Promise)[]; body: zod.ZodObject<{ email: zod.ZodString; password: zod.ZodString; callbackURL: zod.ZodOptional; rememberMe: zod.ZodOptional>; }, zod_v4_core0.$strip>; metadata: { allowedMediaTypes: string[]; $Infer: { body: { email: string; password: string; callbackURL?: string | undefined; rememberMe?: boolean | undefined; }; returned: { redirect: boolean; token: string; url?: string | undefined; user: { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; image?: string | null | undefined; }; }; }; openapi: { operationId: string; 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; $ref: string; }; }; required: string[]; }; }; }; }; }; }; }; }, { redirect: boolean; token: string; url?: string | undefined; user: { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; image?: string | null | undefined; }; }>; readonly resetPassword: better_call0.StrictEndpoint<"/reset-password", { method: "POST"; operationId: string; query: zod.ZodOptional; }, zod_v4_core0.$strip>>; body: zod.ZodObject<{ newPassword: zod.ZodString; token: zod.ZodOptional; }, zod_v4_core0.$strip>; metadata: { openapi: { operationId: string; description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { status: { type: string; }; }; }; }; }; }; }; }; }; }, { status: boolean; }>; readonly verifyPassword: better_call0.StrictEndpoint<"/verify-password", { method: "POST"; body: zod.ZodObject<{ password: zod.ZodString; }, zod_v4_core0.$strip>; metadata: { scope: "server"; openapi: { operationId: string; description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { status: { type: string; }; }; }; }; }; }; }; }; }; use: ((inputContext: better_call0.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; createdAt: Date; updatedAt: Date; userId: string; expiresAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; image?: string | null | undefined; }; }; }>)[]; }, { status: boolean; }>; readonly verifyEmail: better_call0.StrictEndpoint<"/verify-email", { method: "GET"; operationId: string; query: zod.ZodObject<{ token: zod.ZodString; callbackURL: zod.ZodOptional; }, zod_v4_core0.$strip>; use: ((inputContext: better_call0.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; $ref: string; }; status: { type: string; description: string; }; }; required: string[]; }; }; }; }; }; }; }; }, void | { status: boolean; }>; readonly sendVerificationEmail: better_call0.StrictEndpoint<"/send-verification-email", { method: "POST"; operationId: string; body: zod.ZodObject<{ email: zod.ZodEmail; callbackURL: zod.ZodOptional; }, zod_v4_core0.$strip>; metadata: { openapi: { operationId: string; 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; }; }; }; }; }; }; }; }; }; }, { status: boolean; }>; readonly changeEmail: better_call0.StrictEndpoint<"/change-email", { method: "POST"; body: zod.ZodObject<{ newEmail: zod.ZodEmail; callbackURL: zod.ZodOptional; }, zod_v4_core0.$strip>; use: ((inputContext: better_call0.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; createdAt: Date; updatedAt: Date; userId: string; expiresAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; image?: string | null | undefined; }; }; }>)[]; metadata: { openapi: { operationId: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { user: { type: string; $ref: string; }; status: { type: string; description: string; }; message: { type: string; enum: string[]; description: string; nullable: boolean; }; }; required: string[]; }; }; }; }; }; }; }; }, { status: boolean; }>; readonly changePassword: better_call0.StrictEndpoint<"/change-password", { method: "POST"; operationId: string; body: zod.ZodObject<{ newPassword: zod.ZodString; currentPassword: zod.ZodString; revokeOtherSessions: zod.ZodOptional; }, zod_v4_core0.$strip>; use: ((inputContext: better_call0.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; createdAt: Date; updatedAt: Date; userId: string; expiresAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; image?: string | null | undefined; }; }; }>)[]; metadata: { openapi: { operationId: string; 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[]; }; }; }; }; }; }; }; }, { token: string | null; user: { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; image?: string | null | undefined; } & Record & { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; image?: string | null | undefined; }; }>; readonly setPassword: better_call0.StrictEndpoint; use: ((inputContext: better_call0.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; createdAt: Date; updatedAt: Date; userId: string; expiresAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; image?: string | null | undefined; }; }; }>)[]; }, { status: boolean; }>; readonly updateSession: better_call0.StrictEndpoint<"/update-session", { method: "POST"; operationId: string; body: zod.ZodRecord; use: ((inputContext: better_call0.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; createdAt: Date; updatedAt: Date; userId: string; expiresAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; image?: string | null | undefined; }; }; }>)[]; metadata: { $Infer: { body: Partial<{}>; }; openapi: { operationId: string; description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { session: { type: string; $ref: string; }; }; }; }; }; }; }; }; }; }, { session: { id: string; createdAt: Date; updatedAt: Date; userId: string; expiresAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; }>; readonly updateUser: better_call0.StrictEndpoint<"/update-user", { method: "POST"; operationId: string; body: zod.ZodRecord; use: ((inputContext: better_call0.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; createdAt: Date; updatedAt: Date; userId: string; expiresAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; image?: string | null | undefined; }; }; }>)[]; metadata: { $Infer: { body: Partial<{}> & { name?: string | undefined; image?: string | undefined | null; }; }; openapi: { operationId: string; description: string; requestBody: { content: { "application/json": { schema: { type: "object"; properties: { name: { type: string; description: string; }; image: { type: string; description: string; nullable: boolean; }; }; }; }; }; }; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { user: { type: string; $ref: string; }; }; }; }; }; }; }; }; }; }, { status: boolean; }>; readonly deleteUser: better_call0.StrictEndpoint<"/delete-user", { method: "POST"; use: ((inputContext: better_call0.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; createdAt: Date; updatedAt: Date; userId: string; expiresAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; image?: string | null | undefined; }; }; }>)[]; body: zod.ZodObject<{ callbackURL: zod.ZodOptional; password: zod.ZodOptional; token: zod.ZodOptional; }, zod_v4_core0.$strip>; metadata: { openapi: { operationId: string; description: string; requestBody: { content: { "application/json": { schema: { type: "object"; properties: { callbackURL: { type: string; description: string; }; password: { type: string; description: string; }; token: { type: string; 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[]; }; }; }; }; }; }; }; }, { success: boolean; message: string; }>; readonly requestPasswordReset: better_call0.StrictEndpoint<"/request-password-reset", { method: "POST"; body: zod.ZodObject<{ email: zod.ZodEmail; redirectTo: zod.ZodOptional; }, zod_v4_core0.$strip>; metadata: { openapi: { operationId: string; description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { status: { type: string; }; message: { type: string; }; }; }; }; }; }; }; }; }; use: ((inputContext: better_call0.MiddlewareInputContext) => Promise)[]; }, { status: boolean; message: string; }>; readonly requestPasswordResetCallback: better_call0.StrictEndpoint<"/reset-password/:token", { method: "GET"; operationId: string; query: zod.ZodObject<{ callbackURL: zod.ZodString; }, zod_v4_core0.$strip>; use: ((inputContext: better_call0.MiddlewareInputContext) => Promise)[]; metadata: { openapi: { operationId: string; description: string; parameters: ({ name: string; in: "path"; required: true; description: string; schema: { type: "string"; }; } | { name: string; in: "query"; required: true; description: string; schema: { type: "string"; }; })[]; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { token: { type: string; }; }; }; }; }; }; }; }; }; }, never>; readonly listSessions: better_call0.StrictEndpoint<"/list-sessions", { method: "GET"; operationId: string; use: ((inputContext: better_call0.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; createdAt: Date; updatedAt: Date; userId: string; expiresAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; image?: string | null | undefined; }; }; }>)[]; requireHeaders: true; metadata: { openapi: { operationId: string; description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "array"; items: { $ref: string; }; }; }; }; }; }; }; }; }, Prettify$1<{ id: string; createdAt: Date; updatedAt: Date; userId: string; expiresAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }>[]>; readonly revokeSession: better_call0.StrictEndpoint<"/revoke-session", { method: "POST"; body: zod.ZodObject<{ token: zod.ZodString; }, zod_v4_core0.$strip>; use: ((inputContext: better_call0.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; createdAt: Date; updatedAt: Date; userId: string; expiresAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; 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[]; }; }; }; }; }; }; }; }, { status: boolean; }>; readonly revokeSessions: better_call0.StrictEndpoint<"/revoke-sessions", { method: "POST"; use: ((inputContext: better_call0.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; createdAt: Date; updatedAt: Date; userId: string; expiresAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; 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[]; }; }; }; }; }; }; }; }, { status: boolean; }>; readonly revokeOtherSessions: better_call0.StrictEndpoint<"/revoke-other-sessions", { method: "POST"; requireHeaders: true; use: ((inputContext: better_call0.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; createdAt: Date; updatedAt: Date; userId: string; expiresAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; 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[]; }; }; }; }; }; }; }; }, { status: boolean; }>; readonly linkSocialAccount: better_call0.StrictEndpoint<"/link-social", { method: "POST"; requireHeaders: true; body: zod.ZodObject<{ callbackURL: zod.ZodOptional; provider: zod.ZodType<(string & {}) | "linear" | "huggingface" | "github" | "apple" | "atlassian" | "cognito" | "discord" | "facebook" | "figma" | "microsoft" | "google" | "slack" | "spotify" | "twitch" | "twitter" | "dropbox" | "kick" | "linkedin" | "gitlab" | "tiktok" | "reddit" | "roblox" | "salesforce" | "vk" | "zoom" | "notion" | "kakao" | "naver" | "line" | "paybin" | "paypal" | "polar" | "railway" | "vercel" | "wechat", unknown, zod_v4_core0.$ZodTypeInternals<(string & {}) | "linear" | "huggingface" | "github" | "apple" | "atlassian" | "cognito" | "discord" | "facebook" | "figma" | "microsoft" | "google" | "slack" | "spotify" | "twitch" | "twitter" | "dropbox" | "kick" | "linkedin" | "gitlab" | "tiktok" | "reddit" | "roblox" | "salesforce" | "vk" | "zoom" | "notion" | "kakao" | "naver" | "line" | "paybin" | "paypal" | "polar" | "railway" | "vercel" | "wechat", unknown>>; idToken: zod.ZodOptional; accessToken: zod.ZodOptional; refreshToken: zod.ZodOptional; scopes: zod.ZodOptional>; }, zod_v4_core0.$strip>>; requestSignUp: zod.ZodOptional; scopes: zod.ZodOptional>; errorCallbackURL: zod.ZodOptional; disableRedirect: zod.ZodOptional; additionalData: zod.ZodOptional>; }, zod_v4_core0.$strip>; use: ((inputContext: better_call0.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; createdAt: Date; updatedAt: Date; userId: string; expiresAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; image?: string | null | undefined; }; }; }>)[]; metadata: { openapi: { description: string; operationId: 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[]; }; }; }; }; }; }; }; }, { url: string; redirect: boolean; }>; readonly listUserAccounts: better_call0.StrictEndpoint<"/list-accounts", { method: "GET"; use: ((inputContext: better_call0.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; createdAt: Date; updatedAt: Date; userId: string; expiresAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; image?: string | null | undefined; }; }; }>)[]; metadata: { openapi: { operationId: string; description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "array"; items: { type: string; properties: { id: { type: string; }; providerId: { type: string; }; createdAt: { type: string; format: string; }; updatedAt: { type: string; format: string; }; accountId: { type: string; }; userId: { type: string; }; scopes: { type: string; items: { type: string; }; }; }; required: string[]; }; }; }; }; }; }; }; }; }, { scopes: string[]; id: string; createdAt: Date; updatedAt: Date; userId: string; providerId: string; accountId: string; }[]>; readonly deleteUserCallback: better_call0.StrictEndpoint<"/delete-user/callback", { method: "GET"; query: zod.ZodObject<{ token: zod.ZodString; callbackURL: zod.ZodOptional; }, zod_v4_core0.$strip>; use: ((inputContext: better_call0.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[]; }; }; }; }; }; }; }; }, { success: boolean; message: string; }>; readonly unlinkAccount: better_call0.StrictEndpoint<"/unlink-account", { method: "POST"; body: zod.ZodObject<{ providerId: zod.ZodString; accountId: zod.ZodOptional; }, zod_v4_core0.$strip>; use: ((inputContext: better_call0.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; createdAt: Date; updatedAt: Date; userId: string; expiresAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; image?: string | null | undefined; }; }; }>)[]; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { status: { type: string; }; }; }; }; }; }; }; }; }; }, { status: boolean; }>; readonly refreshToken: better_call0.StrictEndpoint<"/refresh-token", { method: "POST"; body: zod.ZodObject<{ providerId: zod.ZodString; accountId: zod.ZodOptional; userId: zod.ZodOptional; }, zod_v4_core0.$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; }; }; }; }; }, { accessToken: string | undefined; refreshToken: string; accessTokenExpiresAt: Date | undefined; refreshTokenExpiresAt: Date | null | undefined; scope: string | null | undefined; idToken: string | null | undefined; providerId: string; accountId: string; }>; readonly getAccessToken: better_call0.StrictEndpoint<"/get-access-token", { method: "POST"; body: zod.ZodObject<{ providerId: zod.ZodString; accountId: zod.ZodOptional; userId: zod.ZodOptional; }, zod_v4_core0.$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; }; accessTokenExpiresAt: { type: string; format: string; }; }; }; }; }; }; 400: { description: string; }; }; }; }; }, { accessToken: string; accessTokenExpiresAt: Date | undefined; scopes: string[]; idToken: string | undefined; }>; readonly accountInfo: better_call0.StrictEndpoint<"/account-info", { method: "GET"; use: ((inputContext: better_call0.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; createdAt: Date; updatedAt: Date; userId: string; expiresAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; 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; }; }; }; }; }; }; }; query: zod.ZodOptional; }, zod_v4_core0.$strip>>; }, { user: _better_auth_core_oauth20.OAuth2UserInfo; data: Record; } | null>; }>, (C extends undefined ? {} : C) & { baseURL: string | undefined; fetchOptions: { customFetchImpl: (url: string | URL | Request, init?: RequestInit | undefined) => Promise; }; }>> & (((C extends undefined ? {} : C) & { baseURL: string | undefined; fetchOptions: { customFetchImpl: (url: string | URL | Request, init?: RequestInit | undefined) => 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 | undefined) => Promise; }; }>> & { useSession: nanostores.Atom<{ data: UnionToIntersection Promise; }; })["plugins"] extends any[] ? { getSession: (context: { headers: Headers; query?: { disableCookieCache?: boolean; disableRefresh?: boolean; } | undefined; asResponse?: R | undefined; returnHeaders?: H | undefined; }) => false extends R ? H extends true ? Promise<{ headers: Headers; response: { session: { id: string; createdAt: Date; updatedAt: Date; userId: string; expiresAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; image?: string | null | undefined; }; } | null; }> : Promise<{ session: { id: string; createdAt: Date; updatedAt: Date; userId: string; expiresAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; image?: string | null | undefined; }; } | null> : Promise; } & FilteredAPI<{ readonly ok: better_call0.StrictEndpoint<"/ok", { method: "GET"; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { ok: { type: string; description: string; }; }; required: string[]; }; }; }; }; }; }; scope: "server"; }; }, { ok: boolean; }>; readonly error: better_call0.StrictEndpoint<"/error", { method: "GET"; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "text/html": { schema: { type: "string"; description: string; }; }; }; }; }; }; scope: "server"; }; }, Response>; readonly signInSocial: better_call0.StrictEndpoint<"/sign-in/social", { method: "POST"; operationId: string; body: zod.ZodObject<{ callbackURL: zod.ZodOptional; newUserCallbackURL: zod.ZodOptional; errorCallbackURL: zod.ZodOptional; provider: zod.ZodType<(string & {}) | "linear" | "huggingface" | "github" | "apple" | "atlassian" | "cognito" | "discord" | "facebook" | "figma" | "microsoft" | "google" | "slack" | "spotify" | "twitch" | "twitter" | "dropbox" | "kick" | "linkedin" | "gitlab" | "tiktok" | "reddit" | "roblox" | "salesforce" | "vk" | "zoom" | "notion" | "kakao" | "naver" | "line" | "paybin" | "paypal" | "polar" | "railway" | "vercel" | "wechat", unknown, zod_v4_core0.$ZodTypeInternals<(string & {}) | "linear" | "huggingface" | "github" | "apple" | "atlassian" | "cognito" | "discord" | "facebook" | "figma" | "microsoft" | "google" | "slack" | "spotify" | "twitch" | "twitter" | "dropbox" | "kick" | "linkedin" | "gitlab" | "tiktok" | "reddit" | "roblox" | "salesforce" | "vk" | "zoom" | "notion" | "kakao" | "naver" | "line" | "paybin" | "paypal" | "polar" | "railway" | "vercel" | "wechat", unknown>>; disableRedirect: zod.ZodOptional; idToken: zod.ZodOptional; accessToken: zod.ZodOptional; refreshToken: zod.ZodOptional; expiresAt: zod.ZodOptional; user: zod.ZodOptional; lastName: zod.ZodOptional; }, zod_v4_core0.$strip>>; email: zod.ZodOptional; }, zod_v4_core0.$strip>>; }, zod_v4_core0.$strip>>; scopes: zod.ZodOptional>; requestSignUp: zod.ZodOptional; loginHint: zod.ZodOptional; additionalData: zod.ZodOptional>; }, zod_v4_core0.$strip>; metadata: { $Infer: { body: zod.infer; newUserCallbackURL: zod.ZodOptional; errorCallbackURL: zod.ZodOptional; provider: zod.ZodType<(string & {}) | "linear" | "huggingface" | "github" | "apple" | "atlassian" | "cognito" | "discord" | "facebook" | "figma" | "microsoft" | "google" | "slack" | "spotify" | "twitch" | "twitter" | "dropbox" | "kick" | "linkedin" | "gitlab" | "tiktok" | "reddit" | "roblox" | "salesforce" | "vk" | "zoom" | "notion" | "kakao" | "naver" | "line" | "paybin" | "paypal" | "polar" | "railway" | "vercel" | "wechat", unknown, zod_v4_core0.$ZodTypeInternals<(string & {}) | "linear" | "huggingface" | "github" | "apple" | "atlassian" | "cognito" | "discord" | "facebook" | "figma" | "microsoft" | "google" | "slack" | "spotify" | "twitch" | "twitter" | "dropbox" | "kick" | "linkedin" | "gitlab" | "tiktok" | "reddit" | "roblox" | "salesforce" | "vk" | "zoom" | "notion" | "kakao" | "naver" | "line" | "paybin" | "paypal" | "polar" | "railway" | "vercel" | "wechat", unknown>>; disableRedirect: zod.ZodOptional; idToken: zod.ZodOptional; accessToken: zod.ZodOptional; refreshToken: zod.ZodOptional; expiresAt: zod.ZodOptional; user: zod.ZodOptional; lastName: zod.ZodOptional; }, zod_v4_core0.$strip>>; email: zod.ZodOptional; }, zod_v4_core0.$strip>>; }, zod_v4_core0.$strip>>; scopes: zod.ZodOptional>; requestSignUp: zod.ZodOptional; loginHint: zod.ZodOptional; additionalData: zod.ZodOptional>; }, zod_v4_core0.$strip>>; returned: { redirect: boolean; token?: string | undefined; url?: string | undefined; user?: { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; image?: string | null | undefined; } | undefined; }; }; openapi: { description: string; operationId: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; description: string; properties: { token: { type: string; }; user: { type: string; $ref: string; }; url: { type: string; }; redirect: { type: string; enum: boolean[]; }; }; required: string[]; }; }; }; }; }; }; }; }, { redirect: boolean; url: string; } | { redirect: boolean; token: string; url: undefined; user: { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; image?: string | null | undefined; }; }>; readonly callbackOAuth: better_call0.StrictEndpoint<"/callback/:id", { method: ("GET" | "POST")[]; operationId: string; body: zod.ZodOptional; error: zod.ZodOptional; device_id: zod.ZodOptional; error_description: zod.ZodOptional; state: zod.ZodOptional; user: zod.ZodOptional; }, zod_v4_core0.$strip>>; query: zod.ZodOptional; error: zod.ZodOptional; device_id: zod.ZodOptional; error_description: zod.ZodOptional; state: zod.ZodOptional; user: zod.ZodOptional; }, zod_v4_core0.$strip>>; metadata: { allowedMediaTypes: string[]; scope: "server"; }; }, void>; readonly getSession: better_call0.StrictEndpoint<"/get-session", { method: ("GET" | "POST")[]; operationId: string; query: zod.ZodOptional>; disableRefresh: zod.ZodOptional>; }, zod_v4_core0.$strip>>; requireHeaders: true; metadata: { openapi: { operationId: string; description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; nullable: boolean; properties: { session: { $ref: string; }; user: { $ref: string; }; }; required: string[]; }; }; }; }; }; }; }; }, { session: { id: string; createdAt: Date; updatedAt: Date; userId: string; expiresAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; image?: string | null | undefined; }; } | null>; readonly signOut: better_call0.StrictEndpoint<"/sign-out", { method: "POST"; operationId: string; requireHeaders: true; metadata: { openapi: { operationId: string; description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { success: { type: string; }; }; }; }; }; }; }; }; }; }, { success: boolean; }>; readonly signUpEmail: better_call0.StrictEndpoint<"/sign-up/email", { method: "POST"; operationId: string; use: ((inputContext: better_call0.MiddlewareInputContext) => Promise)[]; body: zod.ZodIntersection; callbackURL: zod.ZodOptional; rememberMe: zod.ZodOptional; }, zod_v4_core0.$strip>, zod.ZodRecord>; metadata: { allowedMediaTypes: string[]; $Infer: { body: { name: string; email: string; password: string; image?: string | undefined; callbackURL?: string | undefined; rememberMe?: boolean | undefined; }; returned: { token: string | null; user: { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; image?: string | null | undefined; }; }; }; openapi: { operationId: string; 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[]; }; }; }; }; "422": { description: string; content: { "application/json": { schema: { type: "object"; properties: { message: { type: string; }; }; }; }; }; }; }; }; }; }, { token: null; user: { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; image?: string | null | undefined; }; } | { token: string; user: { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; image?: string | null | undefined; }; }>; readonly signInEmail: better_call0.StrictEndpoint<"/sign-in/email", { method: "POST"; operationId: string; use: ((inputContext: better_call0.MiddlewareInputContext) => Promise)[]; body: zod.ZodObject<{ email: zod.ZodString; password: zod.ZodString; callbackURL: zod.ZodOptional; rememberMe: zod.ZodOptional>; }, zod_v4_core0.$strip>; metadata: { allowedMediaTypes: string[]; $Infer: { body: { email: string; password: string; callbackURL?: string | undefined; rememberMe?: boolean | undefined; }; returned: { redirect: boolean; token: string; url?: string | undefined; user: { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; image?: string | null | undefined; }; }; }; openapi: { operationId: string; 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; $ref: string; }; }; required: string[]; }; }; }; }; }; }; }; }, { redirect: boolean; token: string; url?: string | undefined; user: { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; image?: string | null | undefined; }; }>; readonly resetPassword: better_call0.StrictEndpoint<"/reset-password", { method: "POST"; operationId: string; query: zod.ZodOptional; }, zod_v4_core0.$strip>>; body: zod.ZodObject<{ newPassword: zod.ZodString; token: zod.ZodOptional; }, zod_v4_core0.$strip>; metadata: { openapi: { operationId: string; description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { status: { type: string; }; }; }; }; }; }; }; }; }; }, { status: boolean; }>; readonly verifyPassword: better_call0.StrictEndpoint<"/verify-password", { method: "POST"; body: zod.ZodObject<{ password: zod.ZodString; }, zod_v4_core0.$strip>; metadata: { scope: "server"; openapi: { operationId: string; description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { status: { type: string; }; }; }; }; }; }; }; }; }; use: ((inputContext: better_call0.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; createdAt: Date; updatedAt: Date; userId: string; expiresAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; image?: string | null | undefined; }; }; }>)[]; }, { status: boolean; }>; readonly verifyEmail: better_call0.StrictEndpoint<"/verify-email", { method: "GET"; operationId: string; query: zod.ZodObject<{ token: zod.ZodString; callbackURL: zod.ZodOptional; }, zod_v4_core0.$strip>; use: ((inputContext: better_call0.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; $ref: string; }; status: { type: string; description: string; }; }; required: string[]; }; }; }; }; }; }; }; }, void | { status: boolean; }>; readonly sendVerificationEmail: better_call0.StrictEndpoint<"/send-verification-email", { method: "POST"; operationId: string; body: zod.ZodObject<{ email: zod.ZodEmail; callbackURL: zod.ZodOptional; }, zod_v4_core0.$strip>; metadata: { openapi: { operationId: string; 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; }; }; }; }; }; }; }; }; }; }, { status: boolean; }>; readonly changeEmail: better_call0.StrictEndpoint<"/change-email", { method: "POST"; body: zod.ZodObject<{ newEmail: zod.ZodEmail; callbackURL: zod.ZodOptional; }, zod_v4_core0.$strip>; use: ((inputContext: better_call0.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; createdAt: Date; updatedAt: Date; userId: string; expiresAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; image?: string | null | undefined; }; }; }>)[]; metadata: { openapi: { operationId: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { user: { type: string; $ref: string; }; status: { type: string; description: string; }; message: { type: string; enum: string[]; description: string; nullable: boolean; }; }; required: string[]; }; }; }; }; }; }; }; }, { status: boolean; }>; readonly changePassword: better_call0.StrictEndpoint<"/change-password", { method: "POST"; operationId: string; body: zod.ZodObject<{ newPassword: zod.ZodString; currentPassword: zod.ZodString; revokeOtherSessions: zod.ZodOptional; }, zod_v4_core0.$strip>; use: ((inputContext: better_call0.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; createdAt: Date; updatedAt: Date; userId: string; expiresAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; image?: string | null | undefined; }; }; }>)[]; metadata: { openapi: { operationId: string; 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[]; }; }; }; }; }; }; }; }, { token: string | null; user: { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; image?: string | null | undefined; } & Record & { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; image?: string | null | undefined; }; }>; readonly setPassword: better_call0.StrictEndpoint; use: ((inputContext: better_call0.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; createdAt: Date; updatedAt: Date; userId: string; expiresAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; image?: string | null | undefined; }; }; }>)[]; }, { status: boolean; }>; readonly updateSession: better_call0.StrictEndpoint<"/update-session", { method: "POST"; operationId: string; body: zod.ZodRecord; use: ((inputContext: better_call0.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; createdAt: Date; updatedAt: Date; userId: string; expiresAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; image?: string | null | undefined; }; }; }>)[]; metadata: { $Infer: { body: Partial<{}>; }; openapi: { operationId: string; description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { session: { type: string; $ref: string; }; }; }; }; }; }; }; }; }; }, { session: { id: string; createdAt: Date; updatedAt: Date; userId: string; expiresAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; }>; readonly updateUser: better_call0.StrictEndpoint<"/update-user", { method: "POST"; operationId: string; body: zod.ZodRecord; use: ((inputContext: better_call0.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; createdAt: Date; updatedAt: Date; userId: string; expiresAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; image?: string | null | undefined; }; }; }>)[]; metadata: { $Infer: { body: Partial<{}> & { name?: string | undefined; image?: string | undefined | null; }; }; openapi: { operationId: string; description: string; requestBody: { content: { "application/json": { schema: { type: "object"; properties: { name: { type: string; description: string; }; image: { type: string; description: string; nullable: boolean; }; }; }; }; }; }; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { user: { type: string; $ref: string; }; }; }; }; }; }; }; }; }; }, { status: boolean; }>; readonly deleteUser: better_call0.StrictEndpoint<"/delete-user", { method: "POST"; use: ((inputContext: better_call0.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; createdAt: Date; updatedAt: Date; userId: string; expiresAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; image?: string | null | undefined; }; }; }>)[]; body: zod.ZodObject<{ callbackURL: zod.ZodOptional; password: zod.ZodOptional; token: zod.ZodOptional; }, zod_v4_core0.$strip>; metadata: { openapi: { operationId: string; description: string; requestBody: { content: { "application/json": { schema: { type: "object"; properties: { callbackURL: { type: string; description: string; }; password: { type: string; description: string; }; token: { type: string; 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[]; }; }; }; }; }; }; }; }, { success: boolean; message: string; }>; readonly requestPasswordReset: better_call0.StrictEndpoint<"/request-password-reset", { method: "POST"; body: zod.ZodObject<{ email: zod.ZodEmail; redirectTo: zod.ZodOptional; }, zod_v4_core0.$strip>; metadata: { openapi: { operationId: string; description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { status: { type: string; }; message: { type: string; }; }; }; }; }; }; }; }; }; use: ((inputContext: better_call0.MiddlewareInputContext) => Promise)[]; }, { status: boolean; message: string; }>; readonly requestPasswordResetCallback: better_call0.StrictEndpoint<"/reset-password/:token", { method: "GET"; operationId: string; query: zod.ZodObject<{ callbackURL: zod.ZodString; }, zod_v4_core0.$strip>; use: ((inputContext: better_call0.MiddlewareInputContext) => Promise)[]; metadata: { openapi: { operationId: string; description: string; parameters: ({ name: string; in: "path"; required: true; description: string; schema: { type: "string"; }; } | { name: string; in: "query"; required: true; description: string; schema: { type: "string"; }; })[]; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { token: { type: string; }; }; }; }; }; }; }; }; }; }, never>; readonly listSessions: better_call0.StrictEndpoint<"/list-sessions", { method: "GET"; operationId: string; use: ((inputContext: better_call0.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; createdAt: Date; updatedAt: Date; userId: string; expiresAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; image?: string | null | undefined; }; }; }>)[]; requireHeaders: true; metadata: { openapi: { operationId: string; description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "array"; items: { $ref: string; }; }; }; }; }; }; }; }; }, Prettify$1<{ id: string; createdAt: Date; updatedAt: Date; userId: string; expiresAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }>[]>; readonly revokeSession: better_call0.StrictEndpoint<"/revoke-session", { method: "POST"; body: zod.ZodObject<{ token: zod.ZodString; }, zod_v4_core0.$strip>; use: ((inputContext: better_call0.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; createdAt: Date; updatedAt: Date; userId: string; expiresAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; 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[]; }; }; }; }; }; }; }; }, { status: boolean; }>; readonly revokeSessions: better_call0.StrictEndpoint<"/revoke-sessions", { method: "POST"; use: ((inputContext: better_call0.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; createdAt: Date; updatedAt: Date; userId: string; expiresAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; 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[]; }; }; }; }; }; }; }; }, { status: boolean; }>; readonly revokeOtherSessions: better_call0.StrictEndpoint<"/revoke-other-sessions", { method: "POST"; requireHeaders: true; use: ((inputContext: better_call0.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; createdAt: Date; updatedAt: Date; userId: string; expiresAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; 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[]; }; }; }; }; }; }; }; }, { status: boolean; }>; readonly linkSocialAccount: better_call0.StrictEndpoint<"/link-social", { method: "POST"; requireHeaders: true; body: zod.ZodObject<{ callbackURL: zod.ZodOptional; provider: zod.ZodType<(string & {}) | "linear" | "huggingface" | "github" | "apple" | "atlassian" | "cognito" | "discord" | "facebook" | "figma" | "microsoft" | "google" | "slack" | "spotify" | "twitch" | "twitter" | "dropbox" | "kick" | "linkedin" | "gitlab" | "tiktok" | "reddit" | "roblox" | "salesforce" | "vk" | "zoom" | "notion" | "kakao" | "naver" | "line" | "paybin" | "paypal" | "polar" | "railway" | "vercel" | "wechat", unknown, zod_v4_core0.$ZodTypeInternals<(string & {}) | "linear" | "huggingface" | "github" | "apple" | "atlassian" | "cognito" | "discord" | "facebook" | "figma" | "microsoft" | "google" | "slack" | "spotify" | "twitch" | "twitter" | "dropbox" | "kick" | "linkedin" | "gitlab" | "tiktok" | "reddit" | "roblox" | "salesforce" | "vk" | "zoom" | "notion" | "kakao" | "naver" | "line" | "paybin" | "paypal" | "polar" | "railway" | "vercel" | "wechat", unknown>>; idToken: zod.ZodOptional; accessToken: zod.ZodOptional; refreshToken: zod.ZodOptional; scopes: zod.ZodOptional>; }, zod_v4_core0.$strip>>; requestSignUp: zod.ZodOptional; scopes: zod.ZodOptional>; errorCallbackURL: zod.ZodOptional; disableRedirect: zod.ZodOptional; additionalData: zod.ZodOptional>; }, zod_v4_core0.$strip>; use: ((inputContext: better_call0.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; createdAt: Date; updatedAt: Date; userId: string; expiresAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; image?: string | null | undefined; }; }; }>)[]; metadata: { openapi: { description: string; operationId: 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[]; }; }; }; }; }; }; }; }, { url: string; redirect: boolean; }>; readonly listUserAccounts: better_call0.StrictEndpoint<"/list-accounts", { method: "GET"; use: ((inputContext: better_call0.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; createdAt: Date; updatedAt: Date; userId: string; expiresAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; image?: string | null | undefined; }; }; }>)[]; metadata: { openapi: { operationId: string; description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "array"; items: { type: string; properties: { id: { type: string; }; providerId: { type: string; }; createdAt: { type: string; format: string; }; updatedAt: { type: string; format: string; }; accountId: { type: string; }; userId: { type: string; }; scopes: { type: string; items: { type: string; }; }; }; required: string[]; }; }; }; }; }; }; }; }; }, { scopes: string[]; id: string; createdAt: Date; updatedAt: Date; userId: string; providerId: string; accountId: string; }[]>; readonly deleteUserCallback: better_call0.StrictEndpoint<"/delete-user/callback", { method: "GET"; query: zod.ZodObject<{ token: zod.ZodString; callbackURL: zod.ZodOptional; }, zod_v4_core0.$strip>; use: ((inputContext: better_call0.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[]; }; }; }; }; }; }; }; }, { success: boolean; message: string; }>; readonly unlinkAccount: better_call0.StrictEndpoint<"/unlink-account", { method: "POST"; body: zod.ZodObject<{ providerId: zod.ZodString; accountId: zod.ZodOptional; }, zod_v4_core0.$strip>; use: ((inputContext: better_call0.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; createdAt: Date; updatedAt: Date; userId: string; expiresAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; image?: string | null | undefined; }; }; }>)[]; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { status: { type: string; }; }; }; }; }; }; }; }; }; }, { status: boolean; }>; readonly refreshToken: better_call0.StrictEndpoint<"/refresh-token", { method: "POST"; body: zod.ZodObject<{ providerId: zod.ZodString; accountId: zod.ZodOptional; userId: zod.ZodOptional; }, zod_v4_core0.$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; }; }; }; }; }, { accessToken: string | undefined; refreshToken: string; accessTokenExpiresAt: Date | undefined; refreshTokenExpiresAt: Date | null | undefined; scope: string | null | undefined; idToken: string | null | undefined; providerId: string; accountId: string; }>; readonly getAccessToken: better_call0.StrictEndpoint<"/get-access-token", { method: "POST"; body: zod.ZodObject<{ providerId: zod.ZodString; accountId: zod.ZodOptional; userId: zod.ZodOptional; }, zod_v4_core0.$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; }; accessTokenExpiresAt: { type: string; format: string; }; }; }; }; }; }; 400: { description: string; }; }; }; }; }, { accessToken: string; accessTokenExpiresAt: Date | undefined; scopes: string[]; idToken: string | undefined; }>; readonly accountInfo: better_call0.StrictEndpoint<"/account-info", { method: "GET"; use: ((inputContext: better_call0.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; createdAt: Date; updatedAt: Date; userId: string; expiresAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; 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; }; }; }; }; }; }; }; query: zod.ZodOptional; }, zod_v4_core0.$strip>>; }, { user: _better_auth_core_oauth20.OAuth2UserInfo; data: Record; } | null>; }> & (((C extends undefined ? {} : C) & { baseURL: string | undefined; fetchOptions: { customFetchImpl: (url: string | URL | Request, init?: RequestInit | undefined) => Promise; }; })["plugins"] extends (infer Pl)[] ? UnionToIntersection : {}) : InferAPI<{ readonly ok: better_call0.StrictEndpoint<"/ok", { method: "GET"; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { ok: { type: string; description: string; }; }; required: string[]; }; }; }; }; }; }; scope: "server"; }; }, { ok: boolean; }>; readonly error: better_call0.StrictEndpoint<"/error", { method: "GET"; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "text/html": { schema: { type: "string"; description: string; }; }; }; }; }; }; scope: "server"; }; }, Response>; readonly signInSocial: better_call0.StrictEndpoint<"/sign-in/social", { method: "POST"; operationId: string; body: zod.ZodObject<{ callbackURL: zod.ZodOptional; newUserCallbackURL: zod.ZodOptional; errorCallbackURL: zod.ZodOptional; provider: zod.ZodType<(string & {}) | "linear" | "huggingface" | "github" | "apple" | "atlassian" | "cognito" | "discord" | "facebook" | "figma" | "microsoft" | "google" | "slack" | "spotify" | "twitch" | "twitter" | "dropbox" | "kick" | "linkedin" | "gitlab" | "tiktok" | "reddit" | "roblox" | "salesforce" | "vk" | "zoom" | "notion" | "kakao" | "naver" | "line" | "paybin" | "paypal" | "polar" | "railway" | "vercel" | "wechat", unknown, zod_v4_core0.$ZodTypeInternals<(string & {}) | "linear" | "huggingface" | "github" | "apple" | "atlassian" | "cognito" | "discord" | "facebook" | "figma" | "microsoft" | "google" | "slack" | "spotify" | "twitch" | "twitter" | "dropbox" | "kick" | "linkedin" | "gitlab" | "tiktok" | "reddit" | "roblox" | "salesforce" | "vk" | "zoom" | "notion" | "kakao" | "naver" | "line" | "paybin" | "paypal" | "polar" | "railway" | "vercel" | "wechat", unknown>>; disableRedirect: zod.ZodOptional; idToken: zod.ZodOptional; accessToken: zod.ZodOptional; refreshToken: zod.ZodOptional; expiresAt: zod.ZodOptional; user: zod.ZodOptional; lastName: zod.ZodOptional; }, zod_v4_core0.$strip>>; email: zod.ZodOptional; }, zod_v4_core0.$strip>>; }, zod_v4_core0.$strip>>; scopes: zod.ZodOptional>; requestSignUp: zod.ZodOptional; loginHint: zod.ZodOptional; additionalData: zod.ZodOptional>; }, zod_v4_core0.$strip>; metadata: { $Infer: { body: zod.infer; newUserCallbackURL: zod.ZodOptional; errorCallbackURL: zod.ZodOptional; provider: zod.ZodType<(string & {}) | "linear" | "huggingface" | "github" | "apple" | "atlassian" | "cognito" | "discord" | "facebook" | "figma" | "microsoft" | "google" | "slack" | "spotify" | "twitch" | "twitter" | "dropbox" | "kick" | "linkedin" | "gitlab" | "tiktok" | "reddit" | "roblox" | "salesforce" | "vk" | "zoom" | "notion" | "kakao" | "naver" | "line" | "paybin" | "paypal" | "polar" | "railway" | "vercel" | "wechat", unknown, zod_v4_core0.$ZodTypeInternals<(string & {}) | "linear" | "huggingface" | "github" | "apple" | "atlassian" | "cognito" | "discord" | "facebook" | "figma" | "microsoft" | "google" | "slack" | "spotify" | "twitch" | "twitter" | "dropbox" | "kick" | "linkedin" | "gitlab" | "tiktok" | "reddit" | "roblox" | "salesforce" | "vk" | "zoom" | "notion" | "kakao" | "naver" | "line" | "paybin" | "paypal" | "polar" | "railway" | "vercel" | "wechat", unknown>>; disableRedirect: zod.ZodOptional; idToken: zod.ZodOptional; accessToken: zod.ZodOptional; refreshToken: zod.ZodOptional; expiresAt: zod.ZodOptional; user: zod.ZodOptional; lastName: zod.ZodOptional; }, zod_v4_core0.$strip>>; email: zod.ZodOptional; }, zod_v4_core0.$strip>>; }, zod_v4_core0.$strip>>; scopes: zod.ZodOptional>; requestSignUp: zod.ZodOptional; loginHint: zod.ZodOptional; additionalData: zod.ZodOptional>; }, zod_v4_core0.$strip>>; returned: { redirect: boolean; token?: string | undefined; url?: string | undefined; user?: { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; image?: string | null | undefined; } | undefined; }; }; openapi: { description: string; operationId: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; description: string; properties: { token: { type: string; }; user: { type: string; $ref: string; }; url: { type: string; }; redirect: { type: string; enum: boolean[]; }; }; required: string[]; }; }; }; }; }; }; }; }, { redirect: boolean; url: string; } | { redirect: boolean; token: string; url: undefined; user: { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; image?: string | null | undefined; }; }>; readonly callbackOAuth: better_call0.StrictEndpoint<"/callback/:id", { method: ("GET" | "POST")[]; operationId: string; body: zod.ZodOptional; error: zod.ZodOptional; device_id: zod.ZodOptional; error_description: zod.ZodOptional; state: zod.ZodOptional; user: zod.ZodOptional; }, zod_v4_core0.$strip>>; query: zod.ZodOptional; error: zod.ZodOptional; device_id: zod.ZodOptional; error_description: zod.ZodOptional; state: zod.ZodOptional; user: zod.ZodOptional; }, zod_v4_core0.$strip>>; metadata: { allowedMediaTypes: string[]; scope: "server"; }; }, void>; readonly getSession: better_call0.StrictEndpoint<"/get-session", { method: ("GET" | "POST")[]; operationId: string; query: zod.ZodOptional>; disableRefresh: zod.ZodOptional>; }, zod_v4_core0.$strip>>; requireHeaders: true; metadata: { openapi: { operationId: string; description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; nullable: boolean; properties: { session: { $ref: string; }; user: { $ref: string; }; }; required: string[]; }; }; }; }; }; }; }; }, { session: { id: string; createdAt: Date; updatedAt: Date; userId: string; expiresAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; image?: string | null | undefined; }; } | null>; readonly signOut: better_call0.StrictEndpoint<"/sign-out", { method: "POST"; operationId: string; requireHeaders: true; metadata: { openapi: { operationId: string; description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { success: { type: string; }; }; }; }; }; }; }; }; }; }, { success: boolean; }>; readonly signUpEmail: better_call0.StrictEndpoint<"/sign-up/email", { method: "POST"; operationId: string; use: ((inputContext: better_call0.MiddlewareInputContext) => Promise)[]; body: zod.ZodIntersection; callbackURL: zod.ZodOptional; rememberMe: zod.ZodOptional; }, zod_v4_core0.$strip>, zod.ZodRecord>; metadata: { allowedMediaTypes: string[]; $Infer: { body: { name: string; email: string; password: string; image?: string | undefined; callbackURL?: string | undefined; rememberMe?: boolean | undefined; }; returned: { token: string | null; user: { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; image?: string | null | undefined; }; }; }; openapi: { operationId: string; 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[]; }; }; }; }; "422": { description: string; content: { "application/json": { schema: { type: "object"; properties: { message: { type: string; }; }; }; }; }; }; }; }; }; }, { token: null; user: { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; image?: string | null | undefined; }; } | { token: string; user: { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; image?: string | null | undefined; }; }>; readonly signInEmail: better_call0.StrictEndpoint<"/sign-in/email", { method: "POST"; operationId: string; use: ((inputContext: better_call0.MiddlewareInputContext) => Promise)[]; body: zod.ZodObject<{ email: zod.ZodString; password: zod.ZodString; callbackURL: zod.ZodOptional; rememberMe: zod.ZodOptional>; }, zod_v4_core0.$strip>; metadata: { allowedMediaTypes: string[]; $Infer: { body: { email: string; password: string; callbackURL?: string | undefined; rememberMe?: boolean | undefined; }; returned: { redirect: boolean; token: string; url?: string | undefined; user: { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; image?: string | null | undefined; }; }; }; openapi: { operationId: string; 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; $ref: string; }; }; required: string[]; }; }; }; }; }; }; }; }, { redirect: boolean; token: string; url?: string | undefined; user: { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; image?: string | null | undefined; }; }>; readonly resetPassword: better_call0.StrictEndpoint<"/reset-password", { method: "POST"; operationId: string; query: zod.ZodOptional; }, zod_v4_core0.$strip>>; body: zod.ZodObject<{ newPassword: zod.ZodString; token: zod.ZodOptional; }, zod_v4_core0.$strip>; metadata: { openapi: { operationId: string; description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { status: { type: string; }; }; }; }; }; }; }; }; }; }, { status: boolean; }>; readonly verifyPassword: better_call0.StrictEndpoint<"/verify-password", { method: "POST"; body: zod.ZodObject<{ password: zod.ZodString; }, zod_v4_core0.$strip>; metadata: { scope: "server"; openapi: { operationId: string; description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { status: { type: string; }; }; }; }; }; }; }; }; }; use: ((inputContext: better_call0.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; createdAt: Date; updatedAt: Date; userId: string; expiresAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; image?: string | null | undefined; }; }; }>)[]; }, { status: boolean; }>; readonly verifyEmail: better_call0.StrictEndpoint<"/verify-email", { method: "GET"; operationId: string; query: zod.ZodObject<{ token: zod.ZodString; callbackURL: zod.ZodOptional; }, zod_v4_core0.$strip>; use: ((inputContext: better_call0.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; $ref: string; }; status: { type: string; description: string; }; }; required: string[]; }; }; }; }; }; }; }; }, void | { status: boolean; }>; readonly sendVerificationEmail: better_call0.StrictEndpoint<"/send-verification-email", { method: "POST"; operationId: string; body: zod.ZodObject<{ email: zod.ZodEmail; callbackURL: zod.ZodOptional; }, zod_v4_core0.$strip>; metadata: { openapi: { operationId: string; 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; }; }; }; }; }; }; }; }; }; }, { status: boolean; }>; readonly changeEmail: better_call0.StrictEndpoint<"/change-email", { method: "POST"; body: zod.ZodObject<{ newEmail: zod.ZodEmail; callbackURL: zod.ZodOptional; }, zod_v4_core0.$strip>; use: ((inputContext: better_call0.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; createdAt: Date; updatedAt: Date; userId: string; expiresAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; image?: string | null | undefined; }; }; }>)[]; metadata: { openapi: { operationId: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { user: { type: string; $ref: string; }; status: { type: string; description: string; }; message: { type: string; enum: string[]; description: string; nullable: boolean; }; }; required: string[]; }; }; }; }; }; }; }; }, { status: boolean; }>; readonly changePassword: better_call0.StrictEndpoint<"/change-password", { method: "POST"; operationId: string; body: zod.ZodObject<{ newPassword: zod.ZodString; currentPassword: zod.ZodString; revokeOtherSessions: zod.ZodOptional; }, zod_v4_core0.$strip>; use: ((inputContext: better_call0.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; createdAt: Date; updatedAt: Date; userId: string; expiresAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; image?: string | null | undefined; }; }; }>)[]; metadata: { openapi: { operationId: string; 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[]; }; }; }; }; }; }; }; }, { token: string | null; user: { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; image?: string | null | undefined; } & Record & { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; image?: string | null | undefined; }; }>; readonly setPassword: better_call0.StrictEndpoint; use: ((inputContext: better_call0.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; createdAt: Date; updatedAt: Date; userId: string; expiresAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; image?: string | null | undefined; }; }; }>)[]; }, { status: boolean; }>; readonly updateSession: better_call0.StrictEndpoint<"/update-session", { method: "POST"; operationId: string; body: zod.ZodRecord; use: ((inputContext: better_call0.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; createdAt: Date; updatedAt: Date; userId: string; expiresAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; image?: string | null | undefined; }; }; }>)[]; metadata: { $Infer: { body: Partial<{}>; }; openapi: { operationId: string; description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { session: { type: string; $ref: string; }; }; }; }; }; }; }; }; }; }, { session: { id: string; createdAt: Date; updatedAt: Date; userId: string; expiresAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; }>; readonly updateUser: better_call0.StrictEndpoint<"/update-user", { method: "POST"; operationId: string; body: zod.ZodRecord; use: ((inputContext: better_call0.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; createdAt: Date; updatedAt: Date; userId: string; expiresAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; image?: string | null | undefined; }; }; }>)[]; metadata: { $Infer: { body: Partial<{}> & { name?: string | undefined; image?: string | undefined | null; }; }; openapi: { operationId: string; description: string; requestBody: { content: { "application/json": { schema: { type: "object"; properties: { name: { type: string; description: string; }; image: { type: string; description: string; nullable: boolean; }; }; }; }; }; }; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { user: { type: string; $ref: string; }; }; }; }; }; }; }; }; }; }, { status: boolean; }>; readonly deleteUser: better_call0.StrictEndpoint<"/delete-user", { method: "POST"; use: ((inputContext: better_call0.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; createdAt: Date; updatedAt: Date; userId: string; expiresAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; image?: string | null | undefined; }; }; }>)[]; body: zod.ZodObject<{ callbackURL: zod.ZodOptional; password: zod.ZodOptional; token: zod.ZodOptional; }, zod_v4_core0.$strip>; metadata: { openapi: { operationId: string; description: string; requestBody: { content: { "application/json": { schema: { type: "object"; properties: { callbackURL: { type: string; description: string; }; password: { type: string; description: string; }; token: { type: string; 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[]; }; }; }; }; }; }; }; }, { success: boolean; message: string; }>; readonly requestPasswordReset: better_call0.StrictEndpoint<"/request-password-reset", { method: "POST"; body: zod.ZodObject<{ email: zod.ZodEmail; redirectTo: zod.ZodOptional; }, zod_v4_core0.$strip>; metadata: { openapi: { operationId: string; description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { status: { type: string; }; message: { type: string; }; }; }; }; }; }; }; }; }; use: ((inputContext: better_call0.MiddlewareInputContext) => Promise)[]; }, { status: boolean; message: string; }>; readonly requestPasswordResetCallback: better_call0.StrictEndpoint<"/reset-password/:token", { method: "GET"; operationId: string; query: zod.ZodObject<{ callbackURL: zod.ZodString; }, zod_v4_core0.$strip>; use: ((inputContext: better_call0.MiddlewareInputContext) => Promise)[]; metadata: { openapi: { operationId: string; description: string; parameters: ({ name: string; in: "path"; required: true; description: string; schema: { type: "string"; }; } | { name: string; in: "query"; required: true; description: string; schema: { type: "string"; }; })[]; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { token: { type: string; }; }; }; }; }; }; }; }; }; }, never>; readonly listSessions: better_call0.StrictEndpoint<"/list-sessions", { method: "GET"; operationId: string; use: ((inputContext: better_call0.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; createdAt: Date; updatedAt: Date; userId: string; expiresAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; image?: string | null | undefined; }; }; }>)[]; requireHeaders: true; metadata: { openapi: { operationId: string; description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "array"; items: { $ref: string; }; }; }; }; }; }; }; }; }, Prettify$1<{ id: string; createdAt: Date; updatedAt: Date; userId: string; expiresAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }>[]>; readonly revokeSession: better_call0.StrictEndpoint<"/revoke-session", { method: "POST"; body: zod.ZodObject<{ token: zod.ZodString; }, zod_v4_core0.$strip>; use: ((inputContext: better_call0.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; createdAt: Date; updatedAt: Date; userId: string; expiresAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; 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[]; }; }; }; }; }; }; }; }, { status: boolean; }>; readonly revokeSessions: better_call0.StrictEndpoint<"/revoke-sessions", { method: "POST"; use: ((inputContext: better_call0.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; createdAt: Date; updatedAt: Date; userId: string; expiresAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; 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[]; }; }; }; }; }; }; }; }, { status: boolean; }>; readonly revokeOtherSessions: better_call0.StrictEndpoint<"/revoke-other-sessions", { method: "POST"; requireHeaders: true; use: ((inputContext: better_call0.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; createdAt: Date; updatedAt: Date; userId: string; expiresAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; 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[]; }; }; }; }; }; }; }; }, { status: boolean; }>; readonly linkSocialAccount: better_call0.StrictEndpoint<"/link-social", { method: "POST"; requireHeaders: true; body: zod.ZodObject<{ callbackURL: zod.ZodOptional; provider: zod.ZodType<(string & {}) | "linear" | "huggingface" | "github" | "apple" | "atlassian" | "cognito" | "discord" | "facebook" | "figma" | "microsoft" | "google" | "slack" | "spotify" | "twitch" | "twitter" | "dropbox" | "kick" | "linkedin" | "gitlab" | "tiktok" | "reddit" | "roblox" | "salesforce" | "vk" | "zoom" | "notion" | "kakao" | "naver" | "line" | "paybin" | "paypal" | "polar" | "railway" | "vercel" | "wechat", unknown, zod_v4_core0.$ZodTypeInternals<(string & {}) | "linear" | "huggingface" | "github" | "apple" | "atlassian" | "cognito" | "discord" | "facebook" | "figma" | "microsoft" | "google" | "slack" | "spotify" | "twitch" | "twitter" | "dropbox" | "kick" | "linkedin" | "gitlab" | "tiktok" | "reddit" | "roblox" | "salesforce" | "vk" | "zoom" | "notion" | "kakao" | "naver" | "line" | "paybin" | "paypal" | "polar" | "railway" | "vercel" | "wechat", unknown>>; idToken: zod.ZodOptional; accessToken: zod.ZodOptional; refreshToken: zod.ZodOptional; scopes: zod.ZodOptional>; }, zod_v4_core0.$strip>>; requestSignUp: zod.ZodOptional; scopes: zod.ZodOptional>; errorCallbackURL: zod.ZodOptional; disableRedirect: zod.ZodOptional; additionalData: zod.ZodOptional>; }, zod_v4_core0.$strip>; use: ((inputContext: better_call0.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; createdAt: Date; updatedAt: Date; userId: string; expiresAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; image?: string | null | undefined; }; }; }>)[]; metadata: { openapi: { description: string; operationId: 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[]; }; }; }; }; }; }; }; }, { url: string; redirect: boolean; }>; readonly listUserAccounts: better_call0.StrictEndpoint<"/list-accounts", { method: "GET"; use: ((inputContext: better_call0.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; createdAt: Date; updatedAt: Date; userId: string; expiresAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; image?: string | null | undefined; }; }; }>)[]; metadata: { openapi: { operationId: string; description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "array"; items: { type: string; properties: { id: { type: string; }; providerId: { type: string; }; createdAt: { type: string; format: string; }; updatedAt: { type: string; format: string; }; accountId: { type: string; }; userId: { type: string; }; scopes: { type: string; items: { type: string; }; }; }; required: string[]; }; }; }; }; }; }; }; }; }, { scopes: string[]; id: string; createdAt: Date; updatedAt: Date; userId: string; providerId: string; accountId: string; }[]>; readonly deleteUserCallback: better_call0.StrictEndpoint<"/delete-user/callback", { method: "GET"; query: zod.ZodObject<{ token: zod.ZodString; callbackURL: zod.ZodOptional; }, zod_v4_core0.$strip>; use: ((inputContext: better_call0.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[]; }; }; }; }; }; }; }; }, { success: boolean; message: string; }>; readonly unlinkAccount: better_call0.StrictEndpoint<"/unlink-account", { method: "POST"; body: zod.ZodObject<{ providerId: zod.ZodString; accountId: zod.ZodOptional; }, zod_v4_core0.$strip>; use: ((inputContext: better_call0.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; createdAt: Date; updatedAt: Date; userId: string; expiresAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; image?: string | null | undefined; }; }; }>)[]; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { status: { type: string; }; }; }; }; }; }; }; }; }; }, { status: boolean; }>; readonly refreshToken: better_call0.StrictEndpoint<"/refresh-token", { method: "POST"; body: zod.ZodObject<{ providerId: zod.ZodString; accountId: zod.ZodOptional; userId: zod.ZodOptional; }, zod_v4_core0.$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; }; }; }; }; }, { accessToken: string | undefined; refreshToken: string; accessTokenExpiresAt: Date | undefined; refreshTokenExpiresAt: Date | null | undefined; scope: string | null | undefined; idToken: string | null | undefined; providerId: string; accountId: string; }>; readonly getAccessToken: better_call0.StrictEndpoint<"/get-access-token", { method: "POST"; body: zod.ZodObject<{ providerId: zod.ZodString; accountId: zod.ZodOptional; userId: zod.ZodOptional; }, zod_v4_core0.$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; }; accessTokenExpiresAt: { type: string; format: string; }; }; }; }; }; }; 400: { description: string; }; }; }; }; }, { accessToken: string; accessTokenExpiresAt: Date | undefined; scopes: string[]; idToken: string | undefined; }>; readonly accountInfo: better_call0.StrictEndpoint<"/account-info", { method: "GET"; use: ((inputContext: better_call0.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; createdAt: Date; updatedAt: Date; userId: string; expiresAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; 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; }; }; }; }; }; }; }; query: zod.ZodOptional; }, zod_v4_core0.$strip>>; }, { user: _better_auth_core_oauth20.OAuth2UserInfo; data: Record; } | null>; }>, (C extends undefined ? {} : C) & { baseURL: string | undefined; fetchOptions: { customFetchImpl: (url: string | URL | Request, init?: RequestInit | undefined) => Promise; }; }>> extends { getSession: () => Promise; } ? Res extends { data: null; error: { message?: string | undefined; status: number; statusText: string; }; } | { data: infer S; error: null; } ? S : Res extends Record ? Res : never : never; error: _better_fetch_fetch0.BetterFetchError | null; isPending: boolean; isRefetching: boolean; refetch: (queryParams?: { query?: SessionQueryParams; } | undefined) => Promise; }>; $fetch: _better_fetch_fetch0.BetterFetch<{ plugins: (_better_fetch_fetch0.BetterFetchPlugin> | { id: string; name: string; hooks: { onSuccess(context: SuccessContext): void; }; } | { id: string; name: string; hooks: { onSuccess: ((context: SuccessContext) => Promise | void) | undefined; onError: ((context: _better_fetch_fetch0.ErrorContext) => Promise | void) | undefined; onRequest: (>(context: _better_fetch_fetch0.RequestContext) => Promise<_better_fetch_fetch0.RequestContext | void> | _better_fetch_fetch0.RequestContext | void) | undefined; onResponse: ((context: _better_fetch_fetch0.ResponseContext) => Promise | Response | _better_fetch_fetch0.ResponseContext | void) | undefined; }; })[]; cache?: RequestCache | undefined; priority?: RequestPriority | undefined; credentials?: RequestCredentials; 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; integrity?: string | undefined; keepalive?: boolean | undefined; method: string; mode?: RequestMode | undefined; redirect?: RequestRedirect | undefined; referrer?: string | undefined; referrerPolicy?: ReferrerPolicy | undefined; signal?: (AbortSignal | null) | undefined; window?: null | undefined; onRetry?: ((response: _better_fetch_fetch0.ResponseContext) => Promise | void) | undefined; hookOptions?: { cloneResponse?: boolean; } | undefined; timeout?: number | undefined; customFetchImpl: _better_fetch_fetch0.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_fetch0.RetryOptions | undefined; retryAttempt?: number | undefined; output?: (_better_fetch_fetch0.StandardSchemaV1 | typeof Blob | typeof File) | undefined; errorSchema?: _better_fetch_fetch0.StandardSchemaV1 | undefined; disableValidation?: boolean | undefined; disableSignal?: boolean | undefined; }, unknown, unknown, {}>; $store: { notify: (signal?: (Omit | "$sessionSignal") | undefined) => void; listen: (signal: Omit | "$sessionSignal", listener: (value: boolean, oldValue?: boolean | undefined) => void) => void; atoms: Record>; }; $Infer: { Session: NonNullable Promise; }; })["plugins"] extends any[] ? { getSession: (context: { headers: Headers; query?: { disableCookieCache?: boolean; disableRefresh?: boolean; } | undefined; asResponse?: R | undefined; returnHeaders?: H | undefined; }) => false extends R ? H extends true ? Promise<{ headers: Headers; response: { session: { id: string; createdAt: Date; updatedAt: Date; userId: string; expiresAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; image?: string | null | undefined; }; } | null; }> : Promise<{ session: { id: string; createdAt: Date; updatedAt: Date; userId: string; expiresAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; image?: string | null | undefined; }; } | null> : Promise; } & FilteredAPI<{ readonly ok: better_call0.StrictEndpoint<"/ok", { method: "GET"; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { ok: { type: string; description: string; }; }; required: string[]; }; }; }; }; }; }; scope: "server"; }; }, { ok: boolean; }>; readonly error: better_call0.StrictEndpoint<"/error", { method: "GET"; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "text/html": { schema: { type: "string"; description: string; }; }; }; }; }; }; scope: "server"; }; }, Response>; readonly signInSocial: better_call0.StrictEndpoint<"/sign-in/social", { method: "POST"; operationId: string; body: zod.ZodObject<{ callbackURL: zod.ZodOptional; newUserCallbackURL: zod.ZodOptional; errorCallbackURL: zod.ZodOptional; provider: zod.ZodType<(string & {}) | "linear" | "huggingface" | "github" | "apple" | "atlassian" | "cognito" | "discord" | "facebook" | "figma" | "microsoft" | "google" | "slack" | "spotify" | "twitch" | "twitter" | "dropbox" | "kick" | "linkedin" | "gitlab" | "tiktok" | "reddit" | "roblox" | "salesforce" | "vk" | "zoom" | "notion" | "kakao" | "naver" | "line" | "paybin" | "paypal" | "polar" | "railway" | "vercel" | "wechat", unknown, zod_v4_core0.$ZodTypeInternals<(string & {}) | "linear" | "huggingface" | "github" | "apple" | "atlassian" | "cognito" | "discord" | "facebook" | "figma" | "microsoft" | "google" | "slack" | "spotify" | "twitch" | "twitter" | "dropbox" | "kick" | "linkedin" | "gitlab" | "tiktok" | "reddit" | "roblox" | "salesforce" | "vk" | "zoom" | "notion" | "kakao" | "naver" | "line" | "paybin" | "paypal" | "polar" | "railway" | "vercel" | "wechat", unknown>>; disableRedirect: zod.ZodOptional; idToken: zod.ZodOptional; accessToken: zod.ZodOptional; refreshToken: zod.ZodOptional; expiresAt: zod.ZodOptional; user: zod.ZodOptional; lastName: zod.ZodOptional; }, zod_v4_core0.$strip>>; email: zod.ZodOptional; }, zod_v4_core0.$strip>>; }, zod_v4_core0.$strip>>; scopes: zod.ZodOptional>; requestSignUp: zod.ZodOptional; loginHint: zod.ZodOptional; additionalData: zod.ZodOptional>; }, zod_v4_core0.$strip>; metadata: { $Infer: { body: zod.infer; newUserCallbackURL: zod.ZodOptional; errorCallbackURL: zod.ZodOptional; provider: zod.ZodType<(string & {}) | "linear" | "huggingface" | "github" | "apple" | "atlassian" | "cognito" | "discord" | "facebook" | "figma" | "microsoft" | "google" | "slack" | "spotify" | "twitch" | "twitter" | "dropbox" | "kick" | "linkedin" | "gitlab" | "tiktok" | "reddit" | "roblox" | "salesforce" | "vk" | "zoom" | "notion" | "kakao" | "naver" | "line" | "paybin" | "paypal" | "polar" | "railway" | "vercel" | "wechat", unknown, zod_v4_core0.$ZodTypeInternals<(string & {}) | "linear" | "huggingface" | "github" | "apple" | "atlassian" | "cognito" | "discord" | "facebook" | "figma" | "microsoft" | "google" | "slack" | "spotify" | "twitch" | "twitter" | "dropbox" | "kick" | "linkedin" | "gitlab" | "tiktok" | "reddit" | "roblox" | "salesforce" | "vk" | "zoom" | "notion" | "kakao" | "naver" | "line" | "paybin" | "paypal" | "polar" | "railway" | "vercel" | "wechat", unknown>>; disableRedirect: zod.ZodOptional; idToken: zod.ZodOptional; accessToken: zod.ZodOptional; refreshToken: zod.ZodOptional; expiresAt: zod.ZodOptional; user: zod.ZodOptional; lastName: zod.ZodOptional; }, zod_v4_core0.$strip>>; email: zod.ZodOptional; }, zod_v4_core0.$strip>>; }, zod_v4_core0.$strip>>; scopes: zod.ZodOptional>; requestSignUp: zod.ZodOptional; loginHint: zod.ZodOptional; additionalData: zod.ZodOptional>; }, zod_v4_core0.$strip>>; returned: { redirect: boolean; token?: string | undefined; url?: string | undefined; user?: { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; image?: string | null | undefined; } | undefined; }; }; openapi: { description: string; operationId: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; description: string; properties: { token: { type: string; }; user: { type: string; $ref: string; }; url: { type: string; }; redirect: { type: string; enum: boolean[]; }; }; required: string[]; }; }; }; }; }; }; }; }, { redirect: boolean; url: string; } | { redirect: boolean; token: string; url: undefined; user: { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; image?: string | null | undefined; }; }>; readonly callbackOAuth: better_call0.StrictEndpoint<"/callback/:id", { method: ("GET" | "POST")[]; operationId: string; body: zod.ZodOptional; error: zod.ZodOptional; device_id: zod.ZodOptional; error_description: zod.ZodOptional; state: zod.ZodOptional; user: zod.ZodOptional; }, zod_v4_core0.$strip>>; query: zod.ZodOptional; error: zod.ZodOptional; device_id: zod.ZodOptional; error_description: zod.ZodOptional; state: zod.ZodOptional; user: zod.ZodOptional; }, zod_v4_core0.$strip>>; metadata: { allowedMediaTypes: string[]; scope: "server"; }; }, void>; readonly getSession: better_call0.StrictEndpoint<"/get-session", { method: ("GET" | "POST")[]; operationId: string; query: zod.ZodOptional>; disableRefresh: zod.ZodOptional>; }, zod_v4_core0.$strip>>; requireHeaders: true; metadata: { openapi: { operationId: string; description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; nullable: boolean; properties: { session: { $ref: string; }; user: { $ref: string; }; }; required: string[]; }; }; }; }; }; }; }; }, { session: { id: string; createdAt: Date; updatedAt: Date; userId: string; expiresAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; image?: string | null | undefined; }; } | null>; readonly signOut: better_call0.StrictEndpoint<"/sign-out", { method: "POST"; operationId: string; requireHeaders: true; metadata: { openapi: { operationId: string; description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { success: { type: string; }; }; }; }; }; }; }; }; }; }, { success: boolean; }>; readonly signUpEmail: better_call0.StrictEndpoint<"/sign-up/email", { method: "POST"; operationId: string; use: ((inputContext: better_call0.MiddlewareInputContext) => Promise)[]; body: zod.ZodIntersection; callbackURL: zod.ZodOptional; rememberMe: zod.ZodOptional; }, zod_v4_core0.$strip>, zod.ZodRecord>; metadata: { allowedMediaTypes: string[]; $Infer: { body: { name: string; email: string; password: string; image?: string | undefined; callbackURL?: string | undefined; rememberMe?: boolean | undefined; }; returned: { token: string | null; user: { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; image?: string | null | undefined; }; }; }; openapi: { operationId: string; 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[]; }; }; }; }; "422": { description: string; content: { "application/json": { schema: { type: "object"; properties: { message: { type: string; }; }; }; }; }; }; }; }; }; }, { token: null; user: { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; image?: string | null | undefined; }; } | { token: string; user: { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; image?: string | null | undefined; }; }>; readonly signInEmail: better_call0.StrictEndpoint<"/sign-in/email", { method: "POST"; operationId: string; use: ((inputContext: better_call0.MiddlewareInputContext) => Promise)[]; body: zod.ZodObject<{ email: zod.ZodString; password: zod.ZodString; callbackURL: zod.ZodOptional; rememberMe: zod.ZodOptional>; }, zod_v4_core0.$strip>; metadata: { allowedMediaTypes: string[]; $Infer: { body: { email: string; password: string; callbackURL?: string | undefined; rememberMe?: boolean | undefined; }; returned: { redirect: boolean; token: string; url?: string | undefined; user: { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; image?: string | null | undefined; }; }; }; openapi: { operationId: string; 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; $ref: string; }; }; required: string[]; }; }; }; }; }; }; }; }, { redirect: boolean; token: string; url?: string | undefined; user: { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; image?: string | null | undefined; }; }>; readonly resetPassword: better_call0.StrictEndpoint<"/reset-password", { method: "POST"; operationId: string; query: zod.ZodOptional; }, zod_v4_core0.$strip>>; body: zod.ZodObject<{ newPassword: zod.ZodString; token: zod.ZodOptional; }, zod_v4_core0.$strip>; metadata: { openapi: { operationId: string; description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { status: { type: string; }; }; }; }; }; }; }; }; }; }, { status: boolean; }>; readonly verifyPassword: better_call0.StrictEndpoint<"/verify-password", { method: "POST"; body: zod.ZodObject<{ password: zod.ZodString; }, zod_v4_core0.$strip>; metadata: { scope: "server"; openapi: { operationId: string; description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { status: { type: string; }; }; }; }; }; }; }; }; }; use: ((inputContext: better_call0.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; createdAt: Date; updatedAt: Date; userId: string; expiresAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; image?: string | null | undefined; }; }; }>)[]; }, { status: boolean; }>; readonly verifyEmail: better_call0.StrictEndpoint<"/verify-email", { method: "GET"; operationId: string; query: zod.ZodObject<{ token: zod.ZodString; callbackURL: zod.ZodOptional; }, zod_v4_core0.$strip>; use: ((inputContext: better_call0.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; $ref: string; }; status: { type: string; description: string; }; }; required: string[]; }; }; }; }; }; }; }; }, void | { status: boolean; }>; readonly sendVerificationEmail: better_call0.StrictEndpoint<"/send-verification-email", { method: "POST"; operationId: string; body: zod.ZodObject<{ email: zod.ZodEmail; callbackURL: zod.ZodOptional; }, zod_v4_core0.$strip>; metadata: { openapi: { operationId: string; 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; }; }; }; }; }; }; }; }; }; }, { status: boolean; }>; readonly changeEmail: better_call0.StrictEndpoint<"/change-email", { method: "POST"; body: zod.ZodObject<{ newEmail: zod.ZodEmail; callbackURL: zod.ZodOptional; }, zod_v4_core0.$strip>; use: ((inputContext: better_call0.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; createdAt: Date; updatedAt: Date; userId: string; expiresAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; image?: string | null | undefined; }; }; }>)[]; metadata: { openapi: { operationId: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { user: { type: string; $ref: string; }; status: { type: string; description: string; }; message: { type: string; enum: string[]; description: string; nullable: boolean; }; }; required: string[]; }; }; }; }; }; }; }; }, { status: boolean; }>; readonly changePassword: better_call0.StrictEndpoint<"/change-password", { method: "POST"; operationId: string; body: zod.ZodObject<{ newPassword: zod.ZodString; currentPassword: zod.ZodString; revokeOtherSessions: zod.ZodOptional; }, zod_v4_core0.$strip>; use: ((inputContext: better_call0.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; createdAt: Date; updatedAt: Date; userId: string; expiresAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; image?: string | null | undefined; }; }; }>)[]; metadata: { openapi: { operationId: string; 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[]; }; }; }; }; }; }; }; }, { token: string | null; user: { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; image?: string | null | undefined; } & Record & { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; image?: string | null | undefined; }; }>; readonly setPassword: better_call0.StrictEndpoint; use: ((inputContext: better_call0.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; createdAt: Date; updatedAt: Date; userId: string; expiresAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; image?: string | null | undefined; }; }; }>)[]; }, { status: boolean; }>; readonly updateSession: better_call0.StrictEndpoint<"/update-session", { method: "POST"; operationId: string; body: zod.ZodRecord; use: ((inputContext: better_call0.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; createdAt: Date; updatedAt: Date; userId: string; expiresAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; image?: string | null | undefined; }; }; }>)[]; metadata: { $Infer: { body: Partial<{}>; }; openapi: { operationId: string; description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { session: { type: string; $ref: string; }; }; }; }; }; }; }; }; }; }, { session: { id: string; createdAt: Date; updatedAt: Date; userId: string; expiresAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; }>; readonly updateUser: better_call0.StrictEndpoint<"/update-user", { method: "POST"; operationId: string; body: zod.ZodRecord; use: ((inputContext: better_call0.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; createdAt: Date; updatedAt: Date; userId: string; expiresAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; image?: string | null | undefined; }; }; }>)[]; metadata: { $Infer: { body: Partial<{}> & { name?: string | undefined; image?: string | undefined | null; }; }; openapi: { operationId: string; description: string; requestBody: { content: { "application/json": { schema: { type: "object"; properties: { name: { type: string; description: string; }; image: { type: string; description: string; nullable: boolean; }; }; }; }; }; }; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { user: { type: string; $ref: string; }; }; }; }; }; }; }; }; }; }, { status: boolean; }>; readonly deleteUser: better_call0.StrictEndpoint<"/delete-user", { method: "POST"; use: ((inputContext: better_call0.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; createdAt: Date; updatedAt: Date; userId: string; expiresAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; image?: string | null | undefined; }; }; }>)[]; body: zod.ZodObject<{ callbackURL: zod.ZodOptional; password: zod.ZodOptional; token: zod.ZodOptional; }, zod_v4_core0.$strip>; metadata: { openapi: { operationId: string; description: string; requestBody: { content: { "application/json": { schema: { type: "object"; properties: { callbackURL: { type: string; description: string; }; password: { type: string; description: string; }; token: { type: string; 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[]; }; }; }; }; }; }; }; }, { success: boolean; message: string; }>; readonly requestPasswordReset: better_call0.StrictEndpoint<"/request-password-reset", { method: "POST"; body: zod.ZodObject<{ email: zod.ZodEmail; redirectTo: zod.ZodOptional; }, zod_v4_core0.$strip>; metadata: { openapi: { operationId: string; description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { status: { type: string; }; message: { type: string; }; }; }; }; }; }; }; }; }; use: ((inputContext: better_call0.MiddlewareInputContext) => Promise)[]; }, { status: boolean; message: string; }>; readonly requestPasswordResetCallback: better_call0.StrictEndpoint<"/reset-password/:token", { method: "GET"; operationId: string; query: zod.ZodObject<{ callbackURL: zod.ZodString; }, zod_v4_core0.$strip>; use: ((inputContext: better_call0.MiddlewareInputContext) => Promise)[]; metadata: { openapi: { operationId: string; description: string; parameters: ({ name: string; in: "path"; required: true; description: string; schema: { type: "string"; }; } | { name: string; in: "query"; required: true; description: string; schema: { type: "string"; }; })[]; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { token: { type: string; }; }; }; }; }; }; }; }; }; }, never>; readonly listSessions: better_call0.StrictEndpoint<"/list-sessions", { method: "GET"; operationId: string; use: ((inputContext: better_call0.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; createdAt: Date; updatedAt: Date; userId: string; expiresAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; image?: string | null | undefined; }; }; }>)[]; requireHeaders: true; metadata: { openapi: { operationId: string; description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "array"; items: { $ref: string; }; }; }; }; }; }; }; }; }, Prettify$1<{ id: string; createdAt: Date; updatedAt: Date; userId: string; expiresAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }>[]>; readonly revokeSession: better_call0.StrictEndpoint<"/revoke-session", { method: "POST"; body: zod.ZodObject<{ token: zod.ZodString; }, zod_v4_core0.$strip>; use: ((inputContext: better_call0.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; createdAt: Date; updatedAt: Date; userId: string; expiresAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; 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[]; }; }; }; }; }; }; }; }, { status: boolean; }>; readonly revokeSessions: better_call0.StrictEndpoint<"/revoke-sessions", { method: "POST"; use: ((inputContext: better_call0.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; createdAt: Date; updatedAt: Date; userId: string; expiresAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; 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[]; }; }; }; }; }; }; }; }, { status: boolean; }>; readonly revokeOtherSessions: better_call0.StrictEndpoint<"/revoke-other-sessions", { method: "POST"; requireHeaders: true; use: ((inputContext: better_call0.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; createdAt: Date; updatedAt: Date; userId: string; expiresAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; 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[]; }; }; }; }; }; }; }; }, { status: boolean; }>; readonly linkSocialAccount: better_call0.StrictEndpoint<"/link-social", { method: "POST"; requireHeaders: true; body: zod.ZodObject<{ callbackURL: zod.ZodOptional; provider: zod.ZodType<(string & {}) | "linear" | "huggingface" | "github" | "apple" | "atlassian" | "cognito" | "discord" | "facebook" | "figma" | "microsoft" | "google" | "slack" | "spotify" | "twitch" | "twitter" | "dropbox" | "kick" | "linkedin" | "gitlab" | "tiktok" | "reddit" | "roblox" | "salesforce" | "vk" | "zoom" | "notion" | "kakao" | "naver" | "line" | "paybin" | "paypal" | "polar" | "railway" | "vercel" | "wechat", unknown, zod_v4_core0.$ZodTypeInternals<(string & {}) | "linear" | "huggingface" | "github" | "apple" | "atlassian" | "cognito" | "discord" | "facebook" | "figma" | "microsoft" | "google" | "slack" | "spotify" | "twitch" | "twitter" | "dropbox" | "kick" | "linkedin" | "gitlab" | "tiktok" | "reddit" | "roblox" | "salesforce" | "vk" | "zoom" | "notion" | "kakao" | "naver" | "line" | "paybin" | "paypal" | "polar" | "railway" | "vercel" | "wechat", unknown>>; idToken: zod.ZodOptional; accessToken: zod.ZodOptional; refreshToken: zod.ZodOptional; scopes: zod.ZodOptional>; }, zod_v4_core0.$strip>>; requestSignUp: zod.ZodOptional; scopes: zod.ZodOptional>; errorCallbackURL: zod.ZodOptional; disableRedirect: zod.ZodOptional; additionalData: zod.ZodOptional>; }, zod_v4_core0.$strip>; use: ((inputContext: better_call0.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; createdAt: Date; updatedAt: Date; userId: string; expiresAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; image?: string | null | undefined; }; }; }>)[]; metadata: { openapi: { description: string; operationId: 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[]; }; }; }; }; }; }; }; }, { url: string; redirect: boolean; }>; readonly listUserAccounts: better_call0.StrictEndpoint<"/list-accounts", { method: "GET"; use: ((inputContext: better_call0.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; createdAt: Date; updatedAt: Date; userId: string; expiresAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; image?: string | null | undefined; }; }; }>)[]; metadata: { openapi: { operationId: string; description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "array"; items: { type: string; properties: { id: { type: string; }; providerId: { type: string; }; createdAt: { type: string; format: string; }; updatedAt: { type: string; format: string; }; accountId: { type: string; }; userId: { type: string; }; scopes: { type: string; items: { type: string; }; }; }; required: string[]; }; }; }; }; }; }; }; }; }, { scopes: string[]; id: string; createdAt: Date; updatedAt: Date; userId: string; providerId: string; accountId: string; }[]>; readonly deleteUserCallback: better_call0.StrictEndpoint<"/delete-user/callback", { method: "GET"; query: zod.ZodObject<{ token: zod.ZodString; callbackURL: zod.ZodOptional; }, zod_v4_core0.$strip>; use: ((inputContext: better_call0.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[]; }; }; }; }; }; }; }; }, { success: boolean; message: string; }>; readonly unlinkAccount: better_call0.StrictEndpoint<"/unlink-account", { method: "POST"; body: zod.ZodObject<{ providerId: zod.ZodString; accountId: zod.ZodOptional; }, zod_v4_core0.$strip>; use: ((inputContext: better_call0.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; createdAt: Date; updatedAt: Date; userId: string; expiresAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; image?: string | null | undefined; }; }; }>)[]; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { status: { type: string; }; }; }; }; }; }; }; }; }; }, { status: boolean; }>; readonly refreshToken: better_call0.StrictEndpoint<"/refresh-token", { method: "POST"; body: zod.ZodObject<{ providerId: zod.ZodString; accountId: zod.ZodOptional; userId: zod.ZodOptional; }, zod_v4_core0.$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; }; }; }; }; }, { accessToken: string | undefined; refreshToken: string; accessTokenExpiresAt: Date | undefined; refreshTokenExpiresAt: Date | null | undefined; scope: string | null | undefined; idToken: string | null | undefined; providerId: string; accountId: string; }>; readonly getAccessToken: better_call0.StrictEndpoint<"/get-access-token", { method: "POST"; body: zod.ZodObject<{ providerId: zod.ZodString; accountId: zod.ZodOptional; userId: zod.ZodOptional; }, zod_v4_core0.$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; }; accessTokenExpiresAt: { type: string; format: string; }; }; }; }; }; }; 400: { description: string; }; }; }; }; }, { accessToken: string; accessTokenExpiresAt: Date | undefined; scopes: string[]; idToken: string | undefined; }>; readonly accountInfo: better_call0.StrictEndpoint<"/account-info", { method: "GET"; use: ((inputContext: better_call0.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; createdAt: Date; updatedAt: Date; userId: string; expiresAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; 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; }; }; }; }; }; }; }; query: zod.ZodOptional; }, zod_v4_core0.$strip>>; }, { user: _better_auth_core_oauth20.OAuth2UserInfo; data: Record; } | null>; }> & (((C extends undefined ? {} : C) & { baseURL: string | undefined; fetchOptions: { customFetchImpl: (url: string | URL | Request, init?: RequestInit | undefined) => Promise; }; })["plugins"] extends (infer Pl)[] ? UnionToIntersection : {}) : InferAPI<{ readonly ok: better_call0.StrictEndpoint<"/ok", { method: "GET"; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { ok: { type: string; description: string; }; }; required: string[]; }; }; }; }; }; }; scope: "server"; }; }, { ok: boolean; }>; readonly error: better_call0.StrictEndpoint<"/error", { method: "GET"; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "text/html": { schema: { type: "string"; description: string; }; }; }; }; }; }; scope: "server"; }; }, Response>; readonly signInSocial: better_call0.StrictEndpoint<"/sign-in/social", { method: "POST"; operationId: string; body: zod.ZodObject<{ callbackURL: zod.ZodOptional; newUserCallbackURL: zod.ZodOptional; errorCallbackURL: zod.ZodOptional; provider: zod.ZodType<(string & {}) | "linear" | "huggingface" | "github" | "apple" | "atlassian" | "cognito" | "discord" | "facebook" | "figma" | "microsoft" | "google" | "slack" | "spotify" | "twitch" | "twitter" | "dropbox" | "kick" | "linkedin" | "gitlab" | "tiktok" | "reddit" | "roblox" | "salesforce" | "vk" | "zoom" | "notion" | "kakao" | "naver" | "line" | "paybin" | "paypal" | "polar" | "railway" | "vercel" | "wechat", unknown, zod_v4_core0.$ZodTypeInternals<(string & {}) | "linear" | "huggingface" | "github" | "apple" | "atlassian" | "cognito" | "discord" | "facebook" | "figma" | "microsoft" | "google" | "slack" | "spotify" | "twitch" | "twitter" | "dropbox" | "kick" | "linkedin" | "gitlab" | "tiktok" | "reddit" | "roblox" | "salesforce" | "vk" | "zoom" | "notion" | "kakao" | "naver" | "line" | "paybin" | "paypal" | "polar" | "railway" | "vercel" | "wechat", unknown>>; disableRedirect: zod.ZodOptional; idToken: zod.ZodOptional; accessToken: zod.ZodOptional; refreshToken: zod.ZodOptional; expiresAt: zod.ZodOptional; user: zod.ZodOptional; lastName: zod.ZodOptional; }, zod_v4_core0.$strip>>; email: zod.ZodOptional; }, zod_v4_core0.$strip>>; }, zod_v4_core0.$strip>>; scopes: zod.ZodOptional>; requestSignUp: zod.ZodOptional; loginHint: zod.ZodOptional; additionalData: zod.ZodOptional>; }, zod_v4_core0.$strip>; metadata: { $Infer: { body: zod.infer; newUserCallbackURL: zod.ZodOptional; errorCallbackURL: zod.ZodOptional; provider: zod.ZodType<(string & {}) | "linear" | "huggingface" | "github" | "apple" | "atlassian" | "cognito" | "discord" | "facebook" | "figma" | "microsoft" | "google" | "slack" | "spotify" | "twitch" | "twitter" | "dropbox" | "kick" | "linkedin" | "gitlab" | "tiktok" | "reddit" | "roblox" | "salesforce" | "vk" | "zoom" | "notion" | "kakao" | "naver" | "line" | "paybin" | "paypal" | "polar" | "railway" | "vercel" | "wechat", unknown, zod_v4_core0.$ZodTypeInternals<(string & {}) | "linear" | "huggingface" | "github" | "apple" | "atlassian" | "cognito" | "discord" | "facebook" | "figma" | "microsoft" | "google" | "slack" | "spotify" | "twitch" | "twitter" | "dropbox" | "kick" | "linkedin" | "gitlab" | "tiktok" | "reddit" | "roblox" | "salesforce" | "vk" | "zoom" | "notion" | "kakao" | "naver" | "line" | "paybin" | "paypal" | "polar" | "railway" | "vercel" | "wechat", unknown>>; disableRedirect: zod.ZodOptional; idToken: zod.ZodOptional; accessToken: zod.ZodOptional; refreshToken: zod.ZodOptional; expiresAt: zod.ZodOptional; user: zod.ZodOptional; lastName: zod.ZodOptional; }, zod_v4_core0.$strip>>; email: zod.ZodOptional; }, zod_v4_core0.$strip>>; }, zod_v4_core0.$strip>>; scopes: zod.ZodOptional>; requestSignUp: zod.ZodOptional; loginHint: zod.ZodOptional; additionalData: zod.ZodOptional>; }, zod_v4_core0.$strip>>; returned: { redirect: boolean; token?: string | undefined; url?: string | undefined; user?: { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; image?: string | null | undefined; } | undefined; }; }; openapi: { description: string; operationId: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; description: string; properties: { token: { type: string; }; user: { type: string; $ref: string; }; url: { type: string; }; redirect: { type: string; enum: boolean[]; }; }; required: string[]; }; }; }; }; }; }; }; }, { redirect: boolean; url: string; } | { redirect: boolean; token: string; url: undefined; user: { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; image?: string | null | undefined; }; }>; readonly callbackOAuth: better_call0.StrictEndpoint<"/callback/:id", { method: ("GET" | "POST")[]; operationId: string; body: zod.ZodOptional; error: zod.ZodOptional; device_id: zod.ZodOptional; error_description: zod.ZodOptional; state: zod.ZodOptional; user: zod.ZodOptional; }, zod_v4_core0.$strip>>; query: zod.ZodOptional; error: zod.ZodOptional; device_id: zod.ZodOptional; error_description: zod.ZodOptional; state: zod.ZodOptional; user: zod.ZodOptional; }, zod_v4_core0.$strip>>; metadata: { allowedMediaTypes: string[]; scope: "server"; }; }, void>; readonly getSession: better_call0.StrictEndpoint<"/get-session", { method: ("GET" | "POST")[]; operationId: string; query: zod.ZodOptional>; disableRefresh: zod.ZodOptional>; }, zod_v4_core0.$strip>>; requireHeaders: true; metadata: { openapi: { operationId: string; description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; nullable: boolean; properties: { session: { $ref: string; }; user: { $ref: string; }; }; required: string[]; }; }; }; }; }; }; }; }, { session: { id: string; createdAt: Date; updatedAt: Date; userId: string; expiresAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; image?: string | null | undefined; }; } | null>; readonly signOut: better_call0.StrictEndpoint<"/sign-out", { method: "POST"; operationId: string; requireHeaders: true; metadata: { openapi: { operationId: string; description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { success: { type: string; }; }; }; }; }; }; }; }; }; }, { success: boolean; }>; readonly signUpEmail: better_call0.StrictEndpoint<"/sign-up/email", { method: "POST"; operationId: string; use: ((inputContext: better_call0.MiddlewareInputContext) => Promise)[]; body: zod.ZodIntersection; callbackURL: zod.ZodOptional; rememberMe: zod.ZodOptional; }, zod_v4_core0.$strip>, zod.ZodRecord>; metadata: { allowedMediaTypes: string[]; $Infer: { body: { name: string; email: string; password: string; image?: string | undefined; callbackURL?: string | undefined; rememberMe?: boolean | undefined; }; returned: { token: string | null; user: { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; image?: string | null | undefined; }; }; }; openapi: { operationId: string; 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[]; }; }; }; }; "422": { description: string; content: { "application/json": { schema: { type: "object"; properties: { message: { type: string; }; }; }; }; }; }; }; }; }; }, { token: null; user: { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; image?: string | null | undefined; }; } | { token: string; user: { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; image?: string | null | undefined; }; }>; readonly signInEmail: better_call0.StrictEndpoint<"/sign-in/email", { method: "POST"; operationId: string; use: ((inputContext: better_call0.MiddlewareInputContext) => Promise)[]; body: zod.ZodObject<{ email: zod.ZodString; password: zod.ZodString; callbackURL: zod.ZodOptional; rememberMe: zod.ZodOptional>; }, zod_v4_core0.$strip>; metadata: { allowedMediaTypes: string[]; $Infer: { body: { email: string; password: string; callbackURL?: string | undefined; rememberMe?: boolean | undefined; }; returned: { redirect: boolean; token: string; url?: string | undefined; user: { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; image?: string | null | undefined; }; }; }; openapi: { operationId: string; 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; $ref: string; }; }; required: string[]; }; }; }; }; }; }; }; }, { redirect: boolean; token: string; url?: string | undefined; user: { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; image?: string | null | undefined; }; }>; readonly resetPassword: better_call0.StrictEndpoint<"/reset-password", { method: "POST"; operationId: string; query: zod.ZodOptional; }, zod_v4_core0.$strip>>; body: zod.ZodObject<{ newPassword: zod.ZodString; token: zod.ZodOptional; }, zod_v4_core0.$strip>; metadata: { openapi: { operationId: string; description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { status: { type: string; }; }; }; }; }; }; }; }; }; }, { status: boolean; }>; readonly verifyPassword: better_call0.StrictEndpoint<"/verify-password", { method: "POST"; body: zod.ZodObject<{ password: zod.ZodString; }, zod_v4_core0.$strip>; metadata: { scope: "server"; openapi: { operationId: string; description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { status: { type: string; }; }; }; }; }; }; }; }; }; use: ((inputContext: better_call0.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; createdAt: Date; updatedAt: Date; userId: string; expiresAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; image?: string | null | undefined; }; }; }>)[]; }, { status: boolean; }>; readonly verifyEmail: better_call0.StrictEndpoint<"/verify-email", { method: "GET"; operationId: string; query: zod.ZodObject<{ token: zod.ZodString; callbackURL: zod.ZodOptional; }, zod_v4_core0.$strip>; use: ((inputContext: better_call0.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; $ref: string; }; status: { type: string; description: string; }; }; required: string[]; }; }; }; }; }; }; }; }, void | { status: boolean; }>; readonly sendVerificationEmail: better_call0.StrictEndpoint<"/send-verification-email", { method: "POST"; operationId: string; body: zod.ZodObject<{ email: zod.ZodEmail; callbackURL: zod.ZodOptional; }, zod_v4_core0.$strip>; metadata: { openapi: { operationId: string; 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; }; }; }; }; }; }; }; }; }; }, { status: boolean; }>; readonly changeEmail: better_call0.StrictEndpoint<"/change-email", { method: "POST"; body: zod.ZodObject<{ newEmail: zod.ZodEmail; callbackURL: zod.ZodOptional; }, zod_v4_core0.$strip>; use: ((inputContext: better_call0.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; createdAt: Date; updatedAt: Date; userId: string; expiresAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; image?: string | null | undefined; }; }; }>)[]; metadata: { openapi: { operationId: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { user: { type: string; $ref: string; }; status: { type: string; description: string; }; message: { type: string; enum: string[]; description: string; nullable: boolean; }; }; required: string[]; }; }; }; }; }; }; }; }, { status: boolean; }>; readonly changePassword: better_call0.StrictEndpoint<"/change-password", { method: "POST"; operationId: string; body: zod.ZodObject<{ newPassword: zod.ZodString; currentPassword: zod.ZodString; revokeOtherSessions: zod.ZodOptional; }, zod_v4_core0.$strip>; use: ((inputContext: better_call0.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; createdAt: Date; updatedAt: Date; userId: string; expiresAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; image?: string | null | undefined; }; }; }>)[]; metadata: { openapi: { operationId: string; 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[]; }; }; }; }; }; }; }; }, { token: string | null; user: { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; image?: string | null | undefined; } & Record & { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; image?: string | null | undefined; }; }>; readonly setPassword: better_call0.StrictEndpoint; use: ((inputContext: better_call0.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; createdAt: Date; updatedAt: Date; userId: string; expiresAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; image?: string | null | undefined; }; }; }>)[]; }, { status: boolean; }>; readonly updateSession: better_call0.StrictEndpoint<"/update-session", { method: "POST"; operationId: string; body: zod.ZodRecord; use: ((inputContext: better_call0.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; createdAt: Date; updatedAt: Date; userId: string; expiresAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; image?: string | null | undefined; }; }; }>)[]; metadata: { $Infer: { body: Partial<{}>; }; openapi: { operationId: string; description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { session: { type: string; $ref: string; }; }; }; }; }; }; }; }; }; }, { session: { id: string; createdAt: Date; updatedAt: Date; userId: string; expiresAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; }>; readonly updateUser: better_call0.StrictEndpoint<"/update-user", { method: "POST"; operationId: string; body: zod.ZodRecord; use: ((inputContext: better_call0.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; createdAt: Date; updatedAt: Date; userId: string; expiresAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; image?: string | null | undefined; }; }; }>)[]; metadata: { $Infer: { body: Partial<{}> & { name?: string | undefined; image?: string | undefined | null; }; }; openapi: { operationId: string; description: string; requestBody: { content: { "application/json": { schema: { type: "object"; properties: { name: { type: string; description: string; }; image: { type: string; description: string; nullable: boolean; }; }; }; }; }; }; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { user: { type: string; $ref: string; }; }; }; }; }; }; }; }; }; }, { status: boolean; }>; readonly deleteUser: better_call0.StrictEndpoint<"/delete-user", { method: "POST"; use: ((inputContext: better_call0.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; createdAt: Date; updatedAt: Date; userId: string; expiresAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; image?: string | null | undefined; }; }; }>)[]; body: zod.ZodObject<{ callbackURL: zod.ZodOptional; password: zod.ZodOptional; token: zod.ZodOptional; }, zod_v4_core0.$strip>; metadata: { openapi: { operationId: string; description: string; requestBody: { content: { "application/json": { schema: { type: "object"; properties: { callbackURL: { type: string; description: string; }; password: { type: string; description: string; }; token: { type: string; 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[]; }; }; }; }; }; }; }; }, { success: boolean; message: string; }>; readonly requestPasswordReset: better_call0.StrictEndpoint<"/request-password-reset", { method: "POST"; body: zod.ZodObject<{ email: zod.ZodEmail; redirectTo: zod.ZodOptional; }, zod_v4_core0.$strip>; metadata: { openapi: { operationId: string; description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { status: { type: string; }; message: { type: string; }; }; }; }; }; }; }; }; }; use: ((inputContext: better_call0.MiddlewareInputContext) => Promise)[]; }, { status: boolean; message: string; }>; readonly requestPasswordResetCallback: better_call0.StrictEndpoint<"/reset-password/:token", { method: "GET"; operationId: string; query: zod.ZodObject<{ callbackURL: zod.ZodString; }, zod_v4_core0.$strip>; use: ((inputContext: better_call0.MiddlewareInputContext) => Promise)[]; metadata: { openapi: { operationId: string; description: string; parameters: ({ name: string; in: "path"; required: true; description: string; schema: { type: "string"; }; } | { name: string; in: "query"; required: true; description: string; schema: { type: "string"; }; })[]; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { token: { type: string; }; }; }; }; }; }; }; }; }; }, never>; readonly listSessions: better_call0.StrictEndpoint<"/list-sessions", { method: "GET"; operationId: string; use: ((inputContext: better_call0.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; createdAt: Date; updatedAt: Date; userId: string; expiresAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; image?: string | null | undefined; }; }; }>)[]; requireHeaders: true; metadata: { openapi: { operationId: string; description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "array"; items: { $ref: string; }; }; }; }; }; }; }; }; }, Prettify$1<{ id: string; createdAt: Date; updatedAt: Date; userId: string; expiresAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }>[]>; readonly revokeSession: better_call0.StrictEndpoint<"/revoke-session", { method: "POST"; body: zod.ZodObject<{ token: zod.ZodString; }, zod_v4_core0.$strip>; use: ((inputContext: better_call0.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; createdAt: Date; updatedAt: Date; userId: string; expiresAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; 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[]; }; }; }; }; }; }; }; }, { status: boolean; }>; readonly revokeSessions: better_call0.StrictEndpoint<"/revoke-sessions", { method: "POST"; use: ((inputContext: better_call0.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; createdAt: Date; updatedAt: Date; userId: string; expiresAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; 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[]; }; }; }; }; }; }; }; }, { status: boolean; }>; readonly revokeOtherSessions: better_call0.StrictEndpoint<"/revoke-other-sessions", { method: "POST"; requireHeaders: true; use: ((inputContext: better_call0.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; createdAt: Date; updatedAt: Date; userId: string; expiresAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; 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[]; }; }; }; }; }; }; }; }, { status: boolean; }>; readonly linkSocialAccount: better_call0.StrictEndpoint<"/link-social", { method: "POST"; requireHeaders: true; body: zod.ZodObject<{ callbackURL: zod.ZodOptional; provider: zod.ZodType<(string & {}) | "linear" | "huggingface" | "github" | "apple" | "atlassian" | "cognito" | "discord" | "facebook" | "figma" | "microsoft" | "google" | "slack" | "spotify" | "twitch" | "twitter" | "dropbox" | "kick" | "linkedin" | "gitlab" | "tiktok" | "reddit" | "roblox" | "salesforce" | "vk" | "zoom" | "notion" | "kakao" | "naver" | "line" | "paybin" | "paypal" | "polar" | "railway" | "vercel" | "wechat", unknown, zod_v4_core0.$ZodTypeInternals<(string & {}) | "linear" | "huggingface" | "github" | "apple" | "atlassian" | "cognito" | "discord" | "facebook" | "figma" | "microsoft" | "google" | "slack" | "spotify" | "twitch" | "twitter" | "dropbox" | "kick" | "linkedin" | "gitlab" | "tiktok" | "reddit" | "roblox" | "salesforce" | "vk" | "zoom" | "notion" | "kakao" | "naver" | "line" | "paybin" | "paypal" | "polar" | "railway" | "vercel" | "wechat", unknown>>; idToken: zod.ZodOptional; accessToken: zod.ZodOptional; refreshToken: zod.ZodOptional; scopes: zod.ZodOptional>; }, zod_v4_core0.$strip>>; requestSignUp: zod.ZodOptional; scopes: zod.ZodOptional>; errorCallbackURL: zod.ZodOptional; disableRedirect: zod.ZodOptional; additionalData: zod.ZodOptional>; }, zod_v4_core0.$strip>; use: ((inputContext: better_call0.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; createdAt: Date; updatedAt: Date; userId: string; expiresAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; image?: string | null | undefined; }; }; }>)[]; metadata: { openapi: { description: string; operationId: 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[]; }; }; }; }; }; }; }; }, { url: string; redirect: boolean; }>; readonly listUserAccounts: better_call0.StrictEndpoint<"/list-accounts", { method: "GET"; use: ((inputContext: better_call0.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; createdAt: Date; updatedAt: Date; userId: string; expiresAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; image?: string | null | undefined; }; }; }>)[]; metadata: { openapi: { operationId: string; description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "array"; items: { type: string; properties: { id: { type: string; }; providerId: { type: string; }; createdAt: { type: string; format: string; }; updatedAt: { type: string; format: string; }; accountId: { type: string; }; userId: { type: string; }; scopes: { type: string; items: { type: string; }; }; }; required: string[]; }; }; }; }; }; }; }; }; }, { scopes: string[]; id: string; createdAt: Date; updatedAt: Date; userId: string; providerId: string; accountId: string; }[]>; readonly deleteUserCallback: better_call0.StrictEndpoint<"/delete-user/callback", { method: "GET"; query: zod.ZodObject<{ token: zod.ZodString; callbackURL: zod.ZodOptional; }, zod_v4_core0.$strip>; use: ((inputContext: better_call0.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[]; }; }; }; }; }; }; }; }, { success: boolean; message: string; }>; readonly unlinkAccount: better_call0.StrictEndpoint<"/unlink-account", { method: "POST"; body: zod.ZodObject<{ providerId: zod.ZodString; accountId: zod.ZodOptional; }, zod_v4_core0.$strip>; use: ((inputContext: better_call0.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; createdAt: Date; updatedAt: Date; userId: string; expiresAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; image?: string | null | undefined; }; }; }>)[]; metadata: { openapi: { description: string; responses: { "200": { description: string; content: { "application/json": { schema: { type: "object"; properties: { status: { type: string; }; }; }; }; }; }; }; }; }; }, { status: boolean; }>; readonly refreshToken: better_call0.StrictEndpoint<"/refresh-token", { method: "POST"; body: zod.ZodObject<{ providerId: zod.ZodString; accountId: zod.ZodOptional; userId: zod.ZodOptional; }, zod_v4_core0.$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; }; }; }; }; }, { accessToken: string | undefined; refreshToken: string; accessTokenExpiresAt: Date | undefined; refreshTokenExpiresAt: Date | null | undefined; scope: string | null | undefined; idToken: string | null | undefined; providerId: string; accountId: string; }>; readonly getAccessToken: better_call0.StrictEndpoint<"/get-access-token", { method: "POST"; body: zod.ZodObject<{ providerId: zod.ZodString; accountId: zod.ZodOptional; userId: zod.ZodOptional; }, zod_v4_core0.$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; }; accessTokenExpiresAt: { type: string; format: string; }; }; }; }; }; }; 400: { description: string; }; }; }; }; }, { accessToken: string; accessTokenExpiresAt: Date | undefined; scopes: string[]; idToken: string | undefined; }>; readonly accountInfo: better_call0.StrictEndpoint<"/account-info", { method: "GET"; use: ((inputContext: better_call0.MiddlewareInputContext) => Promise<{ session: { session: Record & { id: string; createdAt: Date; updatedAt: Date; userId: string; expiresAt: Date; token: string; ipAddress?: string | null | undefined; userAgent?: string | null | undefined; }; user: Record & { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; 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; }; }; }; }; }; }; }; query: zod.ZodOptional; }, zod_v4_core0.$strip>>; }, { user: _better_auth_core_oauth20.OAuth2UserInfo; data: Record; } | null>; }>, (C extends undefined ? {} : C) & { baseURL: string | undefined; fetchOptions: { customFetchImpl: (url: string | URL | Request, init?: RequestInit | undefined) => Promise; }; }>> extends { getSession: () => Promise; } ? Res extends { data: null; error: { message?: string | undefined; status: number; statusText: string; }; } | { data: infer S; error: null; } ? 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 | undefined) => Promise; }; }> & { USER_NOT_FOUND: _better_auth_core_utils_error_codes0.RawError<"USER_NOT_FOUND">; FAILED_TO_CREATE_USER: _better_auth_core_utils_error_codes0.RawError<"FAILED_TO_CREATE_USER">; FAILED_TO_CREATE_SESSION: _better_auth_core_utils_error_codes0.RawError<"FAILED_TO_CREATE_SESSION">; FAILED_TO_UPDATE_USER: _better_auth_core_utils_error_codes0.RawError<"FAILED_TO_UPDATE_USER">; FAILED_TO_GET_SESSION: _better_auth_core_utils_error_codes0.RawError<"FAILED_TO_GET_SESSION">; INVALID_PASSWORD: _better_auth_core_utils_error_codes0.RawError<"INVALID_PASSWORD">; INVALID_EMAIL: _better_auth_core_utils_error_codes0.RawError<"INVALID_EMAIL">; INVALID_EMAIL_OR_PASSWORD: _better_auth_core_utils_error_codes0.RawError<"INVALID_EMAIL_OR_PASSWORD">; INVALID_USER: _better_auth_core_utils_error_codes0.RawError<"INVALID_USER">; SOCIAL_ACCOUNT_ALREADY_LINKED: _better_auth_core_utils_error_codes0.RawError<"SOCIAL_ACCOUNT_ALREADY_LINKED">; PROVIDER_NOT_FOUND: _better_auth_core_utils_error_codes0.RawError<"PROVIDER_NOT_FOUND">; INVALID_TOKEN: _better_auth_core_utils_error_codes0.RawError<"INVALID_TOKEN">; TOKEN_EXPIRED: _better_auth_core_utils_error_codes0.RawError<"TOKEN_EXPIRED">; ID_TOKEN_NOT_SUPPORTED: _better_auth_core_utils_error_codes0.RawError<"ID_TOKEN_NOT_SUPPORTED">; FAILED_TO_GET_USER_INFO: _better_auth_core_utils_error_codes0.RawError<"FAILED_TO_GET_USER_INFO">; USER_EMAIL_NOT_FOUND: _better_auth_core_utils_error_codes0.RawError<"USER_EMAIL_NOT_FOUND">; EMAIL_NOT_VERIFIED: _better_auth_core_utils_error_codes0.RawError<"EMAIL_NOT_VERIFIED">; PASSWORD_TOO_SHORT: _better_auth_core_utils_error_codes0.RawError<"PASSWORD_TOO_SHORT">; PASSWORD_TOO_LONG: _better_auth_core_utils_error_codes0.RawError<"PASSWORD_TOO_LONG">; USER_ALREADY_EXISTS: _better_auth_core_utils_error_codes0.RawError<"USER_ALREADY_EXISTS">; USER_ALREADY_EXISTS_USE_ANOTHER_EMAIL: _better_auth_core_utils_error_codes0.RawError<"USER_ALREADY_EXISTS_USE_ANOTHER_EMAIL">; EMAIL_CAN_NOT_BE_UPDATED: _better_auth_core_utils_error_codes0.RawError<"EMAIL_CAN_NOT_BE_UPDATED">; CREDENTIAL_ACCOUNT_NOT_FOUND: _better_auth_core_utils_error_codes0.RawError<"CREDENTIAL_ACCOUNT_NOT_FOUND">; ACCOUNT_NOT_FOUND: _better_auth_core_utils_error_codes0.RawError<"ACCOUNT_NOT_FOUND">; SESSION_EXPIRED: _better_auth_core_utils_error_codes0.RawError<"SESSION_EXPIRED">; FAILED_TO_UNLINK_LAST_ACCOUNT: _better_auth_core_utils_error_codes0.RawError<"FAILED_TO_UNLINK_LAST_ACCOUNT">; USER_ALREADY_HAS_PASSWORD: _better_auth_core_utils_error_codes0.RawError<"USER_ALREADY_HAS_PASSWORD">; CROSS_SITE_NAVIGATION_LOGIN_BLOCKED: _better_auth_core_utils_error_codes0.RawError<"CROSS_SITE_NAVIGATION_LOGIN_BLOCKED">; VERIFICATION_EMAIL_NOT_ENABLED: _better_auth_core_utils_error_codes0.RawError<"VERIFICATION_EMAIL_NOT_ENABLED">; EMAIL_ALREADY_VERIFIED: _better_auth_core_utils_error_codes0.RawError<"EMAIL_ALREADY_VERIFIED">; EMAIL_MISMATCH: _better_auth_core_utils_error_codes0.RawError<"EMAIL_MISMATCH">; SESSION_NOT_FRESH: _better_auth_core_utils_error_codes0.RawError<"SESSION_NOT_FRESH">; LINKED_ACCOUNT_ALREADY_EXISTS: _better_auth_core_utils_error_codes0.RawError<"LINKED_ACCOUNT_ALREADY_EXISTS">; INVALID_ORIGIN: _better_auth_core_utils_error_codes0.RawError<"INVALID_ORIGIN">; INVALID_CALLBACK_URL: _better_auth_core_utils_error_codes0.RawError<"INVALID_CALLBACK_URL">; INVALID_REDIRECT_URL: _better_auth_core_utils_error_codes0.RawError<"INVALID_REDIRECT_URL">; INVALID_ERROR_CALLBACK_URL: _better_auth_core_utils_error_codes0.RawError<"INVALID_ERROR_CALLBACK_URL">; INVALID_NEW_USER_CALLBACK_URL: _better_auth_core_utils_error_codes0.RawError<"INVALID_NEW_USER_CALLBACK_URL">; MISSING_OR_NULL_ORIGIN: _better_auth_core_utils_error_codes0.RawError<"MISSING_OR_NULL_ORIGIN">; CALLBACK_URL_REQUIRED: _better_auth_core_utils_error_codes0.RawError<"CALLBACK_URL_REQUIRED">; FAILED_TO_CREATE_VERIFICATION: _better_auth_core_utils_error_codes0.RawError<"FAILED_TO_CREATE_VERIFICATION">; FIELD_NOT_ALLOWED: _better_auth_core_utils_error_codes0.RawError<"FIELD_NOT_ALLOWED">; ASYNC_VALIDATION_NOT_SUPPORTED: _better_auth_core_utils_error_codes0.RawError<"ASYNC_VALIDATION_NOT_SUPPORTED">; VALIDATION_ERROR: _better_auth_core_utils_error_codes0.RawError<"VALIDATION_ERROR">; MISSING_FIELD: _better_auth_core_utils_error_codes0.RawError<"MISSING_FIELD">; METHOD_NOT_ALLOWED_DEFER_SESSION_REQUIRED: _better_auth_core_utils_error_codes0.RawError<"METHOD_NOT_ALLOWED_DEFER_SESSION_REQUIRED">; BODY_MUST_BE_AN_OBJECT: _better_auth_core_utils_error_codes0.RawError<"BODY_MUST_BE_AN_OBJECT">; PASSWORD_ALREADY_SET: _better_auth_core_utils_error_codes0.RawError<"PASSWORD_ALREADY_SET">; } extends infer T_1 ? { [K in keyof T_1]: T_1[K] extends ((...args: any[]) => any) ? T_1[K] : T_1[K] extends object ? T_1[K] extends any[] ? T_1[K] : T_1[K] extends Date ? T_1[K] : T_1[K] extends infer T_2 ? { [K_2 in keyof T_2]: T_2[K_2] extends ((...args: any[]) => any) ? T_2[K_2] : T_2[K_2] extends object ? T_2[K_2] extends any[] ? T_2[K_2] : T_2[K_2] extends Date ? T_2[K_2] : T_2[K_2] extends infer T_3 ? { [K_3 in keyof T_3]: T_3[K_3] extends ((...args: any[]) => any) ? T_3[K_3] : T_3[K_3] extends object ? T_3[K_3] extends any[] ? T_3[K_3] : T_3[K_3] extends Date ? T_3[K_3] : T_3[K_3] extends infer T_4 ? { [K_4 in keyof T_4]: T_4[K_4] extends ((...args: any[]) => any) ? T_4[K_4] : T_4[K_4] extends object ? T_4[K_4] extends any[] ? T_4[K_4] : T_4[K_4] extends Date ? T_4[K_4] : T_4[K_4] extends infer T_5 ? { [K_5 in keyof T_5]: T_5[K_5] extends ((...args: any[]) => any) ? T_5[K_5] : T_5[K_5] extends object ? T_5[K_5] extends any[] ? T_5[K_5] : T_5[K_5] extends Date ? T_5[K_5] : T_5[K_5] extends infer T_6 ? { [K_6 in keyof T_6]: T_6[K_6] extends ((...args: any[]) => any) ? T_6[K_6] : T_6[K_6] extends object ? T_6[K_6] extends any[] ? T_6[K_6] : T_6[K_6] extends Date ? T_6[K_6] : T_6[K_6] extends infer T_7 ? { [K_7 in keyof T_7]: T_7[K_7] extends ((...args: any[]) => any) ? T_7[K_7] : T_7[K_7] extends object ? T_7[K_7] extends any[] ? T_7[K_7] : T_7[K_7] extends Date ? T_7[K_7] : T_7[K_7] extends infer T_8 ? { [K_8 in keyof T_8]: T_8[K_8] extends ((...args: any[]) => any) ? T_8[K_8] : T_8[K_8] extends object ? T_8[K_8] extends any[] ? T_8[K_8] : T_8[K_8] extends Date ? T_8[K_8] : T_8[K_8] extends infer T_9 ? { [K_9 in keyof T_9]: T_9[K_9] extends ((...args: any[]) => any) ? T_9[K_9] : T_9[K_9] extends object ? T_9[K_9] extends any[] ? T_9[K_9] : T_9[K_9] extends Date ? T_9[K_9] : T_9[K_9] extends infer T_10 ? { [K_10 in keyof T_10]: T_10[K_10] extends ((...args: any[]) => any) ? T_10[K_10] : T_10[K_10] extends object ? T_10[K_10] extends any[] ? T_10[K_10] : T_10[K_10] extends Date ? T_10[K_10] : T_10[K_10] extends infer T_11 ? { [K_11 in keyof T_11]: T_11[K_11] extends ((...args: any[]) => any) ? T_11[K_11] : T_11[K_11] extends object ? T_11[K_11] extends any[] ? T_11[K_11] : T_11[K_11] extends Date ? T_11[K_11] : /*elided*/any : T_11[K_11] } : never : T_10[K_10] } : never : T_9[K_9] } : never : T_8[K_8] } : never : T_7[K_7] } : never : T_6[K_6] } : never : T_5[K_5] } : never : T_4[K_4] } : never : T_3[K_3] } : never : T_2[K_2] } : never : T_1[K] } : never; }; testUser: { id?: string | undefined; createdAt?: Date | undefined; updatedAt?: Date | undefined; email: string; emailVerified?: boolean | undefined; name: string; image?: string | null | undefined; password: string; }; signInWithTestUser: () => Promise<{ session: Session; user: User; headers: Headers; setCookie: (name: string, value: string) => void; runWithUser: (fn: (headers: Headers) => Promise) => Promise; }>; signInWithUser: (email: string, password: string) => Promise<{ res: { user: User; session: Session; }; headers: Headers; }>; cookieSetter: typeof setCookieToHeader; customFetchImpl: (url: string | URL | Request, init?: RequestInit | undefined) => Promise; sessionSetter: (headers: Headers) => (context: SuccessContext) => void; db: _better_auth_core_db_adapter0.DBAdapter; runWithUser: (email: string, password: string, fn: (headers: Headers) => Awaitable) => Promise; }>; //#endregion export { getTestInstance }; //# sourceMappingURL=test-instance.d.mts.map