import { Repository } from "typeorm";
import { OrdenTrabajo } from "../ots/entities/orden-trabajo.entity";
import { Vehiculo } from "../vehiculos/entities/vehiculo.entity";
export declare class HistorialService {
    private otRepository;
    private vehiculoRepository;
    constructor(otRepository: Repository<OrdenTrabajo>, vehiculoRepository: Repository<Vehiculo>);
    getHistorialByCliente(clienteTarjeta: string): Promise<{
        clienteTarjeta: string;
        totalOts: number;
        totalCotizado: number;
        vehiculos: Vehiculo[];
        ots: {
            id: number;
            numeroOt: string;
            fechaEntrada: Date;
            fechaSalida: Date;
            estado: import("../ots/entities/orden-trabajo.entity").EstadoOT;
            km: number;
            requerimientoCliente: string;
            observaciones: string;
            vehiculo: {
                placa: string;
                marca: string;
                modelo: string;
                anio: number;
                color: string;
            } | null;
            totalCotizacion: number;
            cotizacion: {
                id: number;
                numeroCotizacion: string;
                estado: import("../cotizaciones/entities/cotizacion.entity").EstadoCotizacion;
                subtotal: number;
                iva: number;
                total: number;
                lineas: {
                    id: number;
                    plu: string;
                    descripcion: string;
                    cantidad: number;
                    total: number;
                    esServicio: boolean;
                }[];
            } | null;
            evidencia: {
                fotos: {
                    id: number;
                    tipo: import("../ots/entities/ot-foto.entity").TipoFoto;
                    url: string;
                    descripcion: string;
                    createdAt: Date;
                }[];
                danos: {
                    id: number;
                    zona: string;
                    descripcion: string;
                    posicionX: number;
                    posicionY: number;
                    fotoUrl: string;
                    tipo: {
                        id: number;
                        nombre: string;
                        color: string;
                    } | null;
                }[];
                firmaCliente: {
                    url: string;
                    nombre: string | null;
                    fecha: Date;
                } | null;
                firmaRecepcion: {
                    url: string;
                    nombre: string | null;
                    fecha: Date;
                } | null;
                pdfEscaner: string | null;
            };
            resumen: {
                totalFotos: number;
                totalDanos: number;
                tieneFirmas: boolean;
                tienePdf: boolean;
            };
            accesos: {
                detalle: string;
                danos: string;
                fotos: string;
                firmas: string;
                cotizacion: string;
            };
        }[];
    }>;
    getHistorialByPlaca(placa: string): Promise<{
        placa: string;
        vehiculo: null;
        totalOts: number;
        totalCotizado: number;
        ots: never[];
        kmRecorridos?: undefined;
        ultimoKm?: undefined;
    } | {
        placa: string;
        vehiculo: {
            id: number;
            placa: string;
            marca: string;
            modelo: string;
            anio: number;
            motor: string;
            color: string;
            tipoVehiculo: string;
            clienteId: string;
        };
        totalOts: number;
        totalCotizado: number;
        kmRecorridos: number;
        ultimoKm: number;
        ots: {
            id: number;
            numeroOt: string;
            fechaEntrada: Date;
            fechaSalida: Date;
            estado: import("../ots/entities/orden-trabajo.entity").EstadoOT;
            km: number;
            requerimientoCliente: string;
            observaciones: string;
            vehiculo: {
                placa: string;
                marca: string;
                modelo: string;
                anio: number;
                color: string;
            } | null;
            totalCotizacion: number;
            cotizacion: {
                id: number;
                numeroCotizacion: string;
                estado: import("../cotizaciones/entities/cotizacion.entity").EstadoCotizacion;
                subtotal: number;
                iva: number;
                total: number;
                lineas: {
                    id: number;
                    plu: string;
                    descripcion: string;
                    cantidad: number;
                    total: number;
                    esServicio: boolean;
                }[];
            } | null;
            evidencia: {
                fotos: {
                    id: number;
                    tipo: import("../ots/entities/ot-foto.entity").TipoFoto;
                    url: string;
                    descripcion: string;
                    createdAt: Date;
                }[];
                danos: {
                    id: number;
                    zona: string;
                    descripcion: string;
                    posicionX: number;
                    posicionY: number;
                    fotoUrl: string;
                    tipo: {
                        id: number;
                        nombre: string;
                        color: string;
                    } | null;
                }[];
                firmaCliente: {
                    url: string;
                    nombre: string | null;
                    fecha: Date;
                } | null;
                firmaRecepcion: {
                    url: string;
                    nombre: string | null;
                    fecha: Date;
                } | null;
                pdfEscaner: string | null;
            };
            resumen: {
                totalFotos: number;
                totalDanos: number;
                tieneFirmas: boolean;
                tienePdf: boolean;
            };
            accesos: {
                detalle: string;
                danos: string;
                fotos: string;
                firmas: string;
                cotizacion: string;
            };
        }[];
    }>;
    private toHistorialOt;
}
