import { z } from "zod"

import {
  creditCardSchema,
  getUserSchema,
  membershipSchema,
} from "@/server/routers/user/output"

import type { RouterOutput } from "@/lib/trpc/client"

/**
 * All extended field needs to be added by API team to response or
 * we have to get the values from elsewhere
 */
export interface User extends z.output<typeof getUserSchema> {}

export type SafeUser = RouterOutput["user"]["getSafely"]

export type CreditCard = z.output<typeof creditCardSchema>

export interface Membership extends z.output<typeof membershipSchema> {}

export type Memberships = Membership[]
