import { Prisma, User } from '@prisma/client';
import { PrismaService } from '../prisma/prisma.service';
export type SafeUser = Omit<User, 'passwordHash'>;
export declare class UsersService {
    private readonly prisma;
    constructor(prisma: PrismaService);
    findActiveByEmail(email: string): Promise<{
        name: string;
        id: string;
        email: string;
        passwordHash: string;
        phone: string | null;
        avatar: string | null;
        role: import(".prisma/client").$Enums.UserRole;
        status: import(".prisma/client").$Enums.UserStatus;
        createdAt: Date;
        updatedAt: Date;
        deletedAt: Date | null;
    } | null>;
    findActiveById(id: string): Promise<{
        name: string;
        id: string;
        email: string;
        passwordHash: string;
        phone: string | null;
        avatar: string | null;
        role: import(".prisma/client").$Enums.UserRole;
        status: import(".prisma/client").$Enums.UserStatus;
        createdAt: Date;
        updatedAt: Date;
        deletedAt: Date | null;
    } | null>;
    create(data: Prisma.UserCreateInput): Promise<{
        name: string;
        id: string;
        email: string;
        passwordHash: string;
        phone: string | null;
        avatar: string | null;
        role: import(".prisma/client").$Enums.UserRole;
        status: import(".prisma/client").$Enums.UserStatus;
        createdAt: Date;
        updatedAt: Date;
        deletedAt: Date | null;
    }>;
    toSafeUser(user: User): SafeUser;
    ensureUser(id: string): Promise<{
        name: string;
        id: string;
        email: string;
        passwordHash: string;
        phone: string | null;
        avatar: string | null;
        role: import(".prisma/client").$Enums.UserRole;
        status: import(".prisma/client").$Enums.UserStatus;
        createdAt: Date;
        updatedAt: Date;
        deletedAt: Date | null;
    }>;
}
