import type { z } from "zod"

import type {
  contentBlock,
  hotelPageCountSchema,
  hotelPageRefsSchema,
  hotelPageSchema,
  hotelPageUrlsSchema,
} from "@/server/routers/contentstack/hotelPage/output"
import type { activitiesCardSchema } from "@/server/routers/contentstack/schemas/blocks/activitiesCard"
import type { spaPageSchema } from "@/server/routers/contentstack/schemas/blocks/spaPage"

export interface GetHotelPageData extends z.input<typeof hotelPageSchema> {}
export interface HotelPage extends z.output<typeof hotelPageSchema> {}

export interface ActivitiesCard extends z.output<typeof activitiesCardSchema> {}
export type ActivityCard = ActivitiesCard["upcoming_activities_card"]

export interface SpaPage extends z.output<typeof spaPageSchema> {}
export type ContentBlock = z.output<typeof contentBlock>

export interface GetHotelPageRefsSchema
  extends z.input<typeof hotelPageRefsSchema> {}

export interface HotelPageRefs extends z.output<typeof hotelPageRefsSchema> {}
export interface GetHotelPageUrlsData
  extends z.input<typeof hotelPageUrlsSchema> {}
export interface GetHotelPageCountData
  extends z.input<typeof hotelPageCountSchema> {}
export type HotelPageUrls = z.output<typeof hotelPageUrlsSchema>
