/**
 * Proyecto Service
 * Servicio para gestión de proyectos de construcción
 *
 * @module Construction
 */
import { Proyecto, EstadoProyecto } from '../entities/proyecto.entity';
export interface CreateProyectoDto {
    tenantId: string;
    codigo: string;
    nombre: string;
    descripcion?: string;
    direccion?: string;
    ciudad?: string;
    estado?: string;
    fechaInicio?: Date;
    fechaFinEstimada?: Date;
    createdById?: string;
}
export interface UpdateProyectoDto {
    nombre?: string;
    descripcion?: string;
    direccion?: string;
    ciudad?: string;
    estado?: string;
    fechaInicio?: Date;
    fechaFinEstimada?: Date;
    estadoProyecto?: EstadoProyecto;
}
export interface ProyectoFilters {
    tenantId: string;
    estadoProyecto?: EstadoProyecto;
    ciudad?: string;
}
export declare class ProyectoService {
    private repository;
    constructor();
    findAll(filters: ProyectoFilters): Promise<Proyecto[]>;
    findById(id: string, tenantId: string): Promise<Proyecto | null>;
    findByCodigo(codigo: string, tenantId: string): Promise<Proyecto | null>;
    create(data: CreateProyectoDto): Promise<Proyecto>;
    update(id: string, tenantId: string, data: UpdateProyectoDto): Promise<Proyecto | null>;
    delete(id: string, tenantId: string): Promise<boolean>;
    getStatistics(tenantId: string): Promise<{
        total: number;
        activos: number;
        completados: number;
        pausados: number;
    }>;
}
//# sourceMappingURL=proyecto.service.d.ts.map