/** * DerechohabienteService - Servicio de gestión de derechohabientes INFONAVIT * * Gestión de trabajadores con crédito INFONAVIT. * * @module Infonavit */ import { Repository } from 'typeorm'; import { Derechohabiente, DerechohabienteStatus } from '../entities/derechohabiente.entity'; import { HistoricoPuntos } from '../entities/historico-puntos.entity'; import { ServiceContext, PaginatedResult } from '../../../shared/services/base.service'; export interface CreateDerechohabienteDto { nss: string; curp: string; rfc?: string; firstName: string; lastName: string; secondLastName?: string; phone?: string; email?: string; address?: string; creditPoints?: number; notes?: string; } export interface UpdateDerechohabienteDto { phone?: string; email?: string; address?: string; notes?: string; } export interface PrecalificationDto { precalificationDate: Date; precalificationAmount: number; creditType: string; creditPoints: number; } export interface DerechohabienteFilters { nss?: string; curp?: string; status?: DerechohabienteStatus; search?: string; minPoints?: number; } export declare class DerechohabienteService { private readonly derechohabienteRepository; private readonly historicoPuntosRepository; constructor(derechohabienteRepository: Repository, historicoPuntosRepository: Repository); findWithFilters(ctx: ServiceContext, filters?: DerechohabienteFilters, page?: number, limit?: number): Promise>; findById(ctx: ServiceContext, id: string): Promise; findByNss(ctx: ServiceContext, nss: string): Promise; findWithDetails(ctx: ServiceContext, id: string): Promise; create(ctx: ServiceContext, dto: CreateDerechohabienteDto): Promise; update(ctx: ServiceContext, id: string, dto: UpdateDerechohabienteDto): Promise; updatePoints(ctx: ServiceContext, id: string, newPoints: number, source: string, notes?: string): Promise; precalify(ctx: ServiceContext, id: string, dto: PrecalificationDto): Promise; qualify(ctx: ServiceContext, id: string): Promise; softDelete(ctx: ServiceContext, id: string): Promise; getPointsHistory(ctx: ServiceContext, derechohabienteId: string): Promise; } //# sourceMappingURL=derechohabiente.service.d.ts.map