/**
 * Enums Constants - SSOT (Single Source of Truth)
 *
 * Todos los enums del sistema. Estos se sincronizan automaticamente
 * al frontend usando el script sync-enums.ts
 *
 * @module @shared/constants/enums
 */
/**
 * Roles del sistema de construccion
 */
export declare const ROLES: {
    readonly SUPER_ADMIN: "super_admin";
    readonly ADMIN: "admin";
    readonly DIRECTOR_GENERAL: "director_general";
    readonly DIRECTOR_PROYECTOS: "director_proyectos";
    readonly DIRECTOR_CONSTRUCCION: "director_construccion";
    readonly GERENTE_ADMINISTRATIVO: "gerente_administrativo";
    readonly GERENTE_OPERACIONES: "gerente_operaciones";
    readonly INGENIERO_RESIDENTE: "ingeniero_residente";
    readonly INGENIERO_COSTOS: "ingeniero_costos";
    readonly CONTROL_OBRA: "control_obra";
    readonly PLANEADOR: "planeador";
    readonly SUPERVISOR_OBRA: "supervisor_obra";
    readonly SUPERVISOR_HSE: "supervisor_hse";
    readonly SUPERVISOR_CALIDAD: "supervisor_calidad";
    readonly COMPRAS: "compras";
    readonly ALMACENISTA: "almacenista";
    readonly RRHH: "rrhh";
    readonly NOMINA: "nomina";
    readonly CONTADOR: "contador";
    readonly TESORERO: "tesorero";
    readonly POSTVENTA: "postventa";
    readonly SUBCONTRATISTA: "subcontratista";
    readonly PROVEEDOR: "proveedor";
    readonly DERECHOHABIENTE: "derechohabiente";
    readonly VIEWER: "viewer";
};
export type Role = typeof ROLES[keyof typeof ROLES];
/**
 * Estados de cuenta de usuario
 */
export declare const USER_STATUS: {
    readonly ACTIVE: "active";
    readonly INACTIVE: "inactive";
    readonly PENDING: "pending";
    readonly SUSPENDED: "suspended";
    readonly BLOCKED: "blocked";
};
export type UserStatus = typeof USER_STATUS[keyof typeof USER_STATUS];
/**
 * Estados de proyecto
 */
export declare const PROJECT_STATUS: {
    readonly DRAFT: "draft";
    readonly PLANNING: "planning";
    readonly BIDDING: "bidding";
    readonly AWARDED: "awarded";
    readonly ACTIVE: "active";
    readonly PAUSED: "paused";
    readonly COMPLETED: "completed";
    readonly CANCELLED: "cancelled";
};
export type ProjectStatus = typeof PROJECT_STATUS[keyof typeof PROJECT_STATUS];
/**
 * Tipos de proyecto
 */
export declare const PROJECT_TYPE: {
    readonly HORIZONTAL: "horizontal";
    readonly VERTICAL: "vertical";
    readonly MIXED: "mixed";
    readonly INFRASTRUCTURE: "infrastructure";
};
export type ProjectType = typeof PROJECT_TYPE[keyof typeof PROJECT_TYPE];
/**
 * Estados de fraccionamiento
 */
export declare const FRACCIONAMIENTO_STATUS: {
    readonly ACTIVE: "activo";
    readonly PAUSED: "pausado";
    readonly COMPLETED: "completado";
    readonly CANCELLED: "cancelado";
};
export type FraccionamientoStatus = typeof FRACCIONAMIENTO_STATUS[keyof typeof FRACCIONAMIENTO_STATUS];
/**
 * Estados de lote
 */
export declare const LOT_STATUS: {
    readonly AVAILABLE: "disponible";
    readonly RESERVED: "apartado";
    readonly SOLD: "vendido";
    readonly IN_CONSTRUCTION: "en_construccion";
    readonly DELIVERED: "entregado";
    readonly WARRANTY: "en_garantia";
};
export type LotStatus = typeof LOT_STATUS[keyof typeof LOT_STATUS];
/**
 * Tipos de concepto de obra
 */
export declare const CONCEPT_TYPE: {
    readonly MATERIAL: "material";
    readonly LABOR: "mano_obra";
    readonly EQUIPMENT: "equipo";
    readonly SUBCONTRACT: "subcontrato";
    readonly INDIRECT: "indirecto";
    readonly OVERHEAD: "overhead";
    readonly UTILITY: "utilidad";
};
export type ConceptType = typeof CONCEPT_TYPE[keyof typeof CONCEPT_TYPE];
/**
 * Estados de presupuesto
 */
export declare const BUDGET_STATUS: {
    readonly DRAFT: "borrador";
    readonly SUBMITTED: "enviado";
    readonly APPROVED: "aprobado";
    readonly CONTRACTED: "contratado";
    readonly CLOSED: "cerrado";
};
export type BudgetStatus = typeof BUDGET_STATUS[keyof typeof BUDGET_STATUS];
/**
 * Estados de orden de compra
 */
export declare const PURCHASE_ORDER_STATUS: {
    readonly DRAFT: "borrador";
    readonly SUBMITTED: "enviado";
    readonly APPROVED: "aprobado";
    readonly CONFIRMED: "confirmado";
    readonly PARTIAL: "parcial";
    readonly RECEIVED: "recibido";
    readonly CANCELLED: "cancelado";
};
export type PurchaseOrderStatus = typeof PURCHASE_ORDER_STATUS[keyof typeof PURCHASE_ORDER_STATUS];
/**
 * Estados de requisicion
 */
export declare const REQUISITION_STATUS: {
    readonly DRAFT: "borrador";
    readonly SUBMITTED: "enviado";
    readonly APPROVED: "aprobado";
    readonly REJECTED: "rechazado";
    readonly ORDERED: "ordenado";
    readonly CLOSED: "cerrado";
};
export type RequisitionStatus = typeof REQUISITION_STATUS[keyof typeof REQUISITION_STATUS];
/**
 * Tipos de movimiento de inventario
 */
export declare const STOCK_MOVE_TYPE: {
    readonly INCOMING: "entrada";
    readonly OUTGOING: "salida";
    readonly TRANSFER: "traspaso";
    readonly ADJUSTMENT: "ajuste";
    readonly RETURN: "devolucion";
    readonly CONSUMPTION: "consumo";
};
export type StockMoveType = typeof STOCK_MOVE_TYPE[keyof typeof STOCK_MOVE_TYPE];
/**
 * Estados de estimacion
 */
export declare const ESTIMATION_STATUS: {
    readonly DRAFT: "borrador";
    readonly IN_REVIEW: "en_revision";
    readonly SUBMITTED: "enviado";
    readonly CLIENT_REVIEW: "revision_cliente";
    readonly APPROVED: "aprobado";
    readonly REJECTED: "rechazado";
    readonly PAID: "pagado";
    readonly CANCELLED: "cancelado";
};
export type EstimationStatus = typeof ESTIMATION_STATUS[keyof typeof ESTIMATION_STATUS];
/**
 * Tipos de retencion
 */
export declare const RETENTION_TYPE: {
    readonly WARRANTY: "garantia";
    readonly ADVANCE_AMORTIZATION: "amortizacion_anticipo";
    readonly IMSS: "imss";
    readonly ISR: "isr";
    readonly OTHER: "otro";
};
export type RetentionType = typeof RETENTION_TYPE[keyof typeof RETENTION_TYPE];
/**
 * Severidad de incidente
 */
export declare const INCIDENT_SEVERITY: {
    readonly LOW: "bajo";
    readonly MEDIUM: "medio";
    readonly HIGH: "alto";
    readonly CRITICAL: "critico";
    readonly FATAL: "fatal";
};
export type IncidentSeverity = typeof INCIDENT_SEVERITY[keyof typeof INCIDENT_SEVERITY];
/**
 * Tipos de incidente
 */
export declare const INCIDENT_TYPE: {
    readonly ACCIDENT: "accidente";
    readonly NEAR_MISS: "casi_accidente";
    readonly UNSAFE_CONDITION: "condicion_insegura";
    readonly UNSAFE_ACT: "acto_inseguro";
    readonly FIRST_AID: "primeros_auxilios";
    readonly ENVIRONMENTAL: "ambiental";
};
export type IncidentType = typeof INCIDENT_TYPE[keyof typeof INCIDENT_TYPE];
/**
 * Estados de incidente
 */
export declare const INCIDENT_STATUS: {
    readonly REPORTED: "reportado";
    readonly UNDER_INVESTIGATION: "en_investigacion";
    readonly PENDING_ACTIONS: "pendiente_acciones";
    readonly ACTIONS_IN_PROGRESS: "acciones_en_progreso";
    readonly CLOSED: "cerrado";
};
export type IncidentStatus = typeof INCIDENT_STATUS[keyof typeof INCIDENT_STATUS];
/**
 * Tipos de capacitacion
 */
export declare const TRAINING_TYPE: {
    readonly INDUCTION: "induccion";
    readonly SAFETY: "seguridad";
    readonly TECHNICAL: "tecnico";
    readonly REGULATORY: "normativo";
    readonly REFRESHER: "actualizacion";
    readonly CERTIFICATION: "certificacion";
};
export type TrainingType = typeof TRAINING_TYPE[keyof typeof TRAINING_TYPE];
/**
 * Tipos de permiso de trabajo
 */
export declare const WORK_PERMIT_TYPE: {
    readonly HOT_WORK: "trabajo_caliente";
    readonly CONFINED_SPACE: "espacio_confinado";
    readonly HEIGHT_WORK: "trabajo_altura";
    readonly ELECTRICAL: "electrico";
    readonly EXCAVATION: "excavacion";
    readonly LIFTING: "izaje";
};
export type WorkPermitType = typeof WORK_PERMIT_TYPE[keyof typeof WORK_PERMIT_TYPE];
/**
 * Tipos de empleado
 */
export declare const EMPLOYEE_TYPE: {
    readonly PERMANENT: "planta";
    readonly TEMPORARY: "temporal";
    readonly CONTRACTOR: "contratista";
    readonly INTERN: "practicante";
};
export type EmployeeType = typeof EMPLOYEE_TYPE[keyof typeof EMPLOYEE_TYPE];
/**
 * Tipos de asistencia
 */
export declare const ATTENDANCE_TYPE: {
    readonly CHECK_IN: "entrada";
    readonly CHECK_OUT: "salida";
    readonly BREAK_START: "inicio_descanso";
    readonly BREAK_END: "fin_descanso";
};
export type AttendanceType = typeof ATTENDANCE_TYPE[keyof typeof ATTENDANCE_TYPE];
/**
 * Metodos de validacion de asistencia
 */
export declare const ATTENDANCE_VALIDATION: {
    readonly GPS: "gps";
    readonly BIOMETRIC: "biometrico";
    readonly QR: "qr";
    readonly MANUAL: "manual";
    readonly NFC: "nfc";
};
export type AttendanceValidation = typeof ATTENDANCE_VALIDATION[keyof typeof ATTENDANCE_VALIDATION];
/**
 * Estados de asignacion INFONAVIT
 */
export declare const INFONAVIT_ASSIGNMENT_STATUS: {
    readonly AVAILABLE: "disponible";
    readonly IN_PROCESS: "en_proceso";
    readonly ASSIGNED: "asignado";
    readonly DOCUMENTED: "documentado";
    readonly REGISTERED: "registrado";
    readonly DELIVERED: "entregado";
};
export type InfonavitAssignmentStatus = typeof INFONAVIT_ASSIGNMENT_STATUS[keyof typeof INFONAVIT_ASSIGNMENT_STATUS];
/**
 * Programas INFONAVIT
 */
export declare const INFONAVIT_PROGRAM: {
    readonly TRADICIONAL: "tradicional";
    readonly COFINAVIT: "cofinavit";
    readonly APOYO_INFONAVIT: "apoyo_infonavit";
    readonly UNAMOS_CREDITOS: "unamos_creditos";
    readonly MEJORAVIT: "mejoravit";
};
export type InfonavitProgram = typeof INFONAVIT_PROGRAM[keyof typeof INFONAVIT_PROGRAM];
/**
 * Estados de ticket postventa
 */
export declare const TICKET_STATUS: {
    readonly OPEN: "abierto";
    readonly IN_PROGRESS: "en_proceso";
    readonly PENDING_CUSTOMER: "pendiente_cliente";
    readonly PENDING_PARTS: "pendiente_refacciones";
    readonly RESOLVED: "resuelto";
    readonly CLOSED: "cerrado";
};
export type TicketStatus = typeof TICKET_STATUS[keyof typeof TICKET_STATUS];
/**
 * Prioridad de ticket
 */
export declare const TICKET_PRIORITY: {
    readonly LOW: "baja";
    readonly MEDIUM: "media";
    readonly HIGH: "alta";
    readonly URGENT: "urgente";
};
export type TicketPriority = typeof TICKET_PRIORITY[keyof typeof TICKET_PRIORITY];
/**
 * Estados de documento
 */
export declare const DOCUMENT_STATUS: {
    readonly DRAFT: "borrador";
    readonly PENDING_REVIEW: "pendiente_revision";
    readonly APPROVED: "aprobado";
    readonly REJECTED: "rechazado";
    readonly OBSOLETE: "obsoleto";
};
export type DocumentStatus = typeof DOCUMENT_STATUS[keyof typeof DOCUMENT_STATUS];
/**
 * Tipos de documento
 */
export declare const DOCUMENT_TYPE: {
    readonly PLAN: "plano";
    readonly CONTRACT: "contrato";
    readonly PERMIT: "permiso";
    readonly CERTIFICATE: "certificado";
    readonly REPORT: "reporte";
    readonly PHOTO: "fotografia";
    readonly OTHER: "otro";
};
export type DocumentType = typeof DOCUMENT_TYPE[keyof typeof DOCUMENT_TYPE];
/**
 * Acciones de workflow
 */
export declare const WORKFLOW_ACTION: {
    readonly SUBMIT: "submit";
    readonly APPROVE: "approve";
    readonly REJECT: "reject";
    readonly RETURN: "return";
    readonly CANCEL: "cancel";
    readonly REOPEN: "reopen";
};
export type WorkflowAction = typeof WORKFLOW_ACTION[keyof typeof WORKFLOW_ACTION];
/**
 * Tipos de accion de auditoria
 */
export declare const AUDIT_ACTION: {
    readonly CREATE: "create";
    readonly UPDATE: "update";
    readonly DELETE: "delete";
    readonly VIEW: "view";
    readonly EXPORT: "export";
    readonly LOGIN: "login";
    readonly LOGOUT: "logout";
};
export type AuditAction = typeof AUDIT_ACTION[keyof typeof AUDIT_ACTION];
//# sourceMappingURL=enums.constants.d.ts.map