/**
 * Database Constants - SSOT (Single Source of Truth)
 *
 * IMPORTANTE: Este archivo es la UNICA fuente de verdad para nombres de
 * schemas, tablas y columnas. Cualquier hardcoding sera detectado por
 * el script validate-constants-usage.ts
 *
 * @module @shared/constants/database
 */
/**
 * Database Schemas
 * Todos los schemas de la base de datos PostgreSQL
 */
export declare const DB_SCHEMAS: {
    readonly AUTH: "auth";
    readonly CORE: "core";
    readonly CONSTRUCTION: "construction";
    readonly HR: "hr";
    readonly HSE: "hse";
    readonly ESTIMATES: "estimates";
    readonly INFONAVIT: "infonavit";
    readonly INVENTORY: "inventory";
    readonly PURCHASE: "purchase";
    readonly FINANCIAL: "financial";
    readonly ANALYTICS: "analytics";
    readonly AUDIT: "audit";
    readonly SYSTEM: "system";
};
export type DBSchema = typeof DB_SCHEMAS[keyof typeof DB_SCHEMAS];
/**
 * Database Tables organized by Schema
 */
export declare const DB_TABLES: {
    readonly auth: {
        readonly USERS: "users";
        readonly ROLES: "roles";
        readonly PERMISSIONS: "permissions";
        readonly ROLE_PERMISSIONS: "role_permissions";
        readonly USER_ROLES: "user_roles";
        readonly SESSIONS: "sessions";
        readonly REFRESH_TOKENS: "refresh_tokens";
        readonly TENANTS: "tenants";
        readonly TENANT_USERS: "tenant_users";
        readonly PASSWORD_RESETS: "password_resets";
    };
    readonly core: {
        readonly COMPANIES: "companies";
        readonly PARTNERS: "partners";
        readonly CURRENCIES: "currencies";
        readonly COUNTRIES: "countries";
        readonly STATES: "states";
        readonly CITIES: "cities";
        readonly UOM: "units_of_measure";
        readonly UOM_CATEGORIES: "uom_categories";
        readonly SEQUENCES: "sequences";
        readonly ATTACHMENTS: "attachments";
    };
    readonly construction: {
        readonly PROYECTOS: "proyectos";
        readonly FRACCIONAMIENTOS: "fraccionamientos";
        readonly ETAPAS: "etapas";
        readonly MANZANAS: "manzanas";
        readonly LOTES: "lotes";
        readonly TORRES: "torres";
        readonly NIVELES: "niveles";
        readonly DEPARTAMENTOS: "departamentos";
        readonly PROTOTIPOS: "prototipos";
        readonly CONCEPTOS: "conceptos";
        readonly PRESUPUESTOS: "presupuestos";
        readonly PRESUPUESTO_PARTIDAS: "presupuesto_partidas";
        readonly PROGRAMA_OBRA: "programa_obra";
        readonly PROGRAMA_ACTIVIDADES: "programa_actividades";
        readonly AVANCES_OBRA: "avances_obra";
        readonly FOTOS_AVANCE: "fotos_avance";
        readonly BITACORA_OBRA: "bitacora_obra";
        readonly CHECKLISTS: "checklists";
        readonly CHECKLIST_ITEMS: "checklist_items";
        readonly INSPECCIONES: "inspecciones";
        readonly INSPECCION_RESULTADOS: "inspeccion_resultados";
        readonly TICKETS_POSTVENTA: "tickets_postventa";
        readonly SUBCONTRATISTAS: "subcontratistas";
        readonly CONTRATOS: "contratos";
        readonly CONTRATO_PARTIDAS: "contrato_partidas";
    };
    readonly hr: {
        readonly EMPLOYEES: "employees";
        readonly EMPLOYEE_CONSTRUCTION: "employee_construction";
        readonly PUESTOS: "puestos";
        readonly ASISTENCIAS: "asistencias";
        readonly ASISTENCIA_BIOMETRICO: "asistencia_biometrico";
        readonly GEOCERCAS: "geocercas";
        readonly DESTAJO: "destajo";
        readonly DESTAJO_DETALLE: "destajo_detalle";
        readonly CUADRILLAS: "cuadrillas";
        readonly CUADRILLA_MIEMBROS: "cuadrilla_miembros";
        readonly EMPLOYEE_FRACCIONAMIENTOS: "employee_fraccionamientos";
    };
    readonly hse: {
        readonly INCIDENTES: "incidentes";
        readonly INCIDENTE_INVOLUCRADOS: "incidente_involucrados";
        readonly INCIDENTE_ACCIONES: "incidente_acciones";
        readonly INCIDENTE_EVIDENCIAS: "incidente_evidencias";
        readonly INCIDENTE_CAUSAS: "incidente_causas";
        readonly CAPACITACIONES: "capacitaciones";
        readonly CAPACITACION_PARTICIPANTES: "capacitacion_participantes";
        readonly CAPACITACION_MATERIALES: "capacitacion_materiales";
        readonly CERTIFICACIONES: "certificaciones";
        readonly CERTIFICACION_EMPLEADOS: "certificacion_empleados";
        readonly PLAN_CAPACITACION: "plan_capacitacion";
        readonly INSPECCIONES_SEGURIDAD: "inspecciones_seguridad";
        readonly INSPECCION_HALLAZGOS: "inspeccion_hallazgos";
        readonly CHECKLIST_SEGURIDAD: "checklist_seguridad";
        readonly CHECKLIST_SEGURIDAD_ITEMS: "checklist_seguridad_items";
        readonly AREAS_RIESGO: "areas_riesgo";
        readonly RONDAS_SEGURIDAD: "rondas_seguridad";
        readonly RONDA_PUNTOS: "ronda_puntos";
        readonly EPP_CATALOGO: "epp_catalogo";
        readonly EPP_ASIGNACIONES: "epp_asignaciones";
        readonly EPP_ENTREGAS: "epp_entregas";
        readonly EPP_DEVOLUCIONES: "epp_devoluciones";
        readonly EPP_INSPECCIONES: "epp_inspecciones";
        readonly EPP_VIDA_UTIL: "epp_vida_util";
        readonly EPP_STOCK: "epp_stock";
        readonly NORMAS_STPS: "normas_stps";
        readonly REQUISITOS_NORMA: "requisitos_norma";
        readonly CUMPLIMIENTO_NORMA: "cumplimiento_norma";
        readonly AUDITORIAS_STPS: "auditorias_stps";
        readonly AUDITORIA_HALLAZGOS: "auditoria_hallazgos";
        readonly PLANES_ACCION: "planes_accion";
        readonly ACCIONES_CORRECTIVAS: "acciones_correctivas";
        readonly COMISION_SEGURIDAD: "comision_seguridad";
        readonly COMISION_MIEMBROS: "comision_miembros";
        readonly RECORRIDOS_COMISION: "recorridos_comision";
        readonly ACTAS_COMISION: "actas_comision";
        readonly IMPACTOS_AMBIENTALES: "impactos_ambientales";
        readonly RESIDUOS: "residuos";
        readonly RESIDUO_MOVIMIENTOS: "residuo_movimientos";
        readonly MANIFIESTOS_RESIDUOS: "manifiestos_residuos";
        readonly MONITOREO_AMBIENTAL: "monitoreo_ambiental";
        readonly PERMISOS_AMBIENTALES: "permisos_ambientales";
        readonly PROGRAMAS_AMBIENTALES: "programas_ambientales";
        readonly INDICADORES_AMBIENTALES: "indicadores_ambientales";
        readonly EVENTOS_AMBIENTALES: "eventos_ambientales";
        readonly PERMISOS_TRABAJO: "permisos_trabajo";
        readonly PERMISO_RIESGOS: "permiso_riesgos";
        readonly PERMISO_AUTORIZACIONES: "permiso_autorizaciones";
        readonly PERMISOS_ALTURA: "permisos_altura";
        readonly PERMISOS_CALIENTE: "permisos_caliente";
        readonly PERMISOS_CONFINADO: "permisos_confinado";
        readonly PERMISOS_ELECTRICO: "permisos_electrico";
        readonly PERMISOS_EXCAVACION: "permisos_excavacion";
        readonly KPI_CONFIGURACION: "kpi_configuracion";
        readonly KPI_VALORES: "kpi_valores";
        readonly KPI_METAS: "kpi_metas";
        readonly DASHBOARDS_HSE: "dashboards_hse";
        readonly ALERTAS_HSE: "alertas_hse";
        readonly REPORTES_HSE: "reportes_hse";
        readonly ESTADISTICAS_PERIODO: "estadisticas_periodo";
    };
    readonly estimates: {
        readonly ESTIMACIONES: "estimaciones";
        readonly ESTIMACION_CONCEPTOS: "estimacion_conceptos";
        readonly GENERADORES: "generadores";
        readonly ANTICIPOS: "anticipos";
        readonly AMORTIZACIONES: "amortizaciones";
        readonly RETENCIONES: "retenciones";
        readonly FONDO_GARANTIA: "fondo_garantia";
        readonly ESTIMACION_WORKFLOW: "estimacion_workflow";
    };
    readonly infonavit: {
        readonly REGISTRO_INFONAVIT: "registro_infonavit";
        readonly OFERTA_VIVIENDA: "oferta_vivienda";
        readonly DERECHOHABIENTES: "derechohabientes";
        readonly ASIGNACION_VIVIENDA: "asignacion_vivienda";
        readonly ACTAS: "actas";
        readonly ACTA_VIVIENDAS: "acta_viviendas";
        readonly REPORTES_INFONAVIT: "reportes_infonavit";
        readonly HISTORICO_PUNTOS: "historico_puntos";
    };
    readonly inventory: {
        readonly ALMACENES_PROYECTO: "almacenes_proyecto";
        readonly REQUISICIONES_OBRA: "requisiciones_obra";
        readonly REQUISICION_LINEAS: "requisicion_lineas";
        readonly CONSUMOS_OBRA: "consumos_obra";
        readonly PRODUCTS: "products";
        readonly LOCATIONS: "locations";
        readonly STOCK_MOVES: "stock_moves";
        readonly STOCK_QUANTS: "stock_quants";
    };
    readonly purchase: {
        readonly PURCHASE_ORDER_CONSTRUCTION: "purchase_order_construction";
        readonly SUPPLIER_CONSTRUCTION: "supplier_construction";
        readonly COMPARATIVO_COTIZACIONES: "comparativo_cotizaciones";
        readonly COMPARATIVO_PROVEEDORES: "comparativo_proveedores";
        readonly COMPARATIVO_PRODUCTOS: "comparativo_productos";
        readonly PURCHASE_ORDERS: "purchase_orders";
        readonly PURCHASE_ORDER_LINES: "purchase_order_lines";
        readonly SUPPLIERS: "suppliers";
    };
    readonly audit: {
        readonly AUDIT_LOG: "audit_log";
        readonly CHANGE_HISTORY: "change_history";
        readonly USER_ACTIVITY: "user_activity";
    };
};
/**
 * Common Column Names (to avoid hardcoding)
 */
export declare const DB_COLUMNS: {
    readonly ID: "id";
    readonly CREATED_AT: "created_at";
    readonly UPDATED_AT: "updated_at";
    readonly CREATED_BY: "created_by";
    readonly UPDATED_BY: "updated_by";
    readonly DELETED_AT: "deleted_at";
    readonly TENANT_ID: "tenant_id";
    readonly USER_ID: "user_id";
    readonly PROJECT_ID: "proyecto_id";
    readonly FRACCIONAMIENTO_ID: "fraccionamiento_id";
    readonly EMPLOYEE_ID: "employee_id";
    readonly STATUS: "status";
    readonly IS_ACTIVE: "is_active";
    readonly ANALYTIC_ACCOUNT_ID: "analytic_account_id";
};
/**
 * Helper function to get full table name
 */
export declare function getFullTableName(schema: DBSchema, table: string): string;
/**
 * Get schema.table reference
 */
export declare const TABLE_REFS: {
    readonly USERS: string;
    readonly TENANTS: string;
    readonly ROLES: string;
    readonly PROYECTOS: string;
    readonly FRACCIONAMIENTOS: string;
    readonly EMPLOYEES: string;
    readonly INCIDENTES: string;
    readonly CAPACITACIONES: string;
};
//# sourceMappingURL=database.constants.d.ts.map