import { z } from 'zod'; const LinkItemSchema = z.object({ size: z.string(), f: z.string(), q: z.string(), q_text: z.string(), k: z.string(), }); const LinksSchema = z.object({ mp4: z.record(LinkItemSchema), mp3: z.record(LinkItemSchema), other: z.record(LinkItemSchema).optional(), }); const RelatedContentSchema = z.object({ v: z.string(), t: z.string(), }); const RelatedVideosSchema = z.object({ title: z.string(), contents: z.array(RelatedContentSchema), }); const YoutubedlResponseSchema = z.object({ status: z.string(), mess: z.string(), page: z.string(), vid: z.string(), extractor: z.string(), title: z.string(), t: z.number(), a: z.string(), links: LinksSchema, related: z.array(RelatedVideosSchema), }); const ConvertResponseSchema = z.object({ status: z.string(), mess: z.string(), c_status: z.string(), vid: z.string().nullable().optional(), title: z.string().nullable().optional(), ftype: z.string().nullable().optional(), fquality: z.string().nullable().optional(), dlink: z.string().url().nullable().optional(), }); export { LinkItemSchema, LinksSchema, RelatedContentSchema, RelatedVideosSchema, YoutubedlResponseSchema, ConvertResponseSchema };