import { z } from 'zod' export const userProfileSchema = z.object({ id: z.string(), fullName: z.string(), email: z.email().nullable(), role: z.string(), avatarUrl: z.url().nullable(), createdAt: z.string(), }) export type UserProfile = z.infer export type UserProfileResponse = UserProfile export const passwordResetStartSchema = z.object({ email: z.string().email('Ingresá un email válido.'), }) export type PasswordResetStartInput = z.infer export const passwordResetVerifySchema = z.object({ requestId: z.string().uuid('Request ID inválido.'), otp: z.string().length(6, 'El código debe tener 6 dígitos.'), newPassword: z.string().min(6, 'La contraseña debe tener al menos 6 caracteres.'), }) export type PasswordResetVerifyInput = z.infer export const passwordResetResendSchema = z.object({ requestId: z.string().uuid('Request ID inválido.'), }) export type PasswordResetResendInput = z.infer export type PasswordResetStartResponse = { message: string; requestId: string; email: string; expiresAt: string; cooldownSeconds: number; } export type PasswordResetVerifyResponse = { message: string; } export type PasswordResetResendResponse = { message: string; requestId: string; email: string; expiresAt: string; cooldownSeconds: number; }