import {z} from 'zod' export type CatalogsProductGroupPricingCriteria = {inclusion?: boolean | undefined, negated?: boolean | undefined, values: number}; export type MinPriceFilter = {MIN_PRICE: CatalogsProductGroupPricingCriteria}; export type MaxPriceFilter = {MAX_PRICE: CatalogsProductGroupPricingCriteria}; export type NonNullableCatalogsCurrency = 'AED' | 'AFN' | 'ALL' | 'AMD' | 'ANG' | 'AOA' | 'ARS' | 'AUD' | 'AWG' | 'AZN' | 'BAM' | 'BBD' | 'BDT' | 'BGN' | 'BHD' | 'BIF' | 'BMD' | 'BND' | 'BOB' | 'BRL' | 'BSD' | 'BTN' | 'BWP' | 'BYN' | 'BYR' | 'BZD' | 'CAD' | 'CDF' | 'CHF' | 'CLP' | 'CNY' | 'COP' | 'CRC' | 'CUC' | 'CUP' | 'CVE' | 'CZK' | 'DJF' | 'DKK' | 'DOP' | 'DZD' | 'EGP' | 'ERN' | 'ETB' | 'EUR' | 'FJD' | 'FKP' | 'GBP' | 'GEL' | 'GGP' | 'GHS' | 'GIP' | 'GMD' | 'GNF' | 'GTQ' | 'GYD' | 'HKD' | 'HNL' | 'HRK' | 'HTG' | 'HUF' | 'IDR' | 'ILS' | 'IMP' | 'INR' | 'IQD' | 'IRR' | 'ISK' | 'JEP' | 'JMD' | 'JOD' | 'JPY' | 'KES' | 'KGS' | 'KHR' | 'KMF' | 'KPW' | 'KRW' | 'KWD' | 'KYD' | 'KZT' | 'LAK' | 'LBP' | 'LKR' | 'LRD' | 'LSL' | 'LYD' | 'MAD' | 'MDL' | 'MGA' | 'MKD' | 'MMK' | 'MNT' | 'MOP' | 'MRO' | 'MUR' | 'MVR' | 'MWK' | 'MXN' | 'MYR' | 'MZN' | 'NAD' | 'NGN' | 'NIO' | 'NOK' | 'NPR' | 'NZD' | 'OMR' | 'PAB' | 'PEN' | 'PGK' | 'PHP' | 'PKR' | 'PLN' | 'PYG' | 'QAR' | 'RON' | 'RSD' | 'RUB' | 'RWF' | 'SAR' | 'SBD' | 'SCR' | 'SDG' | 'SEK' | 'SGD' | 'SHP' | 'SLL' | 'SOS' | 'SPL' | 'SRD' | 'STD' | 'SVC' | 'SYP' | 'SZL' | 'THB' | 'TJS' | 'TMT' | 'TND' | 'TOP' | 'TRY' | 'TTD' | 'TVD' | 'TWD' | 'TZS' | 'UAH' | 'UGX' | 'USD' | 'UYU' | 'UZS' | 'VEF' | 'VND' | 'VUV' | 'WST' | 'XAF' | 'XCD' | 'XDR' | 'XOF' | 'XPF' | 'YER' | 'ZAR' | 'ZMW' | 'ZWD'; export type CatalogsProductGroupCurrencyCriteria = {negated?: false | undefined, values: NonNullableCatalogsCurrency}; export type CurrencyFilter = {CURRENCY: CatalogsProductGroupCurrencyCriteria}; export type CatalogsProductGroupMultipleStringCriteria = {negated?: boolean | undefined, values: Array}; export type ItemIdFilter = {ITEM_ID: CatalogsProductGroupMultipleStringCriteria}; export type AvailabilityFilter = {AVAILABILITY: CatalogsProductGroupMultipleStringCriteria}; export type BrandFilter = {BRAND: CatalogsProductGroupMultipleStringCriteria}; export type ConditionFilter = {CONDITION: CatalogsProductGroupMultipleStringCriteria}; export type FilterOperatorType = 'IS' | 'CONTAINS'; export type CatalogsProductGroupFilterOperatorTypeCriteria = {filter_operator_type?: FilterOperatorType | undefined, negated?: boolean | undefined, values: Array}; export type CustomLabel0Filter = {CUSTOM_LABEL_0: CatalogsProductGroupFilterOperatorTypeCriteria}; export type CustomLabel1Filter = {CUSTOM_LABEL_1: CatalogsProductGroupFilterOperatorTypeCriteria}; export type CustomLabel2Filter = {CUSTOM_LABEL_2: CatalogsProductGroupFilterOperatorTypeCriteria}; export type CustomLabel3Filter = {CUSTOM_LABEL_3: CatalogsProductGroupFilterOperatorTypeCriteria}; export type CustomLabel4Filter = {CUSTOM_LABEL_4: CatalogsProductGroupFilterOperatorTypeCriteria}; export type ItemGroupIdFilter = {ITEM_GROUP_ID: CatalogsProductGroupMultipleStringCriteria}; export type Gender = 'FEMALE' | 'MALE' | 'UNISEX'; export type CatalogsProductGroupMultipleGenderCriteria = {negated?: boolean | undefined, values: Array}; export type GenderFilter = {GENDER: CatalogsProductGroupMultipleGenderCriteria}; export type MediaType = 'IMAGE' | 'VIDEO'; export type CatalogsProductGroupMultipleMediaTypesCriteria = {negated?: boolean | undefined, values: Array}; export type MediaTypeFilter = {MEDIA_TYPE: CatalogsProductGroupMultipleMediaTypesCriteria}; export type CatalogsProductGroupMultipleStringListCriteriaValuesItemsItem = Array; export type CatalogsProductGroupMultipleStringListCriteria = {negated?: boolean | undefined, values: Array}; export type ProductType4Filter = {PRODUCT_TYPE_4: CatalogsProductGroupMultipleStringListCriteria}; export type ProductType3Filter = {PRODUCT_TYPE_3: CatalogsProductGroupMultipleStringListCriteria}; export type ProductType2Filter = {PRODUCT_TYPE_2: CatalogsProductGroupMultipleStringListCriteria}; export type ProductType1Filter = {PRODUCT_TYPE_1: CatalogsProductGroupMultipleStringListCriteria}; export type ProductType0Filter = {PRODUCT_TYPE_0: CatalogsProductGroupMultipleStringListCriteria}; export type GoogleProductCategory6Filter = {GOOGLE_PRODUCT_CATEGORY_6: CatalogsProductGroupMultipleStringListCriteria}; export type GoogleProductCategory5Filter = {GOOGLE_PRODUCT_CATEGORY_5: CatalogsProductGroupMultipleStringListCriteria}; export type GoogleProductCategory4Filter = {GOOGLE_PRODUCT_CATEGORY_4: CatalogsProductGroupMultipleStringListCriteria}; export type GoogleProductCategory3Filter = {GOOGLE_PRODUCT_CATEGORY_3: CatalogsProductGroupMultipleStringListCriteria}; export type GoogleProductCategory2Filter = {GOOGLE_PRODUCT_CATEGORY_2: CatalogsProductGroupMultipleStringListCriteria}; export type GoogleProductCategory1Filter = {GOOGLE_PRODUCT_CATEGORY_1: CatalogsProductGroupMultipleStringListCriteria}; export type GoogleProductCategory0Filter = {GOOGLE_PRODUCT_CATEGORY_0: CatalogsProductGroupMultipleStringListCriteria}; export type NumericFilterOperatorType = 'GREATER_THAN' | 'GREATER_THAN_OR_EQUALS' | 'LESS_THAN' | 'LESS_THAN_OR_EQUALS'; export type CatalogsProductGroupUint32Criteria = {negated?: boolean | undefined, operator: NumericFilterOperatorType, value: number}; export type CustomNumber0Filter = {CUSTOM_NUMBER_0: CatalogsProductGroupUint32Criteria}; export type CustomNumber1Filter = {CUSTOM_NUMBER_1: CatalogsProductGroupUint32Criteria}; export type CustomNumber2Filter = {CUSTOM_NUMBER_2: CatalogsProductGroupUint32Criteria}; export type CustomNumber3Filter = {CUSTOM_NUMBER_3: CatalogsProductGroupUint32Criteria}; export type CustomNumber4Filter = {CUSTOM_NUMBER_4: CatalogsProductGroupUint32Criteria}; export type TitleKeywordsFilter = {TITLE_KEYWORDS: CatalogsProductGroupMultipleStringCriteria}; export type ProductCategoryEnum = 'ACCENT_TABLES' | 'ACCESSORIES' | 'ANKLETS' | 'APRONS' | 'AREA_RUGS' | 'ARMOIRES_AND_WARDROBES' | 'ART_AND_CRAFT_PAINTS' | 'ART_BRUSHES' | 'ARTIFICIAL_FLORA' | 'ARTWORK' | 'AUDIO' | 'AUDIO_ACCESSORIES' | 'BACKPACKS' | 'BAG_AND_LUGGAGE_ACCESSORIES' | 'BAGS_AND_LUGGAGE' | 'BAKEWARE' | 'BANDANAS' | 'BAR_CARTS' | 'BARWARE' | 'BASKETS' | 'BATH_AND_BODY' | 'BATH_AND_SHOWER' | 'BATH_MATS_AND_RUGS' | 'BATH_TOWELS_AND_WASHCLOTHS' | 'BATHROOM_ACCESSORIES' | 'BATHROOM_ACCESSORY_SETS' | 'BATHROOM_VANITIES' | 'BEACH_TOWELS' | 'BEADS_AND_JEWELRY_MAKING_SUPPLIES' | 'BEAUTY_SUPPLEMENTS' | 'BED_SHEETS' | 'BEDDING' | 'BEDROOM_VANITIES' | 'BEDS_AND_ACCESSORIES' | 'BEDS_AND_BED_FRAMES' | 'BELT_BAGS' | 'BELTS_AND_SUSPENDERS' | 'BENCHES' | 'BEVERAGES' | 'BIRD_SUPPLIES' | 'BLANKETS' | 'BLOUSES' | 'BLUSHES_AND_BRONZERS' | 'BODY_CARE' | 'BODY_JEWELRY' | 'BODY_MAKEUP' | 'BODY_MOISTURIZERS' | 'BODY_WASHES' | 'BOOKCASES_AND_STANDING_SHELVES' | 'BOOKENDS' | 'BOOKS' | 'BOOTS' | 'BRACELETS' | 'BRIDESMAID_DRESSES' | 'BROOCHES_AND_LAPEL_PINS' | 'BROW_MAKEUP' | 'BUFFETS_AND_SIDEBOARDS' | 'BUTTON_DOWN_SHIRTS' | 'CABINET_HARDWARE' | 'CABINETS_AND_STORAGE_FURNITURE' | 'CAKE_DECORATING_SUPPLIES' | 'CAMPING_AND_HIKING' | 'CANDLE_HOLDERS' | 'CANDLES' | 'CARDSTOCK_PAPERS' | 'CASUAL_PANTS' | 'CAT_SUPPLIES' | 'CHAIRS' | 'CHANDELIERS' | 'CHARMS_AND_PENDANTS' | 'CHINA_CABINETS_AND_HUTCHES' | 'CLOGS_AND_MULES' | 'CLOTH_NAPKINS' | 'CLOTHING' | 'CLOTHING_AND_CLOSET_STORAGE' | 'CLOTHING_SETS' | 'COASTERS' | 'COATS_AND_JACKETS' | 'COFFEE_AND_TEA_CUPS' | 'COFFEE_MAKERS_AND_ESPRESSO_MACHINES' | 'COLORING_BOOKS' | 'COMMUNICATIONS' | 'COMPUTER_ACCESSORIES' | 'COOKIE_CUTTERS' | 'COOKWARE' | 'COOKWARE_AND_BAKEWARE' | 'COSMETIC_AND_TOILETRY_BAGS' | 'COSTUMES_AND_ACCESSORIES' | 'CRAFT_ADHESIVES_AND_MAGNETS' | 'CRAFT_CUTTING_TOOLS' | 'CRAFT_MOLDS' | 'CRIBS_AND_TODDLER_BEDS' | 'CURTAIN_AND_DRAPE_RODS' | 'CURTAINS_AND_DRAPES' | 'CUTTING_BOARDS' | 'CYCLING' | 'DECORATIVE_BOWLS' | 'DECORATIVE_JARS' | 'DECORATIVE_TAPESTRIES' | 'DECORATIVE_TRAYS' | 'DEODORANTS_AND_ANTIPERSPIRANTS' | 'DESK_AND_SHELF_CLOCKS' | 'DESKS' | 'DIAPER_BAGS' | 'DINNERWARE' | 'DISHWASHERS' | 'DOG_SUPPLIES' | 'DOOR_MATS' | 'DRAWING_AND_PAINTING' | 'DRESS_PANTS' | 'DRESSERS' | 'DRESSES' | 'DRILLS_AND_SCREWDRIVERS' | 'DRINKWARE' | 'DUFFEL_BAGS' | 'DUVET_COVERS' | 'DVDS_AND_VIDEOS' | 'EARRINGS' | 'ELECTRONICS_ACCESSORIES' | 'ENGAGEMENT_AND_WEDDING_RINGS' | 'ENTERTAINMENT_CENTERS_AND_TV_STANDS' | 'ERASERS' | 'EYE_MAKEUP' | 'EYE_SHADOW' | 'EYELINERS' | 'FABRIC' | 'FACE_COVERINGS' | 'FACE_LOTIONS_AND_CREAMS' | 'FACE_MAKEUP' | 'FACIAL_CLEANSERS' | 'FACIAL_MOISTURIZERS' | 'FALSE_EYELASHES' | 'FIGURINES' | 'FIREPLACE_AND_WOOD_STOVE_ACCESSORIES' | 'FIREPLACES' | 'FISHING' | 'FLAGS_AND_WINDSOCKS' | 'FLATS' | 'FLATWARE' | 'FLOOR_LAMPS' | 'FLOWER_GIRL_DRESSES' | 'FOOD_AND_BEVERAGE_CARRIERS' | 'FOOD_COOKERS_AND_STEAMERS' | 'FOOD_ITEMS' | 'FOOD_MIXERS_AND_BLENDERS' | 'FOOD_STORAGE_CONTAINERS' | 'FOOD_STORAGE_SUPPLIES' | 'FOUNDATIONS_AND_CONCEALERS' | 'FOUNTAINS_AND_PONDS' | 'FRAGRANCE' | 'FURNITURE' | 'FURNITURE_SETS' | 'GAMES' | 'GARDENING' | 'GARDENING_TOOLS' | 'GLOVES_AND_MITTENS' | 'GLUES_AND_TAPES' | 'GROOM_AND_GROOMSMEN_SUITS' | 'HAIR' | 'HAIR_ACCESSORIES' | 'HAIR_CARE' | 'HAIR_COLOR' | 'HAIR_COMBS' | 'HAIR_PINS_CLAWS_AND_CLIPS' | 'HAIR_REMOVAL' | 'HAIR_TOOLS' | 'HAIR_TREATMENT' | 'HAIR_WREATHS' | 'HAND_AND_FOOT_CARE' | 'HAND_SOAPS_AND_SANITIZERS' | 'HANDBAGS' | 'HANDKERCHIEFS' | 'HARDWARE_SUPPLIES' | 'HATS' | 'HEADBOARDS_AND_FOOTBOARDS' | 'HEADWEAR' | 'HIGHLIGHTERS' | 'HOBBIES_AND_CREATIVE_ARTS' | 'HOME_ACCESSORIES' | 'HOME_DECOR_DECALS' | 'HOME_FRAGRANCE_ACCESSORIES' | 'HOME_FRAGRANCES' | 'HOME_IMPROVEMENT_TOOLS_AND_SUPPLIES' | 'HOSIERY' | 'HOUSEHOLD_APPLIANCES' | 'HOUSEHOLD_SUPPLIES' | 'INCENSE' | 'INDOOR_GAMES' | 'JEANS' | 'JEWELRY_AND_WATCH_ACCESSORIES' | 'JEWELRY_AND_WATCHES' | 'JEWELRY_SETS' | 'JUMPSUITS_AND_ROMPERS' | 'KEYCHAINS' | 'KITCHEN_AND_DINING' | 'KITCHEN_AND_DINING_ROOM_TABLES' | 'KITCHEN_APPLIANCES' | 'KITCHEN_KNIVES' | 'KITCHEN_LINENS' | 'KITCHEN_MATS' | 'KITCHEN_ORGANIZERS' | 'KITCHEN_TOOLS_AND_UTENSILS' | 'KITCHEN_TOWELS' | 'KNITTING_AND_CROCHET' | 'KNITTING_AND_CROCHET_TOOLS' | 'LAMP_SHADES' | 'LAMPS' | 'LANYARDS' | 'LAUNDRY_HAMPERS_AND_SUPPLIES' | 'LAWN_AND_GARDEN' | 'LAWN_AND_GARDEN_DECOR' | 'LAWN_ORNAMENTS_AND_GARDEN_SCULPTURES' | 'LEGGINGS' | 'LEOTARDS_AND_UNITARDS' | 'LIGHTING' | 'LIGHTING_ACCESSORIES' | 'LIGHTING_FIXTURES' | 'LIP_BALMS' | 'LIP_CARE' | 'LIP_MAKEUP' | 'LIPSTICKS_AND_LIP_GLOSSES' | 'MAGAZINES_AND_NEWSPAPERS' | 'MAGNETS' | 'MAKEUP' | 'MAKEUP_TOOLS' | 'MASCARAS' | 'MATTRESSES' | 'MEASURES_AND_RULERS' | 'MEASURING_TOOLS_AND_SENSORS' | 'MESSENGER_BAGS' | 'MIRRORS' | 'MUSIC_AND_SOUND_RECORDINGS' | 'NAIL_ART' | 'NAIL_ART_KIT_AND_TOOLS' | 'NAIL_CARE' | 'NAIL_POLISHES' | 'NAILS' | 'NECKLACES' | 'NECKTIES' | 'NIGHT_LIGHTS_AND_AMBIENT_LIGHTING' | 'NIGHTSTANDS' | 'NOVELTY_SIGNS' | 'ONE_PIECES' | 'ONESIES' | 'OTTOMANS' | 'OUTDOOR_FURNITURE' | 'OUTDOOR_FURNITURE_SETS' | 'OUTDOOR_GAMES' | 'OUTDOOR_GRILLS' | 'OUTDOOR_LIVING' | 'OUTDOOR_PLAY_EQUIPMENT' | 'OUTDOOR_RECREATION' | 'OUTDOOR_RUGS' | 'OUTDOOR_SEATING' | 'OUTDOOR_STRUCTURES' | 'OUTDOOR_TABLES' | 'OUTERWEAR' | 'OVENS_AND_COOKTOPS' | 'OVERALLS' | 'OXFORDS_AND_LOAFERS' | 'PAINT_AND_PAINT_TOOLS' | 'PANTS' | 'PAPER_CRAFTS' | 'PARASOLS_AND_RAIN_UMBRELLAS' | 'PARTY_AND_CELEBRATION' | 'PENDANT_LIGHTS' | 'PENS_AND_PENCILS' | 'PERFUMES_AND_COLOGNES' | 'PET_CARRIERS_AND_CRATES' | 'PET_COLLARS_AND_HARNESSES' | 'PET_SUPPLIES' | 'PHOTO_ALBUMS_AND_STORAGE' | 'PICTURE_FRAMES' | 'PILLOWCASES_AND_SHAMS' | 'PINBACK_BUTTONS' | 'PLACEMATS' | 'PLANTS' | 'PONYTAIL_HOLDERS' | 'POOL_AND_SPA_ACCESSORIES' | 'POSTERS_PRINTS_AND_VISUAL_ARTWORK' | 'POTS_AND_PLANTERS' | 'POTTERY_AND_SCULPTING' | 'PRIMERS_AND_MAKEUP_SETTERS' | 'PUMPS' | 'PUZZLES' | 'QUILTS_AND_COMFORTERS' | 'RAZORS_AND_SHAVING_TOOLS' | 'RINGS' | 'RUGS' | 'RUNNER_RUGS' | 'SANDALS' | 'SASHES' | 'SAWS' | 'SCARVES_AND_SHAWLS' | 'SCULPTURES_AND_STATUES' | 'SEASONAL_AND_HOLIDAY_DECORATIONS' | 'SEATING' | 'SERUMS_AND_ESSENCES' | 'SERVEWARE' | 'SEWING_MACHINES' | 'SEWING_PATTERNS' | 'SHAMPOO_AND_CONDITIONER' | 'SHOE_ACCESSORIES' | 'SHOES' | 'SHOPPING_TOTES' | 'SHORTS' | 'SHOWER_CURTAINS' | 'SKINCARE' | 'SKINCARE_MASKS_AND_PEELS' | 'SKIRTS' | 'SLEEPWEAR_AND_LOUNGEWEAR' | 'SLIPCOVERS_AND_CUSHIONS' | 'SLIPPERS' | 'SNEAKERS_AND_ATHLETIC_SHOES' | 'SOCKS_AND_TIGHTS' | 'SOFAS' | 'SPORTS_UNIFORMS' | 'STEMWARE' | 'STOCKINGS' | 'STORAGE_AND_ORGANIZATION' | 'STORAGE_CABINETS_AND_LOCKERS' | 'STORAGE_HOOKS_AND_RACKS' | 'SUITCASES' | 'SUITS' | 'SUITS_AND_SUIT_SEPARATES' | 'GLASSES_AND_SUNGLASSES' | 'SUNSCREEN' | 'SWEATERS_AND_CARDIGANS' | 'SWEATSHIRTS_AND_HOODIES' | 'SWIMWEAR' | 'T_SHIRTS' | 'TABLE_LAMPS' | 'TABLE_RUNNERS' | 'TABLECLOTHS' | 'TABLES' | 'TABLEWARE' | 'TANK_TOPS' | 'TANNING_OILS_AND_LOTIONS' | 'TEETH_WHITENING' | 'TEETH_WHITENING_TOOLS' | 'TELEPHONY' | 'TEXTILE_AND_SEWING' | 'THREAD_AND_YARN' | 'THROW_PILLOWS' | 'TIARAS' | 'TOILET_PAPER_HOLDERS' | 'TONERS_AND_ASTRINGENTS' | 'TOOL_STORAGE_AND_ORGANIZATION' | 'TOOLS' | 'TOPS' | 'TOWEL_RACKS_AND_HOLDERS' | 'TOYS' | 'TRADITIONAL_AND_CEREMONIAL_CLOTHING' | 'TUMBLERS_AND_WATER_BOTTLES' | 'UNIFORMS' | 'VASES' | 'VEHICLE_PARTS_AND_ACCESSORIES' | 'VEILS' | 'WALL_CLOCKS' | 'WALL_LIGHT_FIXTURES' | 'WALL_PAINTS' | 'WALL_SHELVES_AND_LEDGES' | 'WALLETS_AND_CARD_CASES' | 'WALLPAPERS' | 'WATCHES' | 'WATERING_AND_IRRIGATION' | 'WEDDING_CEREMONY_DECOR' | 'WEDDING_CLOTHING' | 'WEDDING_DECOR' | 'WEDDING_DRESS' | 'WEDDING_GIFTS' | 'WEDDING_STATIONERY' | 'WEDDING_TABLE_DECOR' | 'WIGS_AND_HAIR_EXTENSIONS' | 'WINDOW_BLINDS_AND_SHADES' | 'WINDOW_TREATMENT_ACCESSORIES' | 'WINDOW_TREATMENTS' | 'WINE_RACKS' | 'WOOD_BOARDS_AND_PLANKS' | 'WOODWORKING_MATERIALS' | 'WOODWORKING_PLANS' | 'WORK_BENCHES' | 'WREATHS_AND_GARLANDS'; export type CatalogsProductGroupMultiplePinterestProductCategoryCriteria = {negated?: boolean | undefined, values: Array}; export type PinterestProductCategoriesFilter = {PINTEREST_PRODUCT_CATEGORIES: CatalogsProductGroupMultiplePinterestProductCategoryCriteria}; export type CatalogsBaseFilterKeys = MinPriceFilter | MaxPriceFilter | CurrencyFilter | ItemIdFilter | AvailabilityFilter | BrandFilter | ConditionFilter | CustomLabel0Filter | CustomLabel1Filter | CustomLabel2Filter | CustomLabel3Filter | CustomLabel4Filter | ItemGroupIdFilter | GenderFilter | MediaTypeFilter | ProductType4Filter | ProductType3Filter | ProductType2Filter | ProductType1Filter | ProductType0Filter | GoogleProductCategory6Filter | GoogleProductCategory5Filter | GoogleProductCategory4Filter | GoogleProductCategory3Filter | GoogleProductCategory2Filter | GoogleProductCategory1Filter | GoogleProductCategory0Filter | CustomNumber0Filter | CustomNumber1Filter | CustomNumber2Filter | CustomNumber3Filter | CustomNumber4Filter | TitleKeywordsFilter | PinterestProductCategoriesFilter; export type ProductGroupReferenceFilter = {PRODUCT_GROUP: CatalogsProductGroupMultipleStringCriteria}; export type CatalogsProductGroupFilterKeys = CatalogsBaseFilterKeys | ProductGroupReferenceFilter; export type CatalogsProductGroupFiltersRequestAnyOfItems0 = {any_of: Array}; export type CatalogsProductGroupFiltersRequestAnyOfItems1 = {all_of: Array}; export type CatalogsProductGroupFiltersRequest = CatalogsProductGroupFiltersRequestAnyOfItems0 | CatalogsProductGroupFiltersRequestAnyOfItems1; export type CatalogsProductGroupCreateRequest = {description?: (string | null) | undefined, feed_id: string, filters: CatalogsProductGroupFiltersRequest, is_featured?: boolean | undefined, name: string}; export type PinterestLibIntegerFormatType = string; export type Country = 'AD' | 'AE' | 'AF' | 'AG' | 'AI' | 'AL' | 'AM' | 'AO' | 'AQ' | 'AR' | 'AS' | 'AT' | 'AU' | 'AW' | 'AX' | 'AZ' | 'BA' | 'BB' | 'BD' | 'BE' | 'BF' | 'BG' | 'BH' | 'BI' | 'BJ' | 'BL' | 'BM' | 'BN' | 'BO' | 'BQ' | 'BR' | 'BS' | 'BT' | 'BV' | 'BW' | 'BY' | 'BZ' | 'CA' | 'CC' | 'CD' | 'CF' | 'CG' | 'CH' | 'CI' | 'CK' | 'CL' | 'CM' | 'CN' | 'CO' | 'CR' | 'CU' | 'CV' | 'CW' | 'CX' | 'CY' | 'CZ' | 'DE' | 'DJ' | 'DK' | 'DM' | 'DO' | 'DZ' | 'EC' | 'EE' | 'EG' | 'EH' | 'ER' | 'ES' | 'ET' | 'FI' | 'FJ' | 'FK' | 'FM' | 'FO' | 'FR' | 'GA' | 'GB' | 'GD' | 'GE' | 'GF' | 'GG' | 'GH' | 'GI' | 'GL' | 'GM' | 'GN' | 'GP' | 'GQ' | 'GR' | 'GS' | 'GT' | 'GU' | 'GW' | 'GY' | 'HK' | 'HM' | 'HN' | 'HR' | 'HT' | 'HU' | 'ID' | 'IE' | 'IL' | 'IM' | 'IN' | 'IO' | 'IQ' | 'IR' | 'IS' | 'IT' | 'JE' | 'JM' | 'JO' | 'JP' | 'KE' | 'KG' | 'KH' | 'KI' | 'KM' | 'KN' | 'KR' | 'KW' | 'KY' | 'KZ' | 'LA' | 'LB' | 'LC' | 'LI' | 'LK' | 'LR' | 'LS' | 'LT' | 'LU' | 'LV' | 'LY' | 'MA' | 'MC' | 'MD' | 'ME' | 'MF' | 'MG' | 'MH' | 'MK' | 'ML' | 'MM' | 'MN' | 'MO' | 'MP' | 'MQ' | 'MR' | 'MS' | 'MT' | 'MU' | 'MV' | 'MW' | 'MX' | 'MY' | 'MZ' | 'NA' | 'NC' | 'NE' | 'NF' | 'NG' | 'NI' | 'NL' | 'NO' | 'NP' | 'NR' | 'NU' | 'NZ' | 'OM' | 'PA' | 'PE' | 'PF' | 'PG' | 'PH' | 'PK' | 'PL' | 'PM' | 'PN' | 'PR' | 'PS' | 'PT' | 'PW' | 'PY' | 'QA' | 'RE' | 'RO' | 'RS' | 'RU' | 'RW' | 'SA' | 'SB' | 'SC' | 'SD' | 'SE' | 'SG' | 'SH' | 'SI' | 'SJ' | 'SK' | 'SL' | 'SM' | 'SN' | 'SO' | 'SR' | 'SS' | 'ST' | 'SV' | 'SX' | 'SY' | 'SZ' | 'TC' | 'TD' | 'TF' | 'TG' | 'TH' | 'TJ' | 'TK' | 'TL' | 'TM' | 'TN' | 'TO' | 'TR' | 'TT' | 'TV' | 'TW' | 'TZ' | 'UA' | 'UG' | 'UM' | 'US' | 'UY' | 'UZ' | 'VA' | 'VC' | 'VE' | 'VG' | 'VI' | 'VN' | 'VU' | 'WF' | 'WS' | 'YE' | 'YT' | 'ZA' | 'ZM' | 'ZW'; export type CatalogsLocale = 'af-ZA' | 'ar-SA' | 'bg-BG' | 'bn-IN' | 'cs-CZ' | 'da-DK' | 'de' | 'el-GR' | 'en-AU' | 'en-CA' | 'en-GB' | 'en-IN' | 'en-US' | 'es-419' | 'es-AR' | 'es-ES' | 'es-MX' | 'fi-FI' | 'fr' | 'fr-CA' | 'he-IL' | 'hi-IN' | 'hr-HR' | 'hu-HU' | 'id-ID' | 'it' | 'ja' | 'ko-KR' | 'ms-MY' | 'nb-NO' | 'nl' | 'pl-PL' | 'pt-BR' | 'pt-PT' | 'ro-RO' | 'ru-RU' | 'sk-SK' | 'sv-SE' | 'te-IN' | 'th-TH' | 'tl-PH' | 'tr' | 'uk-UA' | 'vi-VN' | 'zh-CN' | 'zh-TW'; export type PriceFilterPrice = {currency: NonNullableCatalogsCurrency, negated?: boolean | undefined, operator: NumericFilterOperatorType, value: number}; export type PriceFilter = {PRICE: PriceFilterPrice}; export type HotelIdFilter = {HOTEL_ID: CatalogsProductGroupMultipleStringCriteria}; export type CatalogsProductGroupMultipleCountriesCriteria = {negated?: boolean | undefined, values: Array}; export type CountryFilter = {COUNTRY: CatalogsProductGroupMultipleCountriesCriteria}; export type CatalogsHotelProductGroupFilterKeys = PriceFilter | HotelIdFilter | BrandFilter | CustomLabel0Filter | CustomLabel1Filter | CustomLabel2Filter | CustomLabel3Filter | CustomLabel4Filter | CountryFilter | TitleKeywordsFilter; export type CatalogsHotelProductGroupFiltersAnyOf = {any_of: Array}; export type CatalogsHotelProductGroupFiltersAllOf = {all_of: Array}; export type CatalogsHotelProductGroupFilters = CatalogsHotelProductGroupFiltersAnyOf | CatalogsHotelProductGroupFiltersAllOf; export type CreativeAssetsIdFilter = {CREATIVE_ASSETS_ID: CatalogsProductGroupMultipleStringCriteria}; export type LinkFilter = {LINK: CatalogsProductGroupFilterOperatorTypeCriteria}; export type CatalogsCreativeAssetsProductGroupFilterKeys = CreativeAssetsIdFilter | CustomLabel0Filter | CustomLabel1Filter | CustomLabel2Filter | CustomLabel3Filter | CustomLabel4Filter | GoogleProductCategory6Filter | GoogleProductCategory5Filter | GoogleProductCategory4Filter | GoogleProductCategory3Filter | GoogleProductCategory2Filter | GoogleProductCategory1Filter | GoogleProductCategory0Filter | MediaTypeFilter | TitleKeywordsFilter | LinkFilter; export type CatalogsCreativeAssetsProductGroupFiltersAnyOf = {any_of: Array}; export type CatalogsCreativeAssetsProductGroupFiltersAllOf = {all_of: Array}; export type CatalogsCreativeAssetsProductGroupFilters = CatalogsCreativeAssetsProductGroupFiltersAnyOf | CatalogsCreativeAssetsProductGroupFiltersAllOf; export type CatalogsVerticalProductGroupCreateRequest = {catalog_id: PinterestLibIntegerFormatType, catalog_type: 'RETAIL', country?: Country | undefined, description?: (string | null) | undefined, filters: CatalogsProductGroupFiltersRequest, locale?: CatalogsLocale | undefined, name: string} | {catalog_id: PinterestLibIntegerFormatType, catalog_type: 'HOTEL', description?: (string | null) | undefined, filters: CatalogsHotelProductGroupFilters, name: string} | {catalog_id: PinterestLibIntegerFormatType, catalog_type: 'CREATIVE_ASSETS', description?: (string | null) | undefined, filters: CatalogsCreativeAssetsProductGroupFilters, name: string}; export type CatalogsProductGroupsCreateRequestSchema = CatalogsProductGroupCreateRequest | CatalogsVerticalProductGroupCreateRequest; export type CreateApiCatalogsProductGroupsArgs = {ad_account_id?: string | undefined, body: CatalogsProductGroupsCreateRequestSchema}; export type CreateApiCatalogsProductGroupsOptions = {baseUrl?: string | undefined, pinterestOauth2?: string | undefined, fetch?: typeof fetch | undefined}; export const pinterestLibIntegerFormatType = z.string(); export const catalogsProductGroupPricingCriteria = z.object({inclusion: z.boolean().optional(), negated: z.boolean().optional(), values: z.number().gte(0)}); export const minPriceFilter = z.object({MIN_PRICE: catalogsProductGroupPricingCriteria}); export const maxPriceFilter = z.object({MAX_PRICE: catalogsProductGroupPricingCriteria}); export const nonNullableCatalogsCurrency = z.enum(["AED", "AFN", "ALL", "AMD", "ANG", "AOA", "ARS", "AUD", "AWG", "AZN", "BAM", "BBD", "BDT", "BGN", "BHD", "BIF", "BMD", "BND", "BOB", "BRL", "BSD", "BTN", "BWP", "BYN", "BYR", "BZD", "CAD", "CDF", "CHF", "CLP", "CNY", "COP", "CRC", "CUC", "CUP", "CVE", "CZK", "DJF", "DKK", "DOP", "DZD", "EGP", "ERN", "ETB", "EUR", "FJD", "FKP", "GBP", "GEL", "GGP", "GHS", "GIP", "GMD", "GNF", "GTQ", "GYD", "HKD", "HNL", "HRK", "HTG", "HUF", "IDR", "ILS", "IMP", "INR", "IQD", "IRR", "ISK", "JEP", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LYD", "MAD", "MDL", "MGA", "MKD", "MMK", "MNT", "MOP", "MRO", "MUR", "MVR", "MWK", "MXN", "MYR", "MZN", "NAD", "NGN", "NIO", "NOK", "NPR", "NZD", "OMR", "PAB", "PEN", "PGK", "PHP", "PKR", "PLN", "PYG", "QAR", "RON", "RSD", "RUB", "RWF", "SAR", "SBD", "SCR", "SDG", "SEK", "SGD", "SHP", "SLL", "SOS", "SPL", "SRD", "STD", "SVC", "SYP", "SZL", "THB", "TJS", "TMT", "TND", "TOP", "TRY", "TTD", "TVD", "TWD", "TZS", "UAH", "UGX", "USD", "UYU", "UZS", "VEF", "VND", "VUV", "WST", "XAF", "XCD", "XDR", "XOF", "XPF", "YER", "ZAR", "ZMW", "ZWD"]); export const catalogsProductGroupCurrencyCriteria = z.object({negated: z.literal(false).optional(), values: nonNullableCatalogsCurrency}); export const currencyFilter = z.object({CURRENCY: catalogsProductGroupCurrencyCriteria}); export const catalogsProductGroupMultipleStringCriteria = z.object({negated: z.boolean().optional(), values: z.array(z.string())}); export const itemIdFilter = z.object({ITEM_ID: catalogsProductGroupMultipleStringCriteria}); export const availabilityFilter = z.object({AVAILABILITY: catalogsProductGroupMultipleStringCriteria}); export const brandFilter = z.object({BRAND: catalogsProductGroupMultipleStringCriteria}); export const conditionFilter = z.object({CONDITION: catalogsProductGroupMultipleStringCriteria}); export const filterOperatorType = z.enum(["IS", "CONTAINS"]); export const catalogsProductGroupFilterOperatorTypeCriteria = z.object({filter_operator_type: filterOperatorType.optional(), negated: z.boolean().optional(), values: z.array(z.string())}); export const customLabel0Filter = z.object({CUSTOM_LABEL_0: catalogsProductGroupFilterOperatorTypeCriteria}); export const customLabel1Filter = z.object({CUSTOM_LABEL_1: catalogsProductGroupFilterOperatorTypeCriteria}); export const customLabel2Filter = z.object({CUSTOM_LABEL_2: catalogsProductGroupFilterOperatorTypeCriteria}); export const customLabel3Filter = z.object({CUSTOM_LABEL_3: catalogsProductGroupFilterOperatorTypeCriteria}); export const customLabel4Filter = z.object({CUSTOM_LABEL_4: catalogsProductGroupFilterOperatorTypeCriteria}); export const itemGroupIdFilter = z.object({ITEM_GROUP_ID: catalogsProductGroupMultipleStringCriteria}); export const gender = z.enum(["FEMALE", "MALE", "UNISEX"]); export const catalogsProductGroupMultipleGenderCriteria = z.object({negated: z.boolean().optional(), values: z.array(gender)}); export const genderFilter = z.object({GENDER: catalogsProductGroupMultipleGenderCriteria}); export const mediaType = z.enum(["IMAGE", "VIDEO"]); export const catalogsProductGroupMultipleMediaTypesCriteria = z.object({negated: z.boolean().optional(), values: z.array(mediaType)}); export const mediaTypeFilter = z.object({MEDIA_TYPE: catalogsProductGroupMultipleMediaTypesCriteria}); export const catalogsProductGroupMultipleStringListCriteriaValuesItemsItem = z.array(z.string()); export const catalogsProductGroupMultipleStringListCriteria = z.object({negated: z.boolean().optional(), values: z.array(catalogsProductGroupMultipleStringListCriteriaValuesItemsItem)}); export const productType4Filter = z.object({PRODUCT_TYPE_4: catalogsProductGroupMultipleStringListCriteria}); export const productType3Filter = z.object({PRODUCT_TYPE_3: catalogsProductGroupMultipleStringListCriteria}); export const productType2Filter = z.object({PRODUCT_TYPE_2: catalogsProductGroupMultipleStringListCriteria}); export const productType1Filter = z.object({PRODUCT_TYPE_1: catalogsProductGroupMultipleStringListCriteria}); export const productType0Filter = z.object({PRODUCT_TYPE_0: catalogsProductGroupMultipleStringListCriteria}); export const googleProductCategory6Filter = z.object({GOOGLE_PRODUCT_CATEGORY_6: catalogsProductGroupMultipleStringListCriteria}); export const googleProductCategory5Filter = z.object({GOOGLE_PRODUCT_CATEGORY_5: catalogsProductGroupMultipleStringListCriteria}); export const googleProductCategory4Filter = z.object({GOOGLE_PRODUCT_CATEGORY_4: catalogsProductGroupMultipleStringListCriteria}); export const googleProductCategory3Filter = z.object({GOOGLE_PRODUCT_CATEGORY_3: catalogsProductGroupMultipleStringListCriteria}); export const googleProductCategory2Filter = z.object({GOOGLE_PRODUCT_CATEGORY_2: catalogsProductGroupMultipleStringListCriteria}); export const googleProductCategory1Filter = z.object({GOOGLE_PRODUCT_CATEGORY_1: catalogsProductGroupMultipleStringListCriteria}); export const googleProductCategory0Filter = z.object({GOOGLE_PRODUCT_CATEGORY_0: catalogsProductGroupMultipleStringListCriteria}); export const numericFilterOperatorType = z.enum(["GREATER_THAN", "GREATER_THAN_OR_EQUALS", "LESS_THAN", "LESS_THAN_OR_EQUALS"]); export const catalogsProductGroupUint32Criteria = z.object({negated: z.boolean().optional(), operator: numericFilterOperatorType, value: z.number().int().gte(0).lte(4294967295)}); export const customNumber0Filter = z.object({CUSTOM_NUMBER_0: catalogsProductGroupUint32Criteria}); export const customNumber1Filter = z.object({CUSTOM_NUMBER_1: catalogsProductGroupUint32Criteria}); export const customNumber2Filter = z.object({CUSTOM_NUMBER_2: catalogsProductGroupUint32Criteria}); export const customNumber3Filter = z.object({CUSTOM_NUMBER_3: catalogsProductGroupUint32Criteria}); export const customNumber4Filter = z.object({CUSTOM_NUMBER_4: catalogsProductGroupUint32Criteria}); export const titleKeywordsFilter = z.object({TITLE_KEYWORDS: catalogsProductGroupMultipleStringCriteria}); export const productCategoryEnum = z.enum(["ACCENT_TABLES", "ACCESSORIES", "ANKLETS", "APRONS", "AREA_RUGS", "ARMOIRES_AND_WARDROBES", "ART_AND_CRAFT_PAINTS", "ART_BRUSHES", "ARTIFICIAL_FLORA", "ARTWORK", "AUDIO", "AUDIO_ACCESSORIES", "BACKPACKS", "BAG_AND_LUGGAGE_ACCESSORIES", "BAGS_AND_LUGGAGE", "BAKEWARE", "BANDANAS", "BAR_CARTS", "BARWARE", "BASKETS", "BATH_AND_BODY", "BATH_AND_SHOWER", "BATH_MATS_AND_RUGS", "BATH_TOWELS_AND_WASHCLOTHS", "BATHROOM_ACCESSORIES", "BATHROOM_ACCESSORY_SETS", "BATHROOM_VANITIES", "BEACH_TOWELS", "BEADS_AND_JEWELRY_MAKING_SUPPLIES", "BEAUTY_SUPPLEMENTS", "BED_SHEETS", "BEDDING", "BEDROOM_VANITIES", "BEDS_AND_ACCESSORIES", "BEDS_AND_BED_FRAMES", "BELT_BAGS", "BELTS_AND_SUSPENDERS", "BENCHES", "BEVERAGES", "BIRD_SUPPLIES", "BLANKETS", "BLOUSES", "BLUSHES_AND_BRONZERS", "BODY_CARE", "BODY_JEWELRY", "BODY_MAKEUP", "BODY_MOISTURIZERS", "BODY_WASHES", "BOOKCASES_AND_STANDING_SHELVES", "BOOKENDS", "BOOKS", "BOOTS", "BRACELETS", "BRIDESMAID_DRESSES", "BROOCHES_AND_LAPEL_PINS", "BROW_MAKEUP", "BUFFETS_AND_SIDEBOARDS", "BUTTON_DOWN_SHIRTS", "CABINET_HARDWARE", "CABINETS_AND_STORAGE_FURNITURE", "CAKE_DECORATING_SUPPLIES", "CAMPING_AND_HIKING", "CANDLE_HOLDERS", "CANDLES", "CARDSTOCK_PAPERS", "CASUAL_PANTS", "CAT_SUPPLIES", "CHAIRS", "CHANDELIERS", "CHARMS_AND_PENDANTS", "CHINA_CABINETS_AND_HUTCHES", "CLOGS_AND_MULES", "CLOTH_NAPKINS", "CLOTHING", "CLOTHING_AND_CLOSET_STORAGE", "CLOTHING_SETS", "COASTERS", "COATS_AND_JACKETS", "COFFEE_AND_TEA_CUPS", "COFFEE_MAKERS_AND_ESPRESSO_MACHINES", "COLORING_BOOKS", "COMMUNICATIONS", "COMPUTER_ACCESSORIES", "COOKIE_CUTTERS", "COOKWARE", "COOKWARE_AND_BAKEWARE", "COSMETIC_AND_TOILETRY_BAGS", "COSTUMES_AND_ACCESSORIES", "CRAFT_ADHESIVES_AND_MAGNETS", "CRAFT_CUTTING_TOOLS", "CRAFT_MOLDS", "CRIBS_AND_TODDLER_BEDS", "CURTAIN_AND_DRAPE_RODS", "CURTAINS_AND_DRAPES", "CUTTING_BOARDS", "CYCLING", "DECORATIVE_BOWLS", "DECORATIVE_JARS", "DECORATIVE_TAPESTRIES", "DECORATIVE_TRAYS", "DEODORANTS_AND_ANTIPERSPIRANTS", "DESK_AND_SHELF_CLOCKS", "DESKS", "DIAPER_BAGS", "DINNERWARE", "DISHWASHERS", "DOG_SUPPLIES", "DOOR_MATS", "DRAWING_AND_PAINTING", "DRESS_PANTS", "DRESSERS", "DRESSES", "DRILLS_AND_SCREWDRIVERS", "DRINKWARE", "DUFFEL_BAGS", "DUVET_COVERS", "DVDS_AND_VIDEOS", "EARRINGS", "ELECTRONICS_ACCESSORIES", "ENGAGEMENT_AND_WEDDING_RINGS", "ENTERTAINMENT_CENTERS_AND_TV_STANDS", "ERASERS", "EYE_MAKEUP", "EYE_SHADOW", "EYELINERS", "FABRIC", "FACE_COVERINGS", "FACE_LOTIONS_AND_CREAMS", "FACE_MAKEUP", "FACIAL_CLEANSERS", "FACIAL_MOISTURIZERS", "FALSE_EYELASHES", "FIGURINES", "FIREPLACE_AND_WOOD_STOVE_ACCESSORIES", "FIREPLACES", "FISHING", "FLAGS_AND_WINDSOCKS", "FLATS", "FLATWARE", "FLOOR_LAMPS", "FLOWER_GIRL_DRESSES", "FOOD_AND_BEVERAGE_CARRIERS", "FOOD_COOKERS_AND_STEAMERS", "FOOD_ITEMS", "FOOD_MIXERS_AND_BLENDERS", "FOOD_STORAGE_CONTAINERS", "FOOD_STORAGE_SUPPLIES", "FOUNDATIONS_AND_CONCEALERS", "FOUNTAINS_AND_PONDS", "FRAGRANCE", "FURNITURE", "FURNITURE_SETS", "GAMES", "GARDENING", "GARDENING_TOOLS", "GLOVES_AND_MITTENS", "GLUES_AND_TAPES", "GROOM_AND_GROOMSMEN_SUITS", "HAIR", "HAIR_ACCESSORIES", "HAIR_CARE", "HAIR_COLOR", "HAIR_COMBS", "HAIR_PINS_CLAWS_AND_CLIPS", "HAIR_REMOVAL", "HAIR_TOOLS", "HAIR_TREATMENT", "HAIR_WREATHS", "HAND_AND_FOOT_CARE", "HAND_SOAPS_AND_SANITIZERS", "HANDBAGS", "HANDKERCHIEFS", "HARDWARE_SUPPLIES", "HATS", "HEADBOARDS_AND_FOOTBOARDS", "HEADWEAR", "HIGHLIGHTERS", "HOBBIES_AND_CREATIVE_ARTS", "HOME_ACCESSORIES", "HOME_DECOR_DECALS", "HOME_FRAGRANCE_ACCESSORIES", "HOME_FRAGRANCES", "HOME_IMPROVEMENT_TOOLS_AND_SUPPLIES", "HOSIERY", "HOUSEHOLD_APPLIANCES", "HOUSEHOLD_SUPPLIES", "INCENSE", "INDOOR_GAMES", "JEANS", "JEWELRY_AND_WATCH_ACCESSORIES", "JEWELRY_AND_WATCHES", "JEWELRY_SETS", "JUMPSUITS_AND_ROMPERS", "KEYCHAINS", "KITCHEN_AND_DINING", "KITCHEN_AND_DINING_ROOM_TABLES", "KITCHEN_APPLIANCES", "KITCHEN_KNIVES", "KITCHEN_LINENS", "KITCHEN_MATS", "KITCHEN_ORGANIZERS", "KITCHEN_TOOLS_AND_UTENSILS", "KITCHEN_TOWELS", "KNITTING_AND_CROCHET", "KNITTING_AND_CROCHET_TOOLS", "LAMP_SHADES", "LAMPS", "LANYARDS", "LAUNDRY_HAMPERS_AND_SUPPLIES", "LAWN_AND_GARDEN", "LAWN_AND_GARDEN_DECOR", "LAWN_ORNAMENTS_AND_GARDEN_SCULPTURES", "LEGGINGS", "LEOTARDS_AND_UNITARDS", "LIGHTING", "LIGHTING_ACCESSORIES", "LIGHTING_FIXTURES", "LIP_BALMS", "LIP_CARE", "LIP_MAKEUP", "LIPSTICKS_AND_LIP_GLOSSES", "MAGAZINES_AND_NEWSPAPERS", "MAGNETS", "MAKEUP", "MAKEUP_TOOLS", "MASCARAS", "MATTRESSES", "MEASURES_AND_RULERS", "MEASURING_TOOLS_AND_SENSORS", "MESSENGER_BAGS", "MIRRORS", "MUSIC_AND_SOUND_RECORDINGS", "NAIL_ART", "NAIL_ART_KIT_AND_TOOLS", "NAIL_CARE", "NAIL_POLISHES", "NAILS", "NECKLACES", "NECKTIES", "NIGHT_LIGHTS_AND_AMBIENT_LIGHTING", "NIGHTSTANDS", "NOVELTY_SIGNS", "ONE_PIECES", "ONESIES", "OTTOMANS", "OUTDOOR_FURNITURE", "OUTDOOR_FURNITURE_SETS", "OUTDOOR_GAMES", "OUTDOOR_GRILLS", "OUTDOOR_LIVING", "OUTDOOR_PLAY_EQUIPMENT", "OUTDOOR_RECREATION", "OUTDOOR_RUGS", "OUTDOOR_SEATING", "OUTDOOR_STRUCTURES", "OUTDOOR_TABLES", "OUTERWEAR", "OVENS_AND_COOKTOPS", "OVERALLS", "OXFORDS_AND_LOAFERS", "PAINT_AND_PAINT_TOOLS", "PANTS", "PAPER_CRAFTS", "PARASOLS_AND_RAIN_UMBRELLAS", "PARTY_AND_CELEBRATION", "PENDANT_LIGHTS", "PENS_AND_PENCILS", "PERFUMES_AND_COLOGNES", "PET_CARRIERS_AND_CRATES", "PET_COLLARS_AND_HARNESSES", "PET_SUPPLIES", "PHOTO_ALBUMS_AND_STORAGE", "PICTURE_FRAMES", "PILLOWCASES_AND_SHAMS", "PINBACK_BUTTONS", "PLACEMATS", "PLANTS", "PONYTAIL_HOLDERS", "POOL_AND_SPA_ACCESSORIES", "POSTERS_PRINTS_AND_VISUAL_ARTWORK", "POTS_AND_PLANTERS", "POTTERY_AND_SCULPTING", "PRIMERS_AND_MAKEUP_SETTERS", "PUMPS", "PUZZLES", "QUILTS_AND_COMFORTERS", "RAZORS_AND_SHAVING_TOOLS", "RINGS", "RUGS", "RUNNER_RUGS", "SANDALS", "SASHES", "SAWS", "SCARVES_AND_SHAWLS", "SCULPTURES_AND_STATUES", "SEASONAL_AND_HOLIDAY_DECORATIONS", "SEATING", "SERUMS_AND_ESSENCES", "SERVEWARE", "SEWING_MACHINES", "SEWING_PATTERNS", "SHAMPOO_AND_CONDITIONER", "SHOE_ACCESSORIES", "SHOES", "SHOPPING_TOTES", "SHORTS", "SHOWER_CURTAINS", "SKINCARE", "SKINCARE_MASKS_AND_PEELS", "SKIRTS", "SLEEPWEAR_AND_LOUNGEWEAR", "SLIPCOVERS_AND_CUSHIONS", "SLIPPERS", "SNEAKERS_AND_ATHLETIC_SHOES", "SOCKS_AND_TIGHTS", "SOFAS", "SPORTS_UNIFORMS", "STEMWARE", "STOCKINGS", "STORAGE_AND_ORGANIZATION", "STORAGE_CABINETS_AND_LOCKERS", "STORAGE_HOOKS_AND_RACKS", "SUITCASES", "SUITS", "SUITS_AND_SUIT_SEPARATES", "GLASSES_AND_SUNGLASSES", "SUNSCREEN", "SWEATERS_AND_CARDIGANS", "SWEATSHIRTS_AND_HOODIES", "SWIMWEAR", "T_SHIRTS", "TABLE_LAMPS", "TABLE_RUNNERS", "TABLECLOTHS", "TABLES", "TABLEWARE", "TANK_TOPS", "TANNING_OILS_AND_LOTIONS", "TEETH_WHITENING", "TEETH_WHITENING_TOOLS", "TELEPHONY", "TEXTILE_AND_SEWING", "THREAD_AND_YARN", "THROW_PILLOWS", "TIARAS", "TOILET_PAPER_HOLDERS", "TONERS_AND_ASTRINGENTS", "TOOL_STORAGE_AND_ORGANIZATION", "TOOLS", "TOPS", "TOWEL_RACKS_AND_HOLDERS", "TOYS", "TRADITIONAL_AND_CEREMONIAL_CLOTHING", "TUMBLERS_AND_WATER_BOTTLES", "UNIFORMS", "VASES", "VEHICLE_PARTS_AND_ACCESSORIES", "VEILS", "WALL_CLOCKS", "WALL_LIGHT_FIXTURES", "WALL_PAINTS", "WALL_SHELVES_AND_LEDGES", "WALLETS_AND_CARD_CASES", "WALLPAPERS", "WATCHES", "WATERING_AND_IRRIGATION", "WEDDING_CEREMONY_DECOR", "WEDDING_CLOTHING", "WEDDING_DECOR", "WEDDING_DRESS", "WEDDING_GIFTS", "WEDDING_STATIONERY", "WEDDING_TABLE_DECOR", "WIGS_AND_HAIR_EXTENSIONS", "WINDOW_BLINDS_AND_SHADES", "WINDOW_TREATMENT_ACCESSORIES", "WINDOW_TREATMENTS", "WINE_RACKS", "WOOD_BOARDS_AND_PLANKS", "WOODWORKING_MATERIALS", "WOODWORKING_PLANS", "WORK_BENCHES", "WREATHS_AND_GARLANDS"]); export const catalogsProductGroupMultiplePinterestProductCategoryCriteria = z.object({negated: z.boolean().optional(), values: z.array(productCategoryEnum)}); export const pinterestProductCategoriesFilter = z.object({PINTEREST_PRODUCT_CATEGORIES: catalogsProductGroupMultiplePinterestProductCategoryCriteria}); export const catalogsBaseFilterKeys = z.union([minPriceFilter, maxPriceFilter, currencyFilter, itemIdFilter, availabilityFilter, brandFilter, conditionFilter, customLabel0Filter, customLabel1Filter, customLabel2Filter, customLabel3Filter, customLabel4Filter, itemGroupIdFilter, genderFilter, mediaTypeFilter, productType4Filter, productType3Filter, productType2Filter, productType1Filter, productType0Filter, googleProductCategory6Filter, googleProductCategory5Filter, googleProductCategory4Filter, googleProductCategory3Filter, googleProductCategory2Filter, googleProductCategory1Filter, googleProductCategory0Filter, customNumber0Filter, customNumber1Filter, customNumber2Filter, customNumber3Filter, customNumber4Filter, titleKeywordsFilter, pinterestProductCategoriesFilter]); export const productGroupReferenceFilter = z.object({PRODUCT_GROUP: catalogsProductGroupMultipleStringCriteria}); export const catalogsProductGroupFilterKeys = z.union([catalogsBaseFilterKeys, productGroupReferenceFilter]); export const catalogsProductGroupFiltersAnyOf = z.object({any_of: z.array(catalogsProductGroupFilterKeys)}); export const catalogsProductGroupFiltersAllOf = z.object({all_of: z.array(catalogsProductGroupFilterKeys)}); export const catalogsProductGroupFilters = z.union([catalogsProductGroupFiltersAnyOf, catalogsProductGroupFiltersAllOf]); export const catalogsProductGroupStatus = z.enum(["ACTIVE", "INACTIVE"]); export const catalogsProductGroupType = z.enum(["MERCHANT_CREATED", "ALL_PRODUCTS", "BEST_DEALS", "PINNER_FAVORITES", "TOP_SELLERS", "BACK_IN_STOCK", "NEW_ARRIVALS", "SHOPIFY_COLLECTIONS", "I2PC", "CATALOG_EXPANSION"]); export const priceFilterPrice = z.object({currency: nonNullableCatalogsCurrency, negated: z.boolean().optional(), operator: numericFilterOperatorType, value: z.number().gte(0)}); export const priceFilter = z.object({PRICE: priceFilterPrice}); export const hotelIdFilter = z.object({HOTEL_ID: catalogsProductGroupMultipleStringCriteria}); export const country = z.enum(["AD", "AE", "AF", "AG", "AI", "AL", "AM", "AO", "AQ", "AR", "AS", "AT", "AU", "AW", "AX", "AZ", "BA", "BB", "BD", "BE", "BF", "BG", "BH", "BI", "BJ", "BL", "BM", "BN", "BO", "BQ", "BR", "BS", "BT", "BV", "BW", "BY", "BZ", "CA", "CC", "CD", "CF", "CG", "CH", "CI", "CK", "CL", "CM", "CN", "CO", "CR", "CU", "CV", "CW", "CX", "CY", "CZ", "DE", "DJ", "DK", "DM", "DO", "DZ", "EC", "EE", "EG", "EH", "ER", "ES", "ET", "FI", "FJ", "FK", "FM", "FO", "FR", "GA", "GB", "GD", "GE", "GF", "GG", "GH", "GI", "GL", "GM", "GN", "GP", "GQ", "GR", "GS", "GT", "GU", "GW", "GY", "HK", "HM", "HN", "HR", "HT", "HU", "ID", "IE", "IL", "IM", "IN", "IO", "IQ", "IR", "IS", "IT", "JE", "JM", "JO", "JP", "KE", "KG", "KH", "KI", "KM", "KN", "KR", "KW", "KY", "KZ", "LA", "LB", "LC", "LI", "LK", "LR", "LS", "LT", "LU", "LV", "LY", "MA", "MC", "MD", "ME", "MF", "MG", "MH", "MK", "ML", "MM", "MN", "MO", "MP", "MQ", "MR", "MS", "MT", "MU", "MV", "MW", "MX", "MY", "MZ", "NA", "NC", "NE", "NF", "NG", "NI", "NL", "NO", "NP", "NR", "NU", "NZ", "OM", "PA", "PE", "PF", "PG", "PH", "PK", "PL", "PM", "PN", "PR", "PS", "PT", "PW", "PY", "QA", "RE", "RO", "RS", "RU", "RW", "SA", "SB", "SC", "SD", "SE", "SG", "SH", "SI", "SJ", "SK", "SL", "SM", "SN", "SO", "SR", "SS", "ST", "SV", "SX", "SY", "SZ", "TC", "TD", "TF", "TG", "TH", "TJ", "TK", "TL", "TM", "TN", "TO", "TR", "TT", "TV", "TW", "TZ", "UA", "UG", "UM", "US", "UY", "UZ", "VA", "VC", "VE", "VG", "VI", "VN", "VU", "WF", "WS", "YE", "YT", "ZA", "ZM", "ZW"]); export const catalogsProductGroupMultipleCountriesCriteria = z.object({negated: z.boolean().optional(), values: z.array(country)}); export const countryFilter = z.object({COUNTRY: catalogsProductGroupMultipleCountriesCriteria}); export const catalogsHotelProductGroupFilterKeys = z.union([priceFilter, hotelIdFilter, brandFilter, customLabel0Filter, customLabel1Filter, customLabel2Filter, customLabel3Filter, customLabel4Filter, countryFilter, titleKeywordsFilter]); export const catalogsHotelProductGroupFiltersAnyOf = z.object({any_of: z.array(catalogsHotelProductGroupFilterKeys)}); export const catalogsHotelProductGroupFiltersAllOf = z.object({all_of: z.array(catalogsHotelProductGroupFilterKeys)}); export const catalogsHotelProductGroupFilters = z.union([catalogsHotelProductGroupFiltersAnyOf, catalogsHotelProductGroupFiltersAllOf]); export const catalogsHotelProductGroupType = z.enum(["MERCHANT_CREATED", "ALL_LISTINGS"]); export const creativeAssetsIdFilter = z.object({CREATIVE_ASSETS_ID: catalogsProductGroupMultipleStringCriteria}); export const linkFilter = z.object({LINK: catalogsProductGroupFilterOperatorTypeCriteria}); export const catalogsCreativeAssetsProductGroupFilterKeys = z.union([creativeAssetsIdFilter, customLabel0Filter, customLabel1Filter, customLabel2Filter, customLabel3Filter, customLabel4Filter, googleProductCategory6Filter, googleProductCategory5Filter, googleProductCategory4Filter, googleProductCategory3Filter, googleProductCategory2Filter, googleProductCategory1Filter, googleProductCategory0Filter, mediaTypeFilter, titleKeywordsFilter, linkFilter]); export const catalogsCreativeAssetsProductGroupFiltersAnyOf = z.object({any_of: z.array(catalogsCreativeAssetsProductGroupFilterKeys)}); export const catalogsCreativeAssetsProductGroupFiltersAllOf = z.object({all_of: z.array(catalogsCreativeAssetsProductGroupFilterKeys)}); export const catalogsCreativeAssetsProductGroupFilters = z.union([catalogsCreativeAssetsProductGroupFiltersAnyOf, catalogsCreativeAssetsProductGroupFiltersAllOf]); export const catalogsVerticalProductGroup = z.discriminatedUnion("catalog_type", [z.object({catalog_id: pinterestLibIntegerFormatType, catalog_type: z.literal("RETAIL"), country: z.string().nullable().optional(), created_at: z.number().int().optional(), description: z.string().nullable().optional(), feed_id: z.string().nullable(), filters: catalogsProductGroupFilters, id: pinterestLibIntegerFormatType, is_featured: z.boolean().optional(), locale: z.string().nullable().optional(), name: z.string().optional(), status: catalogsProductGroupStatus.optional(), type: catalogsProductGroupType, updated_at: z.number().int().optional()}), z.object({catalog_id: pinterestLibIntegerFormatType, catalog_type: z.literal("HOTEL"), created_at: z.number().int().optional(), description: z.string().nullable().optional(), filters: catalogsHotelProductGroupFilters, id: pinterestLibIntegerFormatType, name: z.string().optional(), type: catalogsHotelProductGroupType, updated_at: z.number().int().optional()}), z.object({catalog_id: pinterestLibIntegerFormatType, catalog_type: z.literal("CREATIVE_ASSETS"), created_at: z.number().int().optional(), description: z.string().nullable().optional(), filters: catalogsCreativeAssetsProductGroupFilters, id: pinterestLibIntegerFormatType, name: z.string().optional(), updated_at: z.number().int().optional()})]); export const validateResponse = async ( schema: { readonly '~standard': { readonly validate: (value: unknown) => ({ readonly value: Output; readonly issues?: undefined } | { readonly issues: ReadonlyArray<{ readonly message: string; readonly path?: ReadonlyArray | undefined }> }) | Promise<{ readonly value: Output; readonly issues?: undefined } | { readonly issues: ReadonlyArray<{ readonly message: string; readonly path?: ReadonlyArray | undefined }> }> } }, value: unknown ): Promise => { const result = await schema['~standard'].validate(value) if (result.issues !== undefined) { const detail = result.issues .map(({ message, path }) => path?.length ? `${path.map((segment) => String(typeof segment === 'object' ? segment.key : segment)).join('.')}: ${message}` : message ) .join('; ') throw new Error(`Response does not match the schema: ${detail}`, { cause: { issues: result.issues } }) } return result.value }; /** * Create product group * * POST /catalogs/product_groups */ export const createApiCatalogsProductGroups = async (args: CreateApiCatalogsProductGroupsArgs, options?: CreateApiCatalogsProductGroupsOptions) => { const {baseUrl = "https://api.pinterest.com/v5", fetch: fetchFn = fetch, pinterestOauth2} = options ?? {} const query = new URLSearchParams() const headers = new Headers() headers.set('content-type', "application/json") headers.set('accept', "application/json") if (args.ad_account_id != null) query.append("ad_account_id", String(args.ad_account_id)) if (pinterestOauth2 !== undefined) headers.set('authorization', `Bearer ${pinterestOauth2}`) const url = `${baseUrl.replace(/\/+$/, '')}/catalogs/product_groups${query.size > 0 ? `?${query}` : ''}` const res = await fetchFn(url, {method: "POST", headers, body: JSON.stringify(args.body)}) if (!res.ok) throw new Error(`Request failed with status ${res.status}`, {cause: {status: res.status, body: await res.text()}}) return validateResponse(catalogsVerticalProductGroup, await res.json()) };