import { Repository } from 'typeorm';
import { Sesion } from './entities/sesion.entity';
import { RendimientoDeportistaSesion } from './entities/rendimiento-deportista-sesion.entity';
import { CreateSesionDto } from './dto/create-sesion.dto';
import { UpdateSesionDto } from './dto/update-sesion.dto';
import { CreateRendimientoDeportistaSesionDto } from './dto/create-rendimiento-deportista-sesion.dto';
import { UpdateRendimientoDeportistaSesionDto } from './dto/update-rendimiento-deportista-sesion.dto';
export declare class SesionesService {
    private readonly sesionRepository;
    private readonly rendimientoRepository;
    constructor(sesionRepository: Repository<Sesion>, rendimientoRepository: Repository<RendimientoDeportistaSesion>);
    createSesion(createSesionDto: CreateSesionDto): Promise<Sesion>;
    findAllSesiones(equipoId?: number, tipoSesion?: string, tipoDeporte?: string, fechaInicio?: string, fechaFin?: string): Promise<Sesion[]>;
    findOneSesion(id: number): Promise<Sesion>;
    findSesionesByEquipo(equipoId: number, limit?: number): Promise<Sesion[]>;
    updateSesion(id: number, updateSesionDto: UpdateSesionDto): Promise<Sesion>;
    removeSesion(id: number): Promise<void>;
    createRendimiento(createRendimientoDto: CreateRendimientoDeportistaSesionDto): Promise<RendimientoDeportistaSesion>;
    createRendimientosMultiples(sesionId: number, rendimientos: CreateRendimientoDeportistaSesionDto[]): Promise<RendimientoDeportistaSesion[]>;
    findRendimientosBySesion(sesionId: number): Promise<RendimientoDeportistaSesion[]>;
    findRendimientosByDeportista(deportistaId: number, limit?: number): Promise<RendimientoDeportistaSesion[]>;
    findOneRendimiento(id: number): Promise<RendimientoDeportistaSesion>;
    updateRendimiento(id: number, updateRendimientoDto: UpdateRendimientoDeportistaSesionDto): Promise<RendimientoDeportistaSesion>;
    removeRendimiento(id: number): Promise<void>;
    getEstadisticasDeportista(deportistaId: number, tipoDeporte?: string): Promise<any>;
    getEstadisticasEquipo(equipoId: number, fechaInicio?: string, fechaFin?: string): Promise<any>;
}
