import { a as Adapter, B as BetterAuthOptions, G as GenericEndpointContext, O as Where, a4 as FieldAttribute, a5 as FieldType, K as KyselyDatabaseType } from '../shared/better-auth.UgZtsmr9.js'; export { ah as BetterAuthDbSchema, a8 as FieldAttributeConfig, ae as FieldAttributeToObject, af as InferAdditionalFieldsFromPluginOptions, x as InferFieldsFromOptions, w as InferFieldsFromPlugins, ac as InferFieldsInput, ad as InferFieldsInputClient, ab as InferFieldsOutput, aa as InferValueType, a7 as InternalAdapter, ag as PluginFieldAttribute, aj as accountSchema, a9 as createFieldAttribute, a6 as createInternalAdapter, ao as getAllFields, ai as getAuthTables, ax as mergeSchema, av as parseAccountInput, aq as parseAccountOutput, au as parseAdditionalUserInput, as as parseInputData, an as parseOutputData, aw as parseSessionInput, ar as parseSessionOutput, at as parseUserInput, ap as parseUserOutput, al as sessionSchema, ak as userSchema, am as verificationSchema } from '../shared/better-auth.UgZtsmr9.js'; import * as z from 'zod/v4'; import 'kysely'; import 'better-call'; import '../shared/better-auth.ZSfSbnQT.js'; import '../shared/better-auth.BVGuK4ar.js'; import 'jose'; import 'zod/v4/core'; import 'zod'; import 'better-sqlite3'; import 'bun:sqlite'; declare function getWithHooks(adapter: Adapter, ctx: { options: BetterAuthOptions; hooks: Exclude[]; }): { createWithHooks: >(data: T, model: "user" | "account" | "session" | "verification", customCreateFn?: { fn: (data: Record) => void | Promise; executeMainFn?: boolean; }, context?: GenericEndpointContext) => Promise; updateWithHooks: >(data: any, where: Where[], model: "user" | "account" | "session" | "verification", customUpdateFn?: { fn: (data: Record) => void | Promise; executeMainFn?: boolean; }, context?: GenericEndpointContext) => Promise; updateManyWithHooks: >(data: any, where: Where[], model: "user" | "account" | "session" | "verification", customUpdateFn?: { fn: (data: Record) => void | Promise; executeMainFn?: boolean; }, context?: GenericEndpointContext) => Promise; }; declare function toZodSchema, IsClientSide extends boolean>({ fields, isClientSide, }: { fields: Fields; /** * If true, then any fields that have `input: false` will be removed from the schema to prevent user input. */ isClientSide: IsClientSide; }): z.ZodObject; }>, z.core.$strip>; type FieldAttributeToSchema, isClientSide extends boolean = false> = Field extends { type: any; } ? GetInput>> : Record; type GetType = F extends { type: "string"; } ? z.ZodString : F extends { type: "number"; } ? z.ZodNumber : F extends { type: "boolean"; } ? z.ZodBoolean : F extends { type: "date"; } ? z.ZodDate : z.ZodAny; type GetRequired = F extends { required: true; } ? Schema : z.ZodOptional; type GetInput = Field extends { input: false; } ? isClientSide extends true ? never : Schema : Schema; type RemoveNeverProps = { [K in keyof T as [T[K]] extends [never] ? never : K]: T[K]; }; declare function getAdapter(options: BetterAuthOptions): Promise; declare function convertToDB>(fields: Record, values: T): T; declare function convertFromDB>(fields: Record, values: T | null): T | null; declare function matchType(columnDataType: string, fieldType: FieldType, dbType: KyselyDatabaseType): boolean; declare function getMigrations(config: BetterAuthOptions): Promise<{ toBeCreated: { table: string; fields: Record; order: number; }[]; toBeAdded: { table: string; fields: Record; order: number; }[]; runMigrations: () => Promise; compileMigrations: () => Promise; }>; declare function getSchema(config: BetterAuthOptions): Record; order: number; }>; export { FieldAttribute, FieldType, convertFromDB, convertToDB, getAdapter, getMigrations, getSchema, getWithHooks, matchType, toZodSchema }; export type { FieldAttributeToSchema };