
/* !!! This is code generated by Prisma. Do not edit directly. !!!
/* eslint-disable */
// biome-ignore-all lint: generated file

Object.defineProperty(exports, "__esModule", { value: true });

const {
  Decimal,
  objectEnumValues,
  makeStrictEnum,
  Public,
  getRuntime,
  skip
} = require('@prisma/client/runtime/index-browser.js')


const Prisma = {}

exports.Prisma = Prisma
exports.$Enums = {}

/**
 * Prisma Client JS version: 6.19.0
 * Query Engine version: 2ba551f319ab1df4bc874a89965d8b3641056773
 */
Prisma.prismaVersion = {
  client: "6.19.0",
  engine: "2ba551f319ab1df4bc874a89965d8b3641056773"
}

Prisma.PrismaClientKnownRequestError = () => {
  const runtimeName = getRuntime().prettyName;
  throw new Error(`PrismaClientKnownRequestError is unable to run in this browser environment, or has been bundled for the browser (running in ${runtimeName}).
In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report`,
)};
Prisma.PrismaClientUnknownRequestError = () => {
  const runtimeName = getRuntime().prettyName;
  throw new Error(`PrismaClientUnknownRequestError is unable to run in this browser environment, or has been bundled for the browser (running in ${runtimeName}).
In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report`,
)}
Prisma.PrismaClientRustPanicError = () => {
  const runtimeName = getRuntime().prettyName;
  throw new Error(`PrismaClientRustPanicError is unable to run in this browser environment, or has been bundled for the browser (running in ${runtimeName}).
In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report`,
)}
Prisma.PrismaClientInitializationError = () => {
  const runtimeName = getRuntime().prettyName;
  throw new Error(`PrismaClientInitializationError is unable to run in this browser environment, or has been bundled for the browser (running in ${runtimeName}).
In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report`,
)}
Prisma.PrismaClientValidationError = () => {
  const runtimeName = getRuntime().prettyName;
  throw new Error(`PrismaClientValidationError is unable to run in this browser environment, or has been bundled for the browser (running in ${runtimeName}).
In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report`,
)}
Prisma.Decimal = Decimal

/**
 * Re-export of sql-template-tag
 */
Prisma.sql = () => {
  const runtimeName = getRuntime().prettyName;
  throw new Error(`sqltag is unable to run in this browser environment, or has been bundled for the browser (running in ${runtimeName}).
In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report`,
)}
Prisma.empty = () => {
  const runtimeName = getRuntime().prettyName;
  throw new Error(`empty is unable to run in this browser environment, or has been bundled for the browser (running in ${runtimeName}).
In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report`,
)}
Prisma.join = () => {
  const runtimeName = getRuntime().prettyName;
  throw new Error(`join is unable to run in this browser environment, or has been bundled for the browser (running in ${runtimeName}).
In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report`,
)}
Prisma.raw = () => {
  const runtimeName = getRuntime().prettyName;
  throw new Error(`raw is unable to run in this browser environment, or has been bundled for the browser (running in ${runtimeName}).
In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report`,
)}
Prisma.validator = Public.validator

/**
* Extensions
*/
Prisma.getExtensionContext = () => {
  const runtimeName = getRuntime().prettyName;
  throw new Error(`Extensions.getExtensionContext is unable to run in this browser environment, or has been bundled for the browser (running in ${runtimeName}).
In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report`,
)}
Prisma.defineExtension = () => {
  const runtimeName = getRuntime().prettyName;
  throw new Error(`Extensions.defineExtension is unable to run in this browser environment, or has been bundled for the browser (running in ${runtimeName}).
In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report`,
)}

/**
 * Shorthand utilities for JSON filtering
 */
Prisma.DbNull = objectEnumValues.instances.DbNull
Prisma.JsonNull = objectEnumValues.instances.JsonNull
Prisma.AnyNull = objectEnumValues.instances.AnyNull

Prisma.NullTypes = {
  DbNull: objectEnumValues.classes.DbNull,
  JsonNull: objectEnumValues.classes.JsonNull,
  AnyNull: objectEnumValues.classes.AnyNull
}



/**
 * Enums
 */

exports.Prisma.TransactionIsolationLevel = makeStrictEnum({
  ReadUncommitted: 'ReadUncommitted',
  ReadCommitted: 'ReadCommitted',
  RepeatableRead: 'RepeatableRead',
  Serializable: 'Serializable'
});

exports.Prisma.AuditoriaScalarFieldEnum = {
  id: 'id',
  tabla: 'tabla',
  registro_id: 'registro_id',
  accion: 'accion',
  usuario_id: 'usuario_id',
  datos_anteriores: 'datos_anteriores',
  datos_nuevos: 'datos_nuevos',
  ip_address: 'ip_address',
  user_agent: 'user_agent',
  fecha: 'fecha'
};

exports.Prisma.CategoriasScalarFieldEnum = {
  id: 'id',
  nombre: 'nombre',
  descripcion: 'descripcion',
  icono: 'icono',
  color: 'color',
  created_at: 'created_at'
};

exports.Prisma.ClientesScalarFieldEnum = {
  id: 'id',
  tipo_cliente: 'tipo_cliente',
  tipo_documento: 'tipo_documento',
  numero_documento: 'numero_documento',
  nombre: 'nombre',
  apellido: 'apellido',
  email: 'email',
  telefono: 'telefono',
  direccion: 'direccion',
  ciudad: 'ciudad',
  es_institucional: 'es_institucional',
  dependencia: 'dependencia',
  total_compras: 'total_compras',
  ultima_compra: 'ultima_compra',
  activo: 'activo',
  created_at: 'created_at',
  updated_at: 'updated_at'
};

exports.Prisma.ConfiguracionScalarFieldEnum = {
  id: 'id',
  clave: 'clave',
  valor: 'valor',
  tipo: 'tipo',
  descripcion: 'descripcion',
  updated_at: 'updated_at'
};

exports.Prisma.Costos_produccionScalarFieldEnum = {
  id: 'id',
  producto_id: 'producto_id',
  lote_id: 'lote_id',
  costo_materia_prima: 'costo_materia_prima',
  costo_mano_obra: 'costo_mano_obra',
  costo_insumos: 'costo_insumos',
  costo_energia: 'costo_energia',
  otros_costos: 'otros_costos',
  costo_total: 'costo_total',
  cantidad_producida: 'cantidad_producida',
  costo_unitario: 'costo_unitario',
  fecha_registro: 'fecha_registro',
  observaciones: 'observaciones',
  created_at: 'created_at'
};

exports.Prisma.DescuentosScalarFieldEnum = {
  id: 'id',
  codigo: 'codigo',
  nombre: 'nombre',
  descripcion: 'descripcion',
  tipo: 'tipo',
  valor: 'valor',
  minimo_compra: 'minimo_compra',
  maximo_descuento: 'maximo_descuento',
  aplica_a: 'aplica_a',
  categoria_id: 'categoria_id',
  producto_id: 'producto_id',
  usos_maximos: 'usos_maximos',
  usos_actuales: 'usos_actuales',
  fecha_inicio: 'fecha_inicio',
  fecha_fin: 'fecha_fin',
  solo_aprendices: 'solo_aprendices',
  solo_empleados: 'solo_empleados',
  solo_institucional: 'solo_institucional',
  activo: 'activo',
  created_at: 'created_at'
};

exports.Prisma.Descuentos_aplicadosScalarFieldEnum = {
  id: 'id',
  venta_id: 'venta_id',
  descuento_id: 'descuento_id',
  monto_descuento: 'monto_descuento',
  aplicado_por: 'aplicado_por',
  fecha_aplicacion: 'fecha_aplicacion'
};

exports.Prisma.Detalle_movimientosScalarFieldEnum = {
  id: 'id',
  movimiento_id: 'movimiento_id',
  producto_id: 'producto_id',
  lote_id: 'lote_id',
  cantidad: 'cantidad',
  unidad: 'unidad'
};

exports.Prisma.Detalle_solicitudesScalarFieldEnum = {
  id: 'id',
  solicitud_id: 'solicitud_id',
  producto_id: 'producto_id',
  cantidad_solicitada: 'cantidad_solicitada',
  cantidad_aprobada: 'cantidad_aprobada',
  observaciones: 'observaciones'
};

exports.Prisma.Detalle_ventasScalarFieldEnum = {
  id: 'id',
  venta_id: 'venta_id',
  producto_id: 'producto_id',
  lote_id: 'lote_id',
  cantidad: 'cantidad',
  precio_unitario: 'precio_unitario',
  subtotal: 'subtotal',
  observaciones: 'observaciones',
  costo_unitario: 'costo_unitario'
};

exports.Prisma.Historial_inventarioScalarFieldEnum = {
  id: 'id',
  producto_id: 'producto_id',
  tipo_movimiento: 'tipo_movimiento',
  cantidad_anterior: 'cantidad_anterior',
  cantidad_movimiento: 'cantidad_movimiento',
  cantidad_nueva: 'cantidad_nueva',
  usuario_id: 'usuario_id',
  referencia_id: 'referencia_id',
  referencia_tipo: 'referencia_tipo',
  observaciones: 'observaciones',
  fecha_movimiento: 'fecha_movimiento'
};

exports.Prisma.Lotes_productosScalarFieldEnum = {
  id: 'id',
  producto_id: 'producto_id',
  codigo_lote: 'codigo_lote',
  cantidad: 'cantidad',
  fecha_produccion: 'fecha_produccion',
  fecha_vencimiento: 'fecha_vencimiento',
  unidad_productiva_id: 'unidad_productiva_id',
  estado: 'estado',
  created_at: 'created_at',
  usuario_id: 'usuario_id'
};

exports.Prisma.Metodos_pagoScalarFieldEnum = {
  id: 'id',
  nombre: 'nombre',
  descripcion: 'descripcion',
  activo: 'activo',
  icono: 'icono',
  created_at: 'created_at'
};

exports.Prisma.Movimientos_unidadesScalarFieldEnum = {
  id: 'id',
  codigo_movimiento: 'codigo_movimiento',
  unidad_origen_id: 'unidad_origen_id',
  unidad_destino_id: 'unidad_destino_id',
  usuario_id: 'usuario_id',
  fecha_movimiento: 'fecha_movimiento',
  motivo: 'motivo',
  estado: 'estado',
  observaciones: 'observaciones',
  created_at: 'created_at'
};

exports.Prisma.NotificacionesScalarFieldEnum = {
  id: 'id',
  tipo: 'tipo',
  titulo: 'titulo',
  mensaje: 'mensaje',
  prioridad: 'prioridad',
  leida: 'leida',
  usuario_id: 'usuario_id',
  referencia_id: 'referencia_id',
  referencia_tipo: 'referencia_tipo',
  created_at: 'created_at'
};

exports.Prisma.Pagos_ventaScalarFieldEnum = {
  id: 'id',
  venta_id: 'venta_id',
  metodo_pago_id: 'metodo_pago_id',
  monto: 'monto',
  referencia: 'referencia',
  fecha_pago: 'fecha_pago'
};

exports.Prisma.CajasScalarFieldEnum = {
  id: 'id',
  codigo: 'codigo',
  nombre: 'nombre',
  ubicacion: 'ubicacion',
  tipo: 'tipo',
  activa: 'activa',
  created_at: 'created_at',
  updated_at: 'updated_at'
};

exports.Prisma.Sesiones_cajaScalarFieldEnum = {
  id: 'id',
  codigo_sesion: 'codigo_sesion',
  caja_id: 'caja_id',
  cajero_id: 'cajero_id',
  fecha_apertura: 'fecha_apertura',
  fondo_inicial: 'fondo_inicial',
  observaciones_apertura: 'observaciones_apertura',
  fecha_cierre: 'fecha_cierre',
  estado: 'estado',
  observaciones_cierre: 'observaciones_cierre',
  total_ventas_efectivo: 'total_ventas_efectivo',
  total_ventas_nequi: 'total_ventas_nequi',
  total_ventas_tarjeta: 'total_ventas_tarjeta',
  total_ventas_transferencia: 'total_ventas_transferencia',
  total_ingresos_adicionales: 'total_ingresos_adicionales',
  total_retiros: 'total_retiros',
  total_gastos: 'total_gastos',
  efectivo_esperado: 'efectivo_esperado',
  efectivo_contado: 'efectivo_contado',
  diferencia: 'diferencia',
  desglose_efectivo: 'desglose_efectivo',
  cuadrada: 'cuadrada',
  created_at: 'created_at'
};

exports.Prisma.Movimientos_cajaScalarFieldEnum = {
  id: 'id',
  sesion_caja_id: 'sesion_caja_id',
  venta_id: 'venta_id',
  tipo_movimiento: 'tipo_movimiento',
  metodo_pago: 'metodo_pago',
  monto: 'monto',
  descripcion: 'descripcion',
  usuario_id: 'usuario_id',
  requiere_autorizacion: 'requiere_autorizacion',
  autorizado_por: 'autorizado_por',
  fecha_movimiento: 'fecha_movimiento',
  monto_recibido: 'monto_recibido',
  monto_cambio: 'monto_cambio',
  turno_caja_id: 'turno_caja_id'
};

exports.Prisma.Retiros_cajaScalarFieldEnum = {
  id: 'id',
  sesion_caja_id: 'sesion_caja_id',
  monto: 'monto',
  motivo: 'motivo',
  solicitado_por: 'solicitado_por',
  autorizado_por: 'autorizado_por',
  estado: 'estado',
  fecha_solicitud: 'fecha_solicitud',
  fecha_respuesta: 'fecha_respuesta',
  observaciones: 'observaciones',
  recibo_url: 'recibo_url',
  destino_fondos: 'destino_fondos',
  turno_caja_id: 'turno_caja_id'
};

exports.Prisma.Gastos_cajaScalarFieldEnum = {
  id: 'id',
  sesion_caja_id: 'sesion_caja_id',
  monto: 'monto',
  categoria_gasto: 'categoria_gasto',
  descripcion: 'descripcion',
  beneficiario: 'beneficiario',
  comprobante_url: 'comprobante_url',
  numero_factura: 'numero_factura',
  autorizado_por: 'autorizado_por',
  fecha_gasto: 'fecha_gasto',
  observaciones: 'observaciones',
  metodo_pago: 'metodo_pago',
  turno_caja_id: 'turno_caja_id'
};

exports.Prisma.Arqueos_cajaScalarFieldEnum = {
  id: 'id',
  sesion_caja_id: 'sesion_caja_id',
  tipo_arqueo: 'tipo_arqueo',
  realizado_por: 'realizado_por',
  fecha_arqueo: 'fecha_arqueo',
  billetes_100000: 'billetes_100000',
  billetes_50000: 'billetes_50000',
  billetes_20000: 'billetes_20000',
  billetes_10000: 'billetes_10000',
  billetes_5000: 'billetes_5000',
  billetes_2000: 'billetes_2000',
  billetes_1000: 'billetes_1000',
  monedas_1000: 'monedas_1000',
  monedas_500: 'monedas_500',
  monedas_200: 'monedas_200',
  monedas_100: 'monedas_100',
  monedas_50: 'monedas_50',
  total_contado: 'total_contado',
  total_esperado: 'total_esperado',
  diferencia: 'diferencia',
  observaciones: 'observaciones'
};

exports.Prisma.Turnos_cajaScalarFieldEnum = {
  id: 'id',
  sesion_caja_id: 'sesion_caja_id',
  cajero_id: 'cajero_id',
  caja_id: 'caja_id',
  tipo_relevo: 'tipo_relevo',
  fecha_inicio: 'fecha_inicio',
  fecha_fin: 'fecha_fin',
  monto_inicial: 'monto_inicial',
  monto_final: 'monto_final',
  diferencia: 'diferencia',
  duracion_minutos: 'duracion_minutos',
  estado: 'estado',
  motivo_suspension: 'motivo_suspension',
  observaciones: 'observaciones',
  created_at: 'created_at',
  efectivo_inicial: 'efectivo_inicial',
  efectivo_final: 'efectivo_final',
  observaciones_cierre: 'observaciones_cierre',
  desglose_efectivo: 'desglose_efectivo',
  turno_anterior_id: 'turno_anterior_id',
  autorizado_por: 'autorizado_por'
};

exports.Prisma.ProductosScalarFieldEnum = {
  id: 'id',
  codigo: 'codigo',
  nombre: 'nombre',
  descripcion: 'descripcion',
  categoria_id: 'categoria_id',
  unidad_productiva_id: 'unidad_productiva_id',
  tipo_medida: 'tipo_medida',
  unidad: 'unidad',
  precio_unitario: 'precio_unitario',
  precio_mayorista: 'precio_mayorista',
  stock_actual: 'stock_actual',
  stock_minimo: 'stock_minimo',
  stock_maximo: 'stock_maximo',
  es_perecedero: 'es_perecedero',
  dias_vencimiento: 'dias_vencimiento',
  imagen_url: 'imagen_url',
  activo: 'activo',
  created_at: 'created_at',
  updated_at: 'updated_at',
  proveedor_id: 'proveedor_id',
  es_produccion_propia: 'es_produccion_propia'
};

exports.Prisma.ProveedoresScalarFieldEnum = {
  id: 'id',
  codigo: 'codigo',
  nombre: 'nombre',
  nit: 'nit',
  contacto_nombre: 'contacto_nombre',
  contacto_email: 'contacto_email',
  contacto_telefono: 'contacto_telefono',
  direccion: 'direccion',
  ciudad: 'ciudad',
  tipo_productos: 'tipo_productos',
  activo: 'activo',
  created_at: 'created_at',
  updated_at: 'updated_at'
};

exports.Prisma.RolesScalarFieldEnum = {
  id: 'id',
  nombre: 'nombre',
  descripcion: 'descripcion',
  permisos: 'permisos',
  created_at: 'created_at',
  updated_at: 'updated_at'
};

exports.Prisma.Solicitudes_transferenciaScalarFieldEnum = {
  id: 'id',
  codigo_solicitud: 'codigo_solicitud',
  unidad_solicitante_id: 'unidad_solicitante_id',
  unidad_proveedora_id: 'unidad_proveedora_id',
  usuario_solicitante_id: 'usuario_solicitante_id',
  estado: 'estado',
  fecha_solicitud: 'fecha_solicitud',
  fecha_respuesta: 'fecha_respuesta',
  usuario_respuesta_id: 'usuario_respuesta_id',
  observaciones: 'observaciones',
  motivo_rechazo: 'motivo_rechazo'
};

exports.Prisma.TurnosScalarFieldEnum = {
  id: 'id',
  numero_turno: 'numero_turno',
  cliente_nombre: 'cliente_nombre',
  cliente_id: 'cliente_id',
  estado: 'estado',
  cajero_id: 'cajero_id',
  fecha: 'fecha',
  hora_creacion: 'hora_creacion',
  hora_atencion: 'hora_atencion',
  hora_finalizacion: 'hora_finalizacion'
};

exports.Prisma.Unidades_productivasScalarFieldEnum = {
  id: 'id',
  codigo: 'codigo',
  nombre: 'nombre',
  descripcion: 'descripcion',
  tipo: 'tipo',
  responsable_id: 'responsable_id',
  ubicacion: 'ubicacion',
  activa: 'activa',
  created_at: 'created_at',
  updated_at: 'updated_at'
};

exports.Prisma.UsuariosScalarFieldEnum = {
  id: 'id',
  nombre: 'nombre',
  apellido: 'apellido',
  email: 'email',
  password_hash: 'password_hash',
  rol_id: 'rol_id',
  activo: 'activo',
  ultimo_acceso: 'ultimo_acceso',
  created_at: 'created_at',
  updated_at: 'updated_at'
};

exports.Prisma.VentasScalarFieldEnum = {
  id: 'id',
  codigo_venta: 'codigo_venta',
  usuario_id: 'usuario_id',
  fecha_venta: 'fecha_venta',
  subtotal: 'subtotal',
  impuesto: 'impuesto',
  descuento: 'descuento',
  total: 'total',
  cliente_nombre: 'cliente_nombre',
  cliente_email: 'cliente_email',
  cliente_telefono: 'cliente_telefono',
  estado: 'estado',
  requiere_factura: 'requiere_factura',
  factura_generada: 'factura_generada',
  factura_url: 'factura_url',
  observaciones: 'observaciones',
  created_at: 'created_at',
  cliente_id: 'cliente_id',
  deleted_at: 'deleted_at',
  turno_caja_id: 'turno_caja_id'
};

exports.Prisma.Metas_ventasScalarFieldEnum = {
  id: 'id',
  nombre: 'nombre',
  monto_objetivo: 'monto_objetivo',
  anio: 'anio',
  activa: 'activa',
  created_at: 'created_at',
  updated_at: 'updated_at'
};

exports.Prisma.SortOrder = {
  asc: 'asc',
  desc: 'desc'
};

exports.Prisma.NullableJsonNullValueInput = {
  DbNull: Prisma.DbNull,
  JsonNull: Prisma.JsonNull
};

exports.Prisma.QueryMode = {
  default: 'default',
  insensitive: 'insensitive'
};

exports.Prisma.JsonNullValueFilter = {
  DbNull: Prisma.DbNull,
  JsonNull: Prisma.JsonNull,
  AnyNull: Prisma.AnyNull
};

exports.Prisma.NullsOrder = {
  first: 'first',
  last: 'last'
};


exports.Prisma.ModelName = {
  auditoria: 'auditoria',
  categorias: 'categorias',
  clientes: 'clientes',
  configuracion: 'configuracion',
  costos_produccion: 'costos_produccion',
  descuentos: 'descuentos',
  descuentos_aplicados: 'descuentos_aplicados',
  detalle_movimientos: 'detalle_movimientos',
  detalle_solicitudes: 'detalle_solicitudes',
  detalle_ventas: 'detalle_ventas',
  historial_inventario: 'historial_inventario',
  lotes_productos: 'lotes_productos',
  metodos_pago: 'metodos_pago',
  movimientos_unidades: 'movimientos_unidades',
  notificaciones: 'notificaciones',
  pagos_venta: 'pagos_venta',
  cajas: 'cajas',
  sesiones_caja: 'sesiones_caja',
  movimientos_caja: 'movimientos_caja',
  retiros_caja: 'retiros_caja',
  gastos_caja: 'gastos_caja',
  arqueos_caja: 'arqueos_caja',
  turnos_caja: 'turnos_caja',
  productos: 'productos',
  proveedores: 'proveedores',
  roles: 'roles',
  solicitudes_transferencia: 'solicitudes_transferencia',
  turnos: 'turnos',
  unidades_productivas: 'unidades_productivas',
  usuarios: 'usuarios',
  ventas: 'ventas',
  metas_ventas: 'metas_ventas'
};

/**
 * This is a stub Prisma Client that will error at runtime if called.
 */
class PrismaClient {
  constructor() {
    return new Proxy(this, {
      get(target, prop) {
        let message
        const runtime = getRuntime()
        if (runtime.isEdge) {
          message = `PrismaClient is not configured to run in ${runtime.prettyName}. In order to run Prisma Client on edge runtime, either:
- Use Prisma Accelerate: https://pris.ly/d/accelerate
- Use Driver Adapters: https://pris.ly/d/driver-adapters
`;
        } else {
          message = 'PrismaClient is unable to run in this browser environment, or has been bundled for the browser (running in `' + runtime.prettyName + '`).'
        }

        message += `
If this is unexpected, please open an issue: https://pris.ly/prisma-prisma-bug-report`

        throw new Error(message)
      }
    })
  }
}

exports.PrismaClient = PrismaClient

Object.assign(exports, Prisma)
