import { DataSource, Repository } from 'typeorm';
import { Utilisateur } from '../user/entities/user.entity';
import { CreateUserDto } from './dto/create-user.dto';
import { UpdateUserDto } from './dto/update-user.dto';
import { UtilisateurToken } from './entities/user_token.entity';
export declare class UserService {
    private readonly userRepository;
    private readonly userTokenRepository;
    private readonly dataSource;
    constructor(userRepository: Repository<Utilisateur>, userTokenRepository: Repository<UtilisateurToken>, dataSource: DataSource);
    findOneByEmail(email: string): Promise<Utilisateur | null>;
    getUserById(userId: number): Promise<Utilisateur>;
    getAllUsers(id_cabinet: number): Promise<Utilisateur[]>;
    getAllUsersWithStatus(id_cabinet: number, current_user_id: number): Promise<any[]>;
    toggleUserStatus(id_utilisateur: number): Promise<{
        message: string;
        status: string;
    }>;
    create(createUserDto: CreateUserDto, id_cabinet: number): Promise<{
        message: string;
    }>;
    update(id_utilisateur: number, updateUserDto: UpdateUserDto): Promise<{
        message: string;
    }>;
    delete(id_utilisateur: number): Promise<{
        message: string;
    }>;
}
