import { PrismaService } from '../prisma/prisma.service'; export declare class UsersService { private readonly prisma; constructor(prisma: PrismaService); findByUsername(username: string): import(".prisma/client").Prisma.Prisma__UserClient<{ id: number; createdAt: Date; updatedAt: Date; username: string; email: string; firstName: string | null; lastName: string | null; passwordHash: string; role: string; isPremium: boolean; canShareRecipes: boolean; } | null, null, import("@prisma/client/runtime/library").DefaultArgs, import(".prisma/client").Prisma.PrismaClientOptions>; findById(id: number): import(".prisma/client").Prisma.Prisma__UserClient<{ id: number; createdAt: Date; updatedAt: Date; username: string; email: string; firstName: string | null; lastName: string | null; passwordHash: string; role: string; isPremium: boolean; canShareRecipes: boolean; } | null, null, import("@prisma/client/runtime/library").DefaultArgs, import(".prisma/client").Prisma.PrismaClientOptions>; create(data: { username: string; email: string; passwordHash: string; }): import(".prisma/client").Prisma.Prisma__UserClient<{ id: number; createdAt: Date; updatedAt: Date; username: string; email: string; firstName: string | null; lastName: string | null; passwordHash: string; role: string; isPremium: boolean; canShareRecipes: boolean; }, never, import("@prisma/client/runtime/library").DefaultArgs, import(".prisma/client").Prisma.PrismaClientOptions>; updateProfile(id: number, data: { firstName?: string; lastName?: string; email?: string; }): import(".prisma/client").Prisma.Prisma__UserClient<{ id: number; createdAt: Date; updatedAt: Date; username: string; email: string; firstName: string | null; lastName: string | null; passwordHash: string; role: string; isPremium: boolean; canShareRecipes: boolean; }, never, import("@prisma/client/runtime/library").DefaultArgs, import(".prisma/client").Prisma.PrismaClientOptions>; findAll(): import(".prisma/client").Prisma.PrismaPromise<{ id: number; createdAt: Date; username: string; email: string; firstName: string | null; lastName: string | null; role: string; isPremium: boolean; canShareRecipes: boolean; }[]>; setRole(id: number, role: string): import(".prisma/client").Prisma.Prisma__UserClient<{ id: number; createdAt: Date; updatedAt: Date; username: string; email: string; firstName: string | null; lastName: string | null; passwordHash: string; role: string; isPremium: boolean; canShareRecipes: boolean; }, never, import("@prisma/client/runtime/library").DefaultArgs, import(".prisma/client").Prisma.PrismaClientOptions>; setPremium(id: number, isPremium: boolean): import(".prisma/client").Prisma.Prisma__UserClient<{ id: number; createdAt: Date; updatedAt: Date; username: string; email: string; firstName: string | null; lastName: string | null; passwordHash: string; role: string; isPremium: boolean; canShareRecipes: boolean; }, never, import("@prisma/client/runtime/library").DefaultArgs, import(".prisma/client").Prisma.PrismaClientOptions>; setRecipeSharing(id: number, canShareRecipes: boolean): import(".prisma/client").Prisma.Prisma__UserClient<{ id: number; createdAt: Date; updatedAt: Date; username: string; email: string; firstName: string | null; lastName: string | null; passwordHash: string; role: string; isPremium: boolean; canShareRecipes: boolean; }, never, import("@prisma/client/runtime/library").DefaultArgs, import(".prisma/client").Prisma.PrismaClientOptions>; adminCreate(data: { username: string; email: string; password: string; role?: string; }): Promise<{ id: number; createdAt: Date; updatedAt: Date; username: string; email: string; firstName: string | null; lastName: string | null; passwordHash: string; role: string; isPremium: boolean; canShareRecipes: boolean; }>; deleteUser(id: number): import(".prisma/client").Prisma.Prisma__UserClient<{ id: number; createdAt: Date; updatedAt: Date; username: string; email: string; firstName: string | null; lastName: string | null; passwordHash: string; role: string; isPremium: boolean; canShareRecipes: boolean; }, never, import("@prisma/client/runtime/library").DefaultArgs, import(".prisma/client").Prisma.PrismaClientOptions>; resetPassword(id: number): Promise<{ temporaryPassword: string; }>; updateEmail(id: number, email: string): import(".prisma/client").Prisma.Prisma__UserClient<{ id: number; createdAt: Date; updatedAt: Date; username: string; email: string; firstName: string | null; lastName: string | null; passwordHash: string; role: string; isPremium: boolean; canShareRecipes: boolean; }, never, import("@prisma/client/runtime/library").DefaultArgs, import(".prisma/client").Prisma.PrismaClientOptions>; }