/**
 * Fraccionamiento Service
 * Servicio para gestión de fraccionamientos/obras
 *
 * @module Construction
 */
import { Fraccionamiento, EstadoFraccionamiento } from '../entities/fraccionamiento.entity';
export interface CreateFraccionamientoDto {
    tenantId: string;
    proyectoId: string;
    codigo: string;
    nombre: string;
    descripcion?: string;
    direccion?: string;
    ubicacionGeo?: string;
    fechaInicio?: Date;
    fechaFinEstimada?: Date;
    createdById?: string;
}
export interface UpdateFraccionamientoDto {
    nombre?: string;
    descripcion?: string;
    direccion?: string;
    ubicacionGeo?: string;
    fechaInicio?: Date;
    fechaFinEstimada?: Date;
    estado?: EstadoFraccionamiento;
}
export interface FraccionamientoFilters {
    tenantId: string;
    proyectoId?: string;
    estado?: EstadoFraccionamiento;
}
export declare class FraccionamientoService {
    private repository;
    constructor();
    findAll(filters: FraccionamientoFilters): Promise<Fraccionamiento[]>;
    findById(id: string, tenantId: string): Promise<Fraccionamiento | null>;
    findByCodigo(codigo: string, tenantId: string): Promise<Fraccionamiento | null>;
    findByProyecto(proyectoId: string, tenantId: string): Promise<Fraccionamiento[]>;
    create(data: CreateFraccionamientoDto): Promise<Fraccionamiento>;
    update(id: string, tenantId: string, data: UpdateFraccionamientoDto): Promise<Fraccionamiento | null>;
    delete(id: string, tenantId: string): Promise<boolean>;
    countByProyecto(proyectoId: string, tenantId: string): Promise<number>;
}
//# sourceMappingURL=fraccionamiento.service.d.ts.map