import { Role } from '@/generated/prisma/client';

/**
 * Usuario autenticado
 */
export interface User {
  id: string;
  username: string;
  name: string | null;
  email?: string;
  role: Role;
}

/**
 * Sesión de usuario
 */
export interface Session {
  user: User;
  expires: Date;
}

/**
 * Credenciales para login
 */
export interface LoginCredentials {
  username: string;
  password: string;
}

/**
 * Datos para crear un usuario
 */
export interface CreateUserInput {
  name?: string;
  username: string;
  password: string;
  role?: Role;
}

/**
 * Resultado de autenticación
 */
export interface AuthResult {
  success: boolean;
  error?: string;
  user?: User;
}
