import { UsersProfileService } from './users-profile.service';
import { UpdateProfileDto } from './dto/update-profile.dto';
import { UpdateEmailDto } from './dto/update-email.dto';
import { UpdateNotificationPrefsDto } from './dto/update-notification-prefs.dto';
export declare class UsersController {
    private readonly profileService;
    constructor(profileService: UsersProfileService);
    getProfile(user: {
        id: string;
        role: string;
    }): Promise<any>;
    updateProfile(user: {
        id: 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(user: {
        id: string;
        role: string;
    }, dto: UpdateEmailDto): 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(user: {
        id: string;
        role: string;
    }, dto: 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;
    }>)>;
}
