import { Repository } from "typeorm";
import { CreateCatalogoVehicularDto } from "./dto/create-catalogo-vehicular.dto";
import { CosaTrae } from "./entities/cosa-trae.entity";
import { CatalogoVehicular, CatalogoVehicularTipo } from "./entities/catalogo-vehicular.entity";
import { TipoDano } from "./entities/tipo-dano.entity";
import { TipoVehiculo } from "./entities/tipo-vehiculo.entity";
export declare class CatalogosService {
    private tipoVehiculoRepo;
    private cosaTraeRepo;
    private tipoDanoRepo;
    private catalogoVehicularRepo;
    constructor(tipoVehiculoRepo: Repository<TipoVehiculo>, cosaTraeRepo: Repository<CosaTrae>, tipoDanoRepo: Repository<TipoDano>, catalogoVehicularRepo: Repository<CatalogoVehicular>);
    private normalize;
    private normalizeKey;
    private ensureTipoVehiculoId;
    private ensureTipoVehiculoActivo;
    private findActiveVehicular;
    private hasActiveChildren;
    private resolveVehicularPayload;
    findAllTiposVehiculo(): Promise<TipoVehiculo[]>;
    createTipoVehiculo(data: Partial<TipoVehiculo>, userId?: number): Promise<TipoVehiculo>;
    updateTipoVehiculo(id: number, data: Partial<TipoVehiculo>, userId?: number): Promise<TipoVehiculo>;
    inactivateTipoVehiculo(id: number, userId?: number): Promise<TipoVehiculo>;
    findAllCosasTrae(): Promise<CosaTrae[]>;
    createCosaTrae(data: Partial<CosaTrae>): Promise<CosaTrae>;
    updateCosaTrae(id: number, data: Partial<CosaTrae>): Promise<CosaTrae>;
    inactivateCosaTrae(id: number): Promise<CosaTrae>;
    findAllTiposDano(): Promise<TipoDano[]>;
    createTipoDano(data: Partial<TipoDano>): Promise<TipoDano>;
    updateTipoDano(id: number, data: Partial<TipoDano>): Promise<TipoDano>;
    inactivateTipoDano(id: number): Promise<TipoDano>;
    listCatalogosVehiculares(tipo: CatalogoVehicularTipo, filters?: {
        marca?: string;
        modelo?: string;
        motor?: string;
        tipoVehiculoId?: number;
    }): Promise<CatalogoVehicular[]>;
    createCatalogoVehicular(dto: CreateCatalogoVehicularDto): Promise<CatalogoVehicular>;
    updateCatalogoVehicular(id: number, dto: Partial<CreateCatalogoVehicularDto>): Promise<CatalogoVehicular>;
    inactivateCatalogoVehicular(id: number): Promise<CatalogoVehicular>;
    seedCatalogos(): Promise<{
        ok: boolean;
    }>;
}
