import { DashboardService } from './dashboard.service';
import { Role } from 'src/common/roles/role.enum';
export declare class DashboardController {
    private readonly dashboardService;
    constructor(dashboardService: DashboardService);
    getAdminOverview(ay?: string): Promise<{
        scope: {
            academicYearId: string;
        };
        totalStudents: number;
        totalTeachers: number;
        totalClasses: number;
        totalSections: number;
        activeAcademicYear: string;
        genderBreakdown: {
            male: number;
            female: number;
        };
    } | {
        scope: {
            academicYearId: null;
        };
        totalStudents: number;
        totalTeachers: number;
        totalClasses: number;
        totalSections: number;
        activeAcademicYear: string;
        genderBreakdown: {
            male: number;
            female: number;
        };
    }>;
    getTeacherOverview(teacherId: string, ay?: string): Promise<{
        scope: {
            academicYearId: string;
        };
        totalAssignedSections: number;
        assignedSections: {
            sectionId: string;
            name: string;
            classId: string;
            className: string | null;
        }[];
        totalStudentsInAssignedSections: number;
        genderBreakdown: {
            male: number;
            female: number;
        };
    } | {
        scope: {
            academicYearId: null;
        };
        totalAssignedSections: number;
        assignedSections: {
            sectionId: string;
            name: string;
            classId: string;
            className: string | null;
        }[];
        totalStudentsInAssignedSections: number;
        genderBreakdown: {
            male: number;
            female: number;
        };
    }>;
    getStudentOverview(studentId: string, ay?: string): Promise<{
        scope: {
            academicYearId: string | null;
        };
        name: string;
        email: string | undefined;
        rollNumber: string;
        gender: string;
        guardianName: string | undefined;
        phone: string | undefined;
        class: string;
        section: string;
        academicYear: string;
        attendanceSummary: {
            present: number;
            absent: number;
            total: number;
        };
    }>;
    getMyOverview(id: string, role: Role, ay?: string): Promise<{
        scope: {
            academicYearId: string;
        };
        totalStudents: number;
        totalTeachers: number;
        totalClasses: number;
        totalSections: number;
        activeAcademicYear: string;
        genderBreakdown: {
            male: number;
            female: number;
        };
    } | {
        scope: {
            academicYearId: null;
        };
        totalStudents: number;
        totalTeachers: number;
        totalClasses: number;
        totalSections: number;
        activeAcademicYear: string;
        genderBreakdown: {
            male: number;
            female: number;
        };
    }> | Promise<{
        scope: {
            academicYearId: string;
        };
        totalAssignedSections: number;
        assignedSections: {
            sectionId: string;
            name: string;
            classId: string;
            className: string | null;
        }[];
        totalStudentsInAssignedSections: number;
        genderBreakdown: {
            male: number;
            female: number;
        };
    } | {
        scope: {
            academicYearId: null;
        };
        totalAssignedSections: number;
        assignedSections: {
            sectionId: string;
            name: string;
            classId: string;
            className: string | null;
        }[];
        totalStudentsInAssignedSections: number;
        genderBreakdown: {
            male: number;
            female: number;
        };
    }> | Promise<{
        scope: {
            academicYearId: string | null;
        };
        name: string;
        email: string | undefined;
        rollNumber: string;
        gender: string;
        guardianName: string | undefined;
        phone: string | undefined;
        class: string;
        section: string;
        academicYear: string;
        attendanceSummary: {
            present: number;
            absent: number;
            total: number;
        };
    }>;
}
