
/* !!! 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',
  Category: 'Category',
  ScannerSession: 'ScannerSession',
  ScannerSessionLock: 'ScannerSessionLock',
  ScannerSessionFile: 'ScannerSessionFile',
  ScannerSessionEvent: 'ScannerSessionEvent',
  Document: 'Document',
  DuplicateRejection: 'DuplicateRejection',
  Account: 'Account',
  Session: 'Session',
  VerificationToken: 'VerificationToken',
  ExpenseType: 'ExpenseType',
  PaymentMethod: 'PaymentMethod'
} 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',
  username: 'username',
  passwordHash: 'passwordHash',
  role: 'role',
  createdAt: 'createdAt',
  updatedAt: 'updatedAt'
} as const

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


export const CategoryScalarFieldEnum = {
  id: 'id',
  name: 'name',
  description: 'description',
  color: 'color',
  icon: 'icon',
  expenseType: 'expenseType',
  paymentMethod: 'paymentMethod',
  createdAt: 'createdAt',
  updatedAt: 'updatedAt'
} as const

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


export const ScannerSessionScalarFieldEnum = {
  id: 'id',
  userId: 'userId',
  categoryId: 'categoryId',
  folderPath: 'folderPath',
  customFields: 'customFields',
  status: 'status',
  startedAt: 'startedAt',
  finishedAt: 'finishedAt',
  createdAt: 'createdAt',
  updatedAt: 'updatedAt'
} as const

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


export const ScannerSessionLockScalarFieldEnum = {
  id: 'id',
  lockKey: 'lockKey',
  sessionId: 'sessionId',
  createdAt: 'createdAt'
} as const

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


export const ScannerSessionFileScalarFieldEnum = {
  id: 'id',
  sessionId: 'sessionId',
  sharepointItemId: 'sharepointItemId',
  pageNumber: 'pageNumber',
  fileName: 'fileName',
  mimeType: 'mimeType',
  stagedFileName: 'stagedFileName',
  extractedData: 'extractedData',
  status: 'status',
  errorMessage: 'errorMessage',
  remoteDeletedAt: 'remoteDeletedAt',
  documentId: 'documentId',
  createdAt: 'createdAt',
  updatedAt: 'updatedAt'
} as const

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


export const ScannerSessionEventScalarFieldEnum = {
  id: 'id',
  sessionId: 'sessionId',
  userId: 'userId',
  type: 'type',
  message: 'message',
  context: 'context',
  createdAt: 'createdAt'
} as const

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


export const DocumentScalarFieldEnum = {
  id: 'id',
  fileName: 'fileName',
  fileUrl: 'fileUrl',
  extractedData: 'extractedData',
  contentHash: 'contentHash',
  invoiceFingerprint: 'invoiceFingerprint',
  ownerId: 'ownerId',
  categoryId: 'categoryId',
  createdAt: 'createdAt',
  updatedAt: 'updatedAt'
} as const

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


export const DuplicateRejectionScalarFieldEnum = {
  id: 'id',
  fileName: 'fileName',
  extractedData: 'extractedData',
  contentHash: 'contentHash',
  invoiceFingerprint: 'invoiceFingerprint',
  source: 'source',
  ownerId: 'ownerId',
  duplicateDocumentId: 'duplicateDocumentId',
  createdAt: 'createdAt'
} as const

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


export const AccountScalarFieldEnum = {
  id: 'id',
  userId: 'userId',
  type: 'type',
  provider: 'provider',
  providerAccountId: 'providerAccountId',
  refresh_token: 'refresh_token',
  access_token: 'access_token',
  expires_at: 'expires_at',
  token_type: 'token_type',
  scope: 'scope',
  id_token: 'id_token',
  session_state: 'session_state'
} as const

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


export const SessionScalarFieldEnum = {
  id: 'id',
  sessionToken: 'sessionToken',
  userId: 'userId',
  expires: 'expires'
} as const

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


export const VerificationTokenScalarFieldEnum = {
  identifier: 'identifier',
  token: 'token',
  expires: 'expires'
} as const

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


export const ExpenseTypeScalarFieldEnum = {
  id: 'id',
  name: 'name',
  createdAt: 'createdAt',
  updatedAt: 'updatedAt'
} as const

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


export const PaymentMethodScalarFieldEnum = {
  id: 'id',
  name: 'name',
  createdAt: 'createdAt',
  updatedAt: 'updatedAt'
} as const

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


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

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


export const NullableJsonNullValueInput = {
  DbNull: DbNull,
  JsonNull: JsonNull
} as const

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


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

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


export const UserOrderByRelevanceFieldEnum = {
  id: 'id',
  name: 'name',
  username: 'username',
  passwordHash: 'passwordHash'
} as const

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


export const CategoryOrderByRelevanceFieldEnum = {
  id: 'id',
  name: 'name',
  description: 'description',
  color: 'color',
  icon: 'icon',
  expenseType: 'expenseType',
  paymentMethod: 'paymentMethod'
} as const

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


export const ScannerSessionOrderByRelevanceFieldEnum = {
  id: 'id',
  userId: 'userId',
  categoryId: 'categoryId',
  folderPath: 'folderPath',
  customFields: 'customFields'
} as const

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


export const ScannerSessionLockOrderByRelevanceFieldEnum = {
  id: 'id',
  lockKey: 'lockKey',
  sessionId: 'sessionId'
} as const

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


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

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


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

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


export const ScannerSessionFileOrderByRelevanceFieldEnum = {
  id: 'id',
  sessionId: 'sessionId',
  sharepointItemId: 'sharepointItemId',
  fileName: 'fileName',
  mimeType: 'mimeType',
  stagedFileName: 'stagedFileName',
  errorMessage: 'errorMessage',
  documentId: 'documentId'
} as const

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


export const ScannerSessionEventOrderByRelevanceFieldEnum = {
  id: 'id',
  sessionId: 'sessionId',
  userId: 'userId',
  type: 'type',
  message: 'message'
} as const

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


export const DocumentOrderByRelevanceFieldEnum = {
  id: 'id',
  fileName: 'fileName',
  fileUrl: 'fileUrl',
  contentHash: 'contentHash',
  invoiceFingerprint: 'invoiceFingerprint',
  ownerId: 'ownerId',
  categoryId: 'categoryId'
} as const

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


export const DuplicateRejectionOrderByRelevanceFieldEnum = {
  id: 'id',
  fileName: 'fileName',
  contentHash: 'contentHash',
  invoiceFingerprint: 'invoiceFingerprint',
  ownerId: 'ownerId',
  duplicateDocumentId: 'duplicateDocumentId'
} as const

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


export const AccountOrderByRelevanceFieldEnum = {
  id: 'id',
  userId: 'userId',
  type: 'type',
  provider: 'provider',
  providerAccountId: 'providerAccountId',
  refresh_token: 'refresh_token',
  access_token: 'access_token',
  token_type: 'token_type',
  scope: 'scope',
  id_token: 'id_token',
  session_state: 'session_state'
} as const

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


export const SessionOrderByRelevanceFieldEnum = {
  id: 'id',
  sessionToken: 'sessionToken',
  userId: 'userId'
} as const

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


export const VerificationTokenOrderByRelevanceFieldEnum = {
  identifier: 'identifier',
  token: 'token'
} as const

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


export const ExpenseTypeOrderByRelevanceFieldEnum = {
  id: 'id',
  name: 'name'
} as const

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


export const PaymentMethodOrderByRelevanceFieldEnum = {
  id: 'id',
  name: 'name'
} as const

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

