import { z } from 'zod';
export var AffiliateNetworkType;
(function (AffiliateNetworkType) {
    AffiliateNetworkType["WAYWARD"] = "WAYWARD";
})(AffiliateNetworkType || (AffiliateNetworkType = {}));
export const ZAffiliateNetworkType = z.nativeEnum(AffiliateNetworkType);
export const ZWaywardMetadata = z.object({
    affiliateItemId: z.string().uuid().optional(),
    asin: z.string().optional().nullable(),
    availability: z.string().optional().nullable(),
    avgRating: z.coerce.number().optional().nullable(),
    bestSellerRank: z.coerce.number().optional().nullable(),
    brandName: z.string().optional().nullable(),
    categoryName: z.array(z.string()).optional().nullable(),
    commissionRate: z.coerce.number().optional().nullable(),
    commissionType: z.string().optional().nullable(),
    currency: z.string().optional().nullable(),
    description: z.string().optional().nullable(),
    discountPercent: z.coerce.number().optional().nullable(),
    id: z.string().uuid().optional(),
    imageUrl: z.string().optional().nullable(),
    inCreatorStore: z.boolean().optional().nullable(),
    isActive: z.boolean().optional().nullable(),
    listPrice: z.coerce.number().optional().nullable(),
    price: z.coerce.number().optional().nullable(),
    productId: z.string().optional().nullable(),
    productName: z.string().optional().nullable(),
    rootCategoryId: z.string().optional().nullable(),
    rootCategoryName: z.string().optional().nullable(),
    totalReviews: z.number().optional().nullable(),
    versionId: z.string().optional()
});
export const ZAffiliateItem = z.object({
    affiliateMetadata: ZWaywardMetadata,
    affiliateNetwork: ZAffiliateNetworkType,
    currency: z.string().optional().nullable(),
    discountedPrice: z.number().optional().nullable(),
    id: z.string().uuid().optional(),
    image: z.string().optional().nullable(),
    linkId: z.string().optional().nullable(),
    moduleId: z.string().optional().nullable(),
    order: z.number().optional(),
    price: z.number().optional().nullable(),
    title: z.string().optional(),
    trackingUrl: z.string(),
    versionId: z.string().optional().nullable(),
    visible: z.boolean().default(true)
});
