import { CoursesService } from './courses.service';
import { CreateCourseDto } from './dto/create-course.dto';
import { UpdateCourseDto } from './dto/update-course.dto';
import { UpdatePublishStatusDto } from './dto/update-publish-status.dto';
import { JwtService } from '@nestjs/jwt';
export declare class CoursesController {
    private coursesService;
    private jwtService;
    constructor(coursesService: CoursesService, jwtService: JwtService);
    create(dto: CreateCourseDto, req: any, files: {
        courseImage?: Express.Multer.File[];
        courseVideo?: Express.Multer.File[];
    }): Promise<import("./course.entity").Course>;
    findAll(req: any): Promise<any[]>;
    courseContent(req: any, courseId: number): Promise<any>;
    update(id: string, dto: UpdateCourseDto, req: any, files: {
        courseImage?: Express.Multer.File[];
        courseVideo?: Express.Multer.File[];
    }): Promise<import("./course.entity").Course>;
    remove(id: string, req: any): Promise<{
        message: string;
    }>;
    getTrainerProfile(trainerId: number): Promise<{
        trainer: {
            id: number;
            name: any;
            email: string;
            phone: string;
            gender: string;
        };
        courses: {
            id: number;
            title: string;
            description: string;
            level: string;
            duration: string;
            price: number;
            discountPrice: number | null;
            ratingAvg: string;
            ratingCount: number;
            isPublished: boolean;
            courseImage: string | null;
            courseVideo: string | null;
            lessonsCount: number;
        }[];
    }>;
    updatePublishStatus(id: number, dto: UpdatePublishStatusDto, req: any): Promise<import("./course.entity").Course | {
        message: string;
        status: string;
    }>;
    approvePublish(token: string): Promise<string>;
    rejectPublish(token: string): Promise<string>;
}
