
/* !!! This is code generated by Prisma. Do not edit directly. !!! */
/* eslint-disable */
// biome-ignore-all lint: generated file
// @ts-nocheck 
/*
 * WARNING: This is an internal file that is subject to change!
 *
 * 🛑 Under no circumstances should you import this file directly! 🛑
 *
 * All exports from this file are wrapped under a `Prisma` namespace object in the browser.ts file.
 * While this enables partial backward compatibility, it is not part of the stable public API.
 *
 * If you are looking for your Models, Enums, and Input Types, please import them from the respective
 * model files in the `model` directory!
 */

import * as runtime from "@prisma/client/runtime/index-browser"

export type * from '../models'
export type * from './prismaNamespace'

export const Decimal = runtime.Decimal


export const NullTypes = {
  DbNull: runtime.NullTypes.DbNull as (new (secret: never) => typeof runtime.DbNull),
  JsonNull: runtime.NullTypes.JsonNull as (new (secret: never) => typeof runtime.JsonNull),
  AnyNull: runtime.NullTypes.AnyNull as (new (secret: never) => typeof runtime.AnyNull),
}
/**
 * Helper for filtering JSON entries that have `null` on the database (empty on the db)
 *
 * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field
 */
export const DbNull = runtime.DbNull

/**
 * Helper for filtering JSON entries that have JSON `null` values (not empty on the db)
 *
 * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field
 */
export const JsonNull = runtime.JsonNull

/**
 * Helper for filtering JSON entries that are `Prisma.DbNull` or `Prisma.JsonNull`
 *
 * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field
 */
export const AnyNull = runtime.AnyNull


export const ModelName = {
  User: 'User',
  Session: 'Session',
  Account: 'Account',
  Verification: 'Verification',
  Complex: 'Complex',
  ComplexUser: 'ComplexUser',
  ComplexInvitation: 'ComplexInvitation',
  Sport: 'Sport',
  Court: 'Court',
  CourtMaintenance: 'CourtMaintenance',
  CourtAvailability: 'CourtAvailability',
  CourtPriceRule: 'CourtPriceRule',
  CourtBooking: 'CourtBooking',
  CourtBookingLog: 'CourtBookingLog',
  RecurringBookingGroup: 'RecurringBookingGroup',
  PasswordResetRequest: 'PasswordResetRequest',
  Plan: 'Plan'
} as const

export type ModelName = (typeof ModelName)[keyof typeof ModelName]

/*
 * Enums
 */

export const TransactionIsolationLevel = runtime.makeStrictEnum({
  ReadUncommitted: 'ReadUncommitted',
  ReadCommitted: 'ReadCommitted',
  RepeatableRead: 'RepeatableRead',
  Serializable: 'Serializable'
} as const)

export type TransactionIsolationLevel = (typeof TransactionIsolationLevel)[keyof typeof TransactionIsolationLevel]


export const UserScalarFieldEnum = {
  id: 'id',
  name: 'name',
  email: 'email',
  emailVerified: 'emailVerified',
  image: 'image',
  phone: 'phone',
  banned: 'banned',
  bannedAt: 'bannedAt',
  banReason: 'banReason',
  createdAt: 'createdAt',
  updatedAt: 'updatedAt',
  role: 'role'
} as const

export type UserScalarFieldEnum = (typeof UserScalarFieldEnum)[keyof typeof UserScalarFieldEnum]


export const SessionScalarFieldEnum = {
  id: 'id',
  expiresAt: 'expiresAt',
  token: 'token',
  createdAt: 'createdAt',
  updatedAt: 'updatedAt',
  ipAddress: 'ipAddress',
  userAgent: 'userAgent',
  country: 'country',
  city: 'city',
  countryCode: 'countryCode',
  latitude: 'latitude',
  longitude: 'longitude',
  userId: 'userId'
} as const

export type SessionScalarFieldEnum = (typeof SessionScalarFieldEnum)[keyof typeof SessionScalarFieldEnum]


export const AccountScalarFieldEnum = {
  id: 'id',
  accountId: 'accountId',
  providerId: 'providerId',
  userId: 'userId',
  accessToken: 'accessToken',
  refreshToken: 'refreshToken',
  idToken: 'idToken',
  accessTokenExpiresAt: 'accessTokenExpiresAt',
  refreshTokenExpiresAt: 'refreshTokenExpiresAt',
  scope: 'scope',
  password: 'password',
  createdAt: 'createdAt',
  updatedAt: 'updatedAt'
} as const

export type AccountScalarFieldEnum = (typeof AccountScalarFieldEnum)[keyof typeof AccountScalarFieldEnum]


export const VerificationScalarFieldEnum = {
  id: 'id',
  identifier: 'identifier',
  value: 'value',
  expiresAt: 'expiresAt',
  createdAt: 'createdAt',
  updatedAt: 'updatedAt'
} as const

export type VerificationScalarFieldEnum = (typeof VerificationScalarFieldEnum)[keyof typeof VerificationScalarFieldEnum]


export const ComplexScalarFieldEnum = {
  id: 'id',
  complexName: 'complexName',
  physicalAddress: 'physicalAddress',
  city: 'city',
  state: 'state',
  country: 'country',
  complexSlug: 'complexSlug',
  adminEmail: 'adminEmail',
  planCode: 'planCode',
  createdAt: 'createdAt',
  updatedAt: 'updatedAt'
} as const

export type ComplexScalarFieldEnum = (typeof ComplexScalarFieldEnum)[keyof typeof ComplexScalarFieldEnum]


export const ComplexUserScalarFieldEnum = {
  complexId: 'complexId',
  userId: 'userId',
  role: 'role',
  createdAt: 'createdAt'
} as const

export type ComplexUserScalarFieldEnum = (typeof ComplexUserScalarFieldEnum)[keyof typeof ComplexUserScalarFieldEnum]


export const ComplexInvitationScalarFieldEnum = {
  id: 'id',
  complexId: 'complexId',
  email: 'email',
  tokenHash: 'tokenHash',
  expiresAt: 'expiresAt',
  acceptedAt: 'acceptedAt',
  revokedAt: 'revokedAt',
  createdAt: 'createdAt',
  updatedAt: 'updatedAt'
} as const

export type ComplexInvitationScalarFieldEnum = (typeof ComplexInvitationScalarFieldEnum)[keyof typeof ComplexInvitationScalarFieldEnum]


export const SportScalarFieldEnum = {
  id: 'id',
  name: 'name',
  slug: 'slug',
  isActive: 'isActive',
  createdAt: 'createdAt',
  updatedAt: 'updatedAt'
} as const

export type SportScalarFieldEnum = (typeof SportScalarFieldEnum)[keyof typeof SportScalarFieldEnum]


export const CourtScalarFieldEnum = {
  id: 'id',
  complexId: 'complexId',
  sportId: 'sportId',
  name: 'name',
  slotDurationMinutes: 'slotDurationMinutes',
  basePrice: 'basePrice',
  isUnderMaintenance: 'isUnderMaintenance',
  maintenanceReason: 'maintenanceReason',
  createdAt: 'createdAt',
  updatedAt: 'updatedAt'
} as const

export type CourtScalarFieldEnum = (typeof CourtScalarFieldEnum)[keyof typeof CourtScalarFieldEnum]


export const CourtMaintenanceScalarFieldEnum = {
  id: 'id',
  courtId: 'courtId',
  startDate: 'startDate',
  startTime: 'startTime',
  endTime: 'endTime',
  reason: 'reason',
  createdAt: 'createdAt',
  updatedAt: 'updatedAt'
} as const

export type CourtMaintenanceScalarFieldEnum = (typeof CourtMaintenanceScalarFieldEnum)[keyof typeof CourtMaintenanceScalarFieldEnum]


export const CourtAvailabilityScalarFieldEnum = {
  id: 'id',
  courtId: 'courtId',
  dayOfWeek: 'dayOfWeek',
  startTime: 'startTime',
  endTime: 'endTime',
  createdAt: 'createdAt'
} as const

export type CourtAvailabilityScalarFieldEnum = (typeof CourtAvailabilityScalarFieldEnum)[keyof typeof CourtAvailabilityScalarFieldEnum]


export const CourtPriceRuleScalarFieldEnum = {
  id: 'id',
  courtId: 'courtId',
  dayOfWeek: 'dayOfWeek',
  startTime: 'startTime',
  endTime: 'endTime',
  price: 'price',
  isActive: 'isActive',
  createdAt: 'createdAt',
  updatedAt: 'updatedAt'
} as const

export type CourtPriceRuleScalarFieldEnum = (typeof CourtPriceRuleScalarFieldEnum)[keyof typeof CourtPriceRuleScalarFieldEnum]


export const CourtBookingScalarFieldEnum = {
  id: 'id',
  bookingCode: 'bookingCode',
  courtId: 'courtId',
  bookingDate: 'bookingDate',
  startTime: 'startTime',
  endTime: 'endTime',
  customerName: 'customerName',
  customerPhone: 'customerPhone',
  customerEmail: 'customerEmail',
  status: 'status',
  recurringGroupId: 'recurringGroupId',
  createdAt: 'createdAt',
  updatedAt: 'updatedAt'
} as const

export type CourtBookingScalarFieldEnum = (typeof CourtBookingScalarFieldEnum)[keyof typeof CourtBookingScalarFieldEnum]


export const CourtBookingLogScalarFieldEnum = {
  id: 'id',
  bookingCode: 'bookingCode',
  courtId: 'courtId',
  bookingDate: 'bookingDate',
  startTime: 'startTime',
  endTime: 'endTime',
  previousStatus: 'previousStatus',
  newStatus: 'newStatus',
  customerName: 'customerName',
  customerPhone: 'customerPhone',
  customerEmail: 'customerEmail',
  changedAt: 'changedAt'
} as const

export type CourtBookingLogScalarFieldEnum = (typeof CourtBookingLogScalarFieldEnum)[keyof typeof CourtBookingLogScalarFieldEnum]


export const RecurringBookingGroupScalarFieldEnum = {
  id: 'id',
  complexId: 'complexId',
  courtId: 'courtId',
  startTime: 'startTime',
  endTime: 'endTime',
  dayOfWeek: 'dayOfWeek',
  startDate: 'startDate',
  endDate: 'endDate',
  status: 'status',
  customerName: 'customerName',
  customerPhone: 'customerPhone',
  customerEmail: 'customerEmail',
  createdAt: 'createdAt',
  updatedAt: 'updatedAt'
} as const

export type RecurringBookingGroupScalarFieldEnum = (typeof RecurringBookingGroupScalarFieldEnum)[keyof typeof RecurringBookingGroupScalarFieldEnum]


export const PasswordResetRequestScalarFieldEnum = {
  id: 'id',
  email: 'email',
  otpHash: 'otpHash',
  otpExpiresAt: 'otpExpiresAt',
  otpAttempts: 'otpAttempts',
  otpLastSentAt: 'otpLastSentAt',
  otpResendCount: 'otpResendCount',
  usedAt: 'usedAt',
  createdAt: 'createdAt',
  updatedAt: 'updatedAt'
} as const

export type PasswordResetRequestScalarFieldEnum = (typeof PasswordResetRequestScalarFieldEnum)[keyof typeof PasswordResetRequestScalarFieldEnum]


export const PlanScalarFieldEnum = {
  code: 'code',
  name: 'name',
  price: 'price',
  rules: 'rules',
  lastUpdatedAt: 'lastUpdatedAt'
} as const

export type PlanScalarFieldEnum = (typeof PlanScalarFieldEnum)[keyof typeof PlanScalarFieldEnum]


export const SortOrder = {
  asc: 'asc',
  desc: 'desc'
} as const

export type SortOrder = (typeof SortOrder)[keyof typeof SortOrder]


export const JsonNullValueInput = {
  JsonNull: JsonNull
} as const

export type JsonNullValueInput = (typeof JsonNullValueInput)[keyof typeof JsonNullValueInput]


export const QueryMode = {
  default: 'default',
  insensitive: 'insensitive'
} as const

export type QueryMode = (typeof QueryMode)[keyof typeof QueryMode]


export const NullsOrder = {
  first: 'first',
  last: 'last'
} as const

export type NullsOrder = (typeof NullsOrder)[keyof typeof NullsOrder]


export const JsonNullValueFilter = {
  DbNull: DbNull,
  JsonNull: JsonNull,
  AnyNull: AnyNull
} as const

export type JsonNullValueFilter = (typeof JsonNullValueFilter)[keyof typeof JsonNullValueFilter]

