import { Section, SectionDocument } from './schemas/section.schema';
import { StudentDocument } from '../students/schemas/student.schema';
import { ClassDocument } from '../classes/schemas/class.schema';
import { TeacherDocument } from '../teachers/schemas/teacher.schema';
import { Model } from 'mongoose';
import { CreateSectionDto } from './dto/create-section.dto';
import { UpdateSectionDto } from './dto/update-section.dto';
export declare class SectionsService {
    private sectionModel;
    private studentModel;
    private classModel;
    private teacherModel;
    constructor(sectionModel: Model<SectionDocument>, studentModel: Model<StudentDocument>, classModel: Model<ClassDocument>, teacherModel: Model<TeacherDocument>);
    private norm;
    private lc;
    private formatSectionName;
    private handleDup;
    create(dto: CreateSectionDto): Promise<import("mongoose").FlattenMaps<Section & import("mongoose").Document<unknown, any, any, Record<string, any>> & Required<{
        _id: string;
    }>> | undefined>;
    findAll(): Promise<(import("mongoose").FlattenMaps<SectionDocument> & Required<{
        _id: string;
    }>)[]>;
    findByClass(classId: string): Promise<(import("mongoose").FlattenMaps<SectionDocument> & Required<{
        _id: string;
    }>)[]>;
    findOne(id: string): Promise<(import("mongoose").FlattenMaps<SectionDocument> & Required<{
        _id: string;
    }>) | null>;
    update(id: string, dto: UpdateSectionDto): Promise<(import("mongoose").FlattenMaps<SectionDocument> & Required<{
        _id: string;
    }>) | null | undefined>;
    delete(id: string): Promise<(import("mongoose").FlattenMaps<SectionDocument> & Required<{
        _id: string;
    }>) | null>;
}
