import { UsersService } from './users.service'; declare class SetRoleDto { role: string; } declare class SetPremiumDto { isPremium: boolean; } declare class SetRecipeSharingDto { canShareRecipes: boolean; } declare class AdminCreateUserDto { username: string; email: string; password: string; role?: string; } declare class UpdateEmailDto { email: string; } declare class UpdateProfileDto { firstName?: string; lastName?: string; email?: string; } export declare class UsersController { private readonly usersService; constructor(usersService: UsersService); getMe(user: { userId: number; username: string; }): Promise<{ id: number | undefined; username: string | undefined; email: string | undefined; firstName: string | null | undefined; lastName: string | null | undefined; role: string | undefined; }>; updateMe(user: { userId: number; username: string; }, dto: UpdateProfileDto): Promise<{ id: number; username: string; email: string; firstName: string | null; lastName: string | null; }>; listUsers(): 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, caller: { userId: number; username: string; role: string; }, dto: SetRoleDto): Promise<{ id: number; username: string; role: string; }>; setPremium(id: number, dto: SetPremiumDto): Promise<{ id: number; username: string; isPremium: boolean; }>; setRecipeSharing(id: number, dto: SetRecipeSharingDto): Promise<{ id: number; username: string; canShareRecipes: boolean; }>; adminCreateUser(dto: AdminCreateUserDto): Promise<{ id: number; username: string; email: string; role: string; createdAt: Date; }>; deleteUser(id: number, caller: { userId: number; }): Promise<{ deleted: boolean; }>; resetPassword(id: number, caller: { userId: number; }): Promise<{ to: string; subject: string; body: string; temporaryPassword: string; }>; updateEmail(id: number, caller: { userId: number; }, dto: UpdateEmailDto): Promise<{ id: number; username: string; email: string; }>; } export {};