import { Class, ClassDocument } from './schemas/class.schema';
import { SectionDocument } from '../sections/schemas/section.schema';
import { StudentDocument } from '../students/schemas/student.schema';
import { Model } from 'mongoose';
import { CreateClassDto } from './dto/create-class.dto';
import { UpdateClassDto } from './dto/update-class.dto';
export declare class ClassesService {
    private classModel;
    private sectionModel;
    private studentModel;
    constructor(classModel: Model<ClassDocument>, sectionModel: Model<SectionDocument>, studentModel: Model<StudentDocument>);
    private lc;
    private handleDup;
    create(dto: CreateClassDto): Promise<import("mongoose").FlattenMaps<Class & import("mongoose").Document<unknown, any, any, Record<string, any>> & Required<{
        _id: string;
    }>> | undefined>;
    findAll(): Promise<(import("mongoose").FlattenMaps<ClassDocument> & Required<{
        _id: string;
    }>)[]>;
    findOne(id: string): Promise<(import("mongoose").FlattenMaps<ClassDocument> & Required<{
        _id: string;
    }>) | null>;
    update(id: string, dto: UpdateClassDto): Promise<(import("mongoose").FlattenMaps<ClassDocument> & Required<{
        _id: string;
    }>) | null | undefined>;
    delete(id: string): Promise<(import("mongoose").FlattenMaps<ClassDocument> & Required<{
        _id: string;
    }>) | null>;
    findNextClass(id: string): Promise<(import("mongoose").FlattenMaps<ClassDocument> & Required<{
        _id: string;
    }>) | null>;
}
