import { UsersService } from './users.service';
import { CreateUserDto } from './dto/create-user.dto';
import { UpdateUserDto } from './dto/update-user.dto';
import { PaginationDto } from "../common/dto/pagination.dto";
import { User } from './entities/user.entity';
import { UpdateMyProfileDto } from "./dto/update-my-profile.dto";
export declare class UsersController {
    private readonly usersService;
    constructor(usersService: UsersService);
    create(createUserDto: CreateUserDto): Promise<User>;
    findAll(paginationDto: PaginationDto): Promise<{
        total: number;
        limit: number;
        offset: number;
        data: Record<string, any>;
    }>;
    findAllPublicPartners(paginationDto: PaginationDto): Promise<{
        total: number;
        limit: number;
        offset: number;
        partners: {
            avatar: string | null;
            id: number;
            firstname: string;
            fathersurname?: string;
            mothersurname?: string;
            email: string;
            emailb?: string;
            facebook: string;
            instagram: string;
            password: string;
            phone: string;
            isActive: boolean;
            isPublic: boolean;
            slug: string;
            campus: string;
            bio: string;
            isDeceased: boolean;
            isValidated: boolean;
            createdAt: Date;
            updatedAt: Date;
            roles: import("../roles/entities/role.entity").Role[];
            areas: import("../areas/entities/area.entity").Area[];
        }[];
    }>;
    getPublicPartnerProfile(id: number): Promise<{
        avatar: string | null;
        id: number;
        firstname: string;
        fathersurname?: string;
        mothersurname?: string;
        email: string;
        emailb?: string;
        facebook: string;
        instagram: string;
        password: string;
        phone: string;
        isActive: boolean;
        isPublic: boolean;
        slug: string;
        campus: string;
        bio: string;
        isDeceased: boolean;
        isValidated: boolean;
        createdAt: Date;
        updatedAt: Date;
        roles: import("../roles/entities/role.entity").Role[];
        areas: import("../areas/entities/area.entity").Area[];
    }>;
    findOne(id: number): Promise<Record<string, any>>;
    updateMyProfile(user: User, updateData: UpdateMyProfileDto): Promise<{
        avatar: string | null;
    }>;
    update(id: number, updateUserDto: UpdateUserDto): Promise<Record<string, any>>;
    uploadProfilePicture(currentUser: User, id: string, file: Express.Multer.File): Promise<{
        message: string;
        data: import("src/files").UploadResponse;
    }>;
    remove(id: number): Promise<{
        message: string;
    }>;
    private hasPartnerRole;
    private canManageProfilePicture;
}
