import { AdminService } from '../admin/admin.service';
import { TeachersService } from '../teachers/teachers.service';
import { StudentsService } from '../students/students.service';
import { UpdateProfileDto } from './dto/update-profile.dto';
import { UpdateNotificationPrefsDto } from './dto/update-notification-prefs.dto';
export declare class UsersProfileService {
    private readonly adminService;
    private readonly teachersService;
    private readonly studentsService;
    constructor(adminService: AdminService, teachersService: TeachersService, studentsService: StudentsService);
    getProfile(userId: string, role: string): Promise<any>;
    updateProfile(userId: string, role: string, dto: UpdateProfileDto): Promise<(import("mongoose").FlattenMaps<import("../admin/schemas/admin.schema").AdminDocument> & Required<{
        _id: string;
    }>) | (import("mongoose").FlattenMaps<import("../students/schemas/student.schema").StudentDocument> & Required<{
        _id: string;
    }>) | (import("mongoose").FlattenMaps<import("../teachers/schemas/teacher.schema").TeacherDocument> & Required<{
        _id: string;
    }>)>;
    updateEmail(userId: string, role: string, newEmail: string): Promise<(import("mongoose").FlattenMaps<import("../admin/schemas/admin.schema").AdminDocument> & Required<{
        _id: string;
    }>) | (import("mongoose").FlattenMaps<import("../students/schemas/student.schema").StudentDocument> & Required<{
        _id: string;
    }>) | (import("mongoose").FlattenMaps<import("../teachers/schemas/teacher.schema").TeacherDocument> & Required<{
        _id: string;
    }>)>;
    updateNotificationPrefs(userId: string, role: string, prefs: UpdateNotificationPrefsDto): Promise<(import("mongoose").FlattenMaps<import("../admin/schemas/admin.schema").AdminDocument> & Required<{
        _id: string;
    }>) | (import("mongoose").FlattenMaps<import("../students/schemas/student.schema").StudentDocument> & Required<{
        _id: string;
    }>) | (import("mongoose").FlattenMaps<import("../teachers/schemas/teacher.schema").TeacherDocument> & Required<{
        _id: string;
    }>)>;
}
