import { Model } from "mongoose";
import { ExerciseDocument } from "./schemas/exercise.schema";
import { ExerciseCategoryDocument } from "./schemas/exercise-category.schema";
import { CreateExerciseDto } from "./dto/create-exercise.dto";
import { UpdateExerciseDto } from "./dto/update-exercise.dto";
import { CreateExerciseCategoryDto } from "./dto/create-exercise-category.dto";
import { UpdateExerciseCategoryDto } from "./dto/update-exercise-category.dto";
import { Request, Response } from "express";
import { ResponseService } from "src/common/service/response.service";
export declare class ExerciseService {
    private exerciseModel;
    private categoryModel;
    private readonly resService;
    constructor(exerciseModel: Model<ExerciseDocument>, categoryModel: Model<ExerciseCategoryDocument>, resService: ResponseService);
    createCategory(body: CreateExerciseCategoryDto, req: Request, res: Response): Promise<Response<any, Record<string, any>>>;
    getAllCategories(req: Request, res: Response): Promise<Response<any, Record<string, any>>>;
    getCategoryById(id: string, req: Request, res: Response): Promise<Response<any, Record<string, any>>>;
    updateCategory(id: string, body: UpdateExerciseCategoryDto, req: Request, res: Response): Promise<Response<any, Record<string, any>>>;
    deleteCategory(id: string, req: Request, res: Response): Promise<Response<any, Record<string, any>>>;
    createExercise(body: CreateExerciseDto, req: Request, res: Response): Promise<Response<any, Record<string, any>>>;
    getAllExercisesNoPagination(req: Request, res: Response, categoryId?: string): Promise<Response<any, Record<string, any>>>;
    getAllExercises(req: Request, res: Response, page: number, limit: number, search: string, status: string, categoryId?: string): Promise<Response<any, Record<string, any>>>;
    getExerciseById(id: string, req: Request, res: Response): Promise<Response<any, Record<string, any>>>;
    updateExercise(id: string, body: UpdateExerciseDto, req: Request, res: Response): Promise<Response<any, Record<string, any>>>;
    deleteExercise(id: string, req: Request, res: Response): Promise<Response<any, Record<string, any>>>;
}
