import { z } from "zod"

export const TextOverlaySchema = z.object({
  type: z.literal("text"),
  xmin: z.number(),
  ymin: z.number(),
  xmax: z.number(),
  ymax: z.number(),
  text: z.string(),
  fontSize: z.number().optional().nullable(),
  fontFamily: z.string().optional().nullable(),
  color: z.string().optional().nullable(),
  strokeColor: z.string().optional().nullable(),
  strokeWidth: z.number().optional().nullable(),
})

export const ImageOverlaySchema = z.object({
  type: z.literal("image"),
  xmin: z.number(),
  ymin: z.number(),
  xmax: z.number(),
  ymax: z.number(),
  src: z.string(),
})

export const OverlayItemSchema = z.union([TextOverlaySchema, ImageOverlaySchema])

export type TextOverlay = z.infer<typeof TextOverlaySchema>
export type ImageOverlay = z.infer<typeof ImageOverlaySchema>
export type OverlayItem = z.infer<typeof OverlayItemSchema>
