/** * EtapaService - Gestión de etapas de fraccionamientos * * CRUD de etapas con soporte multi-tenant. * * @module Construction */ import { Repository } from 'typeorm'; import { Etapa } from '../entities/etapa.entity'; export interface CreateEtapaDto { fraccionamientoId: string; code: string; name: string; description?: string; sequence?: number; totalLots?: number; status?: string; startDate?: Date; expectedEndDate?: Date; } export interface UpdateEtapaDto extends Partial { actualEndDate?: Date; } export interface EtapaListOptions { tenantId: string; fraccionamientoId?: string; page?: number; limit?: number; search?: string; status?: string; } export declare class EtapaService { private readonly repository; constructor(repository: Repository); /** * Listar etapas */ findAll(options: EtapaListOptions): Promise<{ items: Etapa[]; total: number; }>; /** * Obtener etapa por ID */ findById(id: string, tenantId: string): Promise; /** * Obtener etapa por código dentro de un fraccionamiento */ findByCode(code: string, fraccionamientoId: string, tenantId: string): Promise; /** * Crear etapa */ create(tenantId: string, dto: CreateEtapaDto, createdBy?: string): Promise; /** * Actualizar etapa */ update(id: string, tenantId: string, dto: UpdateEtapaDto, updatedBy?: string): Promise; /** * Eliminar etapa (soft delete) */ delete(id: string, tenantId: string, _deletedBy?: string): Promise; /** * Obtener etapas por fraccionamiento */ findByFraccionamiento(fraccionamientoId: string, tenantId: string): Promise; } //# sourceMappingURL=etapa.service.d.ts.map