export interface User {
  id: number
  email: string | null
  username: string
  phone: string | null
  avatar: string | null
  nickname: string | null
  real_name: string | null
  id_card_verified: string | null
  role: "user" | "admin" | "super_admin"
  status: "active" | "inactive" | "banned"
  is_email_verified: boolean
  has_password: boolean
  balance: number
  created_at: string
}

export interface TokenResponse {
  access_token: string
  refresh_token: string
  token_type: string
}

export interface ApiResponse<T = unknown> {
  code: number
  message: string
  data: T | null
}

export interface LoginData {
  user: User
  tokens: TokenResponse
}

export interface RegisterData {
  user: User
  tokens: TokenResponse
}
