import type { CreateUserDto, UpdateUserDto, UpdateProfileDto, CreateCareerHistoryDto } from './users.service';
import { UsersService } from './users.service';
export declare class UsersController {
    private readonly usersService;
    constructor(usersService: UsersService);
    findAll(search?: string, role?: string, team_id?: string, agency_id?: string, is_active?: string, page?: string, limit?: string): Promise<import("./entities/user.entity").User[]>;
    getStats(): Promise<{
        total: number;
        by_role: {
            role: string;
            count: number;
        }[];
        by_team: {
            team_name: string;
            count: number;
        }[];
        by_schedule: {
            schedule: string;
            count: number;
        }[];
    }>;
    getMe(req: any): Promise<import("./entities/user.entity").User & {
        profile?: import("./entities/employee-profile.entity").EmployeeProfile;
    }>;
    getMyProfile(req: any): Promise<import("./entities/employee-profile.entity").EmployeeProfile | null>;
    updateMyProfile(req: any, dto: UpdateProfileDto): Promise<import("./entities/employee-profile.entity").EmployeeProfile>;
    uploadMyAvatar(req: any, file: Express.Multer.File): Promise<import("./entities/user.entity").User>;
    getMyCareer(req: any): Promise<import("./entities/career-history.entity").CareerHistory[]>;
    findOne(id: string): Promise<import("./entities/user.entity").User & {
        profile?: import("./entities/employee-profile.entity").EmployeeProfile;
    }>;
    create(dto: CreateUserDto): Promise<import("./entities/user.entity").User>;
    update(id: string, dto: UpdateUserDto): Promise<import("./entities/user.entity").User>;
    toggleActive(id: string): Promise<import("./entities/user.entity").User>;
    getProfile(id: string): Promise<import("./entities/employee-profile.entity").EmployeeProfile | null>;
    updateProfile(id: string, dto: UpdateProfileDto): Promise<import("./entities/employee-profile.entity").EmployeeProfile>;
    getCareerHistory(id: string): Promise<import("./entities/career-history.entity").CareerHistory[]>;
    addCareerEvent(req: any, id: string, dto: Omit<CreateCareerHistoryDto, 'user_id'>): Promise<import("./entities/career-history.entity").CareerHistory>;
    generateInviteLink(id: string): Promise<{
        invite_url: string;
        expires_at: Date;
    }>;
    updateMonthlyAccrual(id: string, body: {
        monthly_accrual_rate: number;
    }): Promise<import("./entities/user.entity").User>;
}
