import type { ApiClient } from "@promobase/sdk-runtime"; import { Cursor } from "@promobase/sdk-runtime"; import { metaPagination } from "../../pagination.ts"; import type { AssignedUserFields } from "./assigned-user.ts"; import type { AutomotiveModelFields } from "./automotive-model.ts"; import type { BusinessFields } from "./business.ts"; import type { CPASLsbImageBankFields } from "./cpas-lsb-image-bank.ts"; import type { CatalogContentVersionConfigFields } from "./catalog-content-version-config.ts"; import type { CheckBatchRequestStatusFields } from "./check-batch-request-status.ts"; import type { CollaborativeAdsShareSettingsFields } from "./collaborative-ads-share-settings.ts"; import type { CommerceMerchantSettingsFields } from "./commerce-merchant-settings.ts"; import type { CreatorAssetCreativeFields } from "./creator-asset-creative.ts"; import type { DestinationFields } from "./destination.ts"; import type { ExternalEventSourceFields } from "./external-event-source.ts"; import type { FlightFields } from "./flight.ts"; import type { HomeListingFields } from "./home-listing.ts"; import type { HotelFields } from "./hotel.ts"; import type { ProductCatalogCategoryFields } from "./product-catalog-category.ts"; import type { ProductCatalogCheckMarketplacePartnerDealsStatusFields } from "./product-catalog-check-marketplace-partner-deals-status.ts"; import type { ProductCatalogCheckMarketplacePartnerSellersStatusFields } from "./product-catalog-check-marketplace-partner-sellers-status.ts"; import type { ProductCatalogDataSourceFields } from "./product-catalog-data-source.ts"; import type { ProductCatalogDiagnosticGroupFields } from "./product-catalog-diagnostic-group.ts"; import type { ProductCatalogHotelRoomsBatchFields } from "./product-catalog-hotel-rooms-batch.ts"; import type { ProductCatalogImageSettingsFields } from "./product-catalog-image-settings.ts"; import type { ProductCatalogPricingVariablesBatchFields } from "./product-catalog-pricing-variables-batch.ts"; import type { ProductCatalogProductSetsBatchFields } from "./product-catalog-product-sets-batch.ts"; import type { ProductEventStatFields } from "./product-event-stat.ts"; import type { ProductFeedFields } from "./product-feed.ts"; import type { ProductGroupFields } from "./product-group.ts"; import type { ProductItemFields } from "./product-item.ts"; import type { ProductSetFields } from "./product-set.ts"; import type { StoreCatalogSettingsFields } from "./store-catalog-settings.ts"; import type { UserFields } from "./user.ts"; import type { VehicleFields } from "./vehicle.ts"; import type { VehicleOfferFields } from "./vehicle-offer.ts"; export interface ProductCatalogFields { ad_account_to_collaborative_ads_share_settings: CollaborativeAdsShareSettingsFields; agency_collaborative_ads_share_settings: CollaborativeAdsShareSettingsFields; business: BusinessFields; catalog_store: StoreCatalogSettingsFields; commerce_merchant_settings: CommerceMerchantSettingsFields; creator_user: UserFields; da_display_settings: ProductCatalogImageSettingsFields; default_image_url: string; fallback_image_url: string[]; feed_count: number; id: string; is_catalog_segment: boolean; is_local_catalog: boolean; name: string; owner_business: BusinessFields; product_count: number; store_catalog_settings: StoreCatalogSettingsFields; user_access_expire_time: string; vertical: string; } export interface ProductCatalogDeleteAgenciesParams { business: string; [key: string]: unknown; } export interface ProductCatalogCreateAgenciesParams { business: string; enabled_collab_terms?: string[]; permitted_roles?: string[]; permitted_tasks?: string[]; skip_defaults?: boolean; utm_settings?: Record; [key: string]: unknown; } export interface ProductCatalogDeleteAssignedUsersParams { user: number; [key: string]: unknown; } export interface ProductCatalogListAssignedUsersParams { business: string; [key: string]: unknown; } export interface ProductCatalogCreateAssignedUsersParams { tasks: string[]; user: number; [key: string]: unknown; } export interface ProductCatalogListAutomotiveModelsParams { bulk_pagination?: boolean; filter?: Record; [key: string]: unknown; } export interface ProductCatalogCreateBatchParams { allow_upsert?: boolean; fbe_external_business_id?: string; requests: Record[]; version?: number; [key: string]: unknown; } export interface ProductCatalogCreateCatalogStoreParams { page: string; [key: string]: unknown; } export interface ProductCatalogListCategoriesParams { categorization_criteria: string; filter?: Record; [key: string]: unknown; } export interface ProductCatalogCreateCategoriesParams { data: Record[]; [key: string]: unknown; } export interface ProductCatalogListCheckBatchRequestStatusParams { error_priority?: string; handle: string; load_ids_of_invalid_requests?: boolean; [key: string]: unknown; } export interface ProductCatalogListCheckMarketplacePartnerDealsStatusParams { session_id: string; [key: string]: unknown; } export interface ProductCatalogListCheckMarketplacePartnerSellersStatusParams { session_id: string; [key: string]: unknown; } export interface ProductCatalogCreateCpasLsbImageBankParams { ad_group_id?: number; agency_business_id?: number; backup_image_urls: string[]; [key: string]: unknown; } export interface ProductCatalogListCreatorAssetCreativesParams { moderation_status?: string; [key: string]: unknown; } export interface ProductCatalogListDataSourcesParams { ingestion_source_type?: string; [key: string]: unknown; } export interface ProductCatalogListDestinationsParams { bulk_pagination?: boolean; filter?: Record; [key: string]: unknown; } export interface ProductCatalogListDiagnosticsParams { affected_channels?: string[]; affected_entities?: string[]; affected_features?: string[]; severities?: string[]; types?: string[]; [key: string]: unknown; } export interface ProductCatalogListEventStatsParams { breakdowns?: string[]; [key: string]: unknown; } export interface ProductCatalogDeleteExternalEventSourcesParams { external_event_sources?: Record; [key: string]: unknown; } export interface ProductCatalogCreateExternalEventSourcesParams { external_event_sources?: Record; [key: string]: unknown; } export interface ProductCatalogListFlightsParams { bulk_pagination?: boolean; filter?: Record; [key: string]: unknown; } export interface ProductCatalogCreateGeolocatedItemsBatchParams { allow_upsert?: boolean; item_type: string; requests: Record; [key: string]: unknown; } export interface ProductCatalogListHomeListingsParams { bulk_pagination?: boolean; filter?: Record; [key: string]: unknown; } export interface ProductCatalogCreateHomeListingsParams { address: Record; availability: string; currency: string; description?: string; home_listing_id: string; images: Record[]; listing_type?: string; name: string; num_baths?: number; num_beds?: number; num_units?: number; price: number; property_type?: string; url: string; year_built: number; [key: string]: unknown; } export interface ProductCatalogListHotelRoomsBatchParams { handle: string; [key: string]: unknown; } export interface ProductCatalogCreateHotelRoomsBatchParams { file?: File | Blob | ReadableStream; password?: string; standard: string; update_only?: boolean; url?: string; username?: string; [key: string]: unknown; } export interface ProductCatalogListHotelsParams { bulk_pagination?: boolean; filter?: Record; [key: string]: unknown; } export interface ProductCatalogCreateHotelsParams { address: Record; applinks?: Record; base_price?: number; brand?: string; currency?: string; description: string; guest_ratings?: Record[]; hotel_id?: string; images: Record[]; name: string; phone?: string; star_rating?: number; url: string; [key: string]: unknown; } export interface ProductCatalogCreateItemsBatchParams { allow_upsert?: boolean; item_sub_type?: string; item_type: string; requests: Record; version?: number; [key: string]: unknown; } export interface ProductCatalogCreateLocalizedItemsBatchParams { allow_upsert?: boolean; item_type: string; requests: Record; version?: number; [key: string]: unknown; } export interface ProductCatalogCreateMarketplacePartnerDealsDetailsParams { requests: Record; [key: string]: unknown; } export interface ProductCatalogCreateMarketplacePartnerSellersDetailsParams { requests: Record; [key: string]: unknown; } export interface ProductCatalogCreateMarketplacePartnerSignalsParams { conversion_type?: string; event_id?: string; event_name: string; event_source_url?: string; event_time: string; offer_data?: Record; order_data?: Record; user_data: Record; [key: string]: unknown; } export interface ProductCatalogCreateMediaTitlesParams { additional_image_urls?: string[]; android_app_name?: string; android_class?: string; android_package?: string; android_url?: string; awards?: string[]; cast?: string[]; category?: string; currency?: string; description?: string; director?: string[]; fb_product_category?: string; genre?: string[]; image_url: string; ios_app_name?: string; ios_app_store_id?: number; ios_url?: string; ipad_app_name?: string; ipad_app_store_id?: number; ipad_url?: string; iphone_app_name?: string; iphone_app_store_id?: number; iphone_url?: string; media_category?: string; name: string; price?: number; rating?: string; release_date?: string; retailer_id: string; url?: string; windows_phone_app_id?: string; windows_phone_app_name?: string; windows_phone_url?: string; [key: string]: unknown; } export interface ProductCatalogListPricingVariablesBatchParams { handle: string; [key: string]: unknown; } export interface ProductCatalogCreatePricingVariablesBatchParams { file?: File | Blob | ReadableStream; password?: string; standard: string; update_only?: boolean; url?: string; username?: string; [key: string]: unknown; } export interface ProductCatalogCreateProductFeedsParams { country?: string; default_currency?: string; deletion_enabled?: boolean; delimiter?: string; encoding?: string; feed_type?: string; file_name?: string; ingestion_source_type?: string; item_sub_type?: string; migrated_from_feed_id?: string; name?: string; override_type?: string; override_value?: string; primary_feed_ids?: string[]; quoted_fields_mode?: string; rules?: string[]; schedule?: string; selected_override_fields?: string[]; update_schedule?: string; use_case?: string; [key: string]: unknown; } export interface ProductCatalogCreateProductGroupsParams { retailer_id?: string; variants?: Record[]; [key: string]: unknown; } export interface ProductCatalogListProductSetsParams { ancestor_id?: string; has_children?: boolean; parent_id?: string; retailer_id?: string; [key: string]: unknown; } export interface ProductCatalogCreateProductSetsParams { filter?: Record; metadata?: Record; name: string; ordering_info?: number[]; publish_to_shops?: Record[]; retailer_id?: string; [key: string]: unknown; } export interface ProductCatalogListProductSetsBatchParams { handle: string; [key: string]: unknown; } export interface ProductCatalogListProductsParams { bulk_pagination?: boolean; error_priority?: string; error_type?: string; filter?: Record; return_only_approved_products?: boolean; [key: string]: unknown; } export interface ProductCatalogCreateProductsParams { additional_image_urls?: string[]; additional_variant_attributes?: Record; age_group?: string; allow_upsert?: boolean; android_app_name?: string; android_class?: string; android_package?: string; android_url?: string; availability?: string; brand?: string; category?: string; category_specific_fields?: Record; checkout_url?: string; color?: string; commerce_tax_category?: string; condition?: string; currency: string; custom_data?: Record; custom_label_0?: string; custom_label_1?: string; custom_label_2?: string; custom_label_3?: string; custom_label_4?: string; custom_number_0?: number; custom_number_1?: number; custom_number_2?: number; custom_number_3?: number; custom_number_4?: number; description?: string; expiration_date?: string; fb_product_category?: string; gender?: string; gtin?: string; image_url?: string; importer_address?: Record; importer_name?: string; inventory?: number; ios_app_name?: string; ios_app_store_id?: number; ios_url?: string; ipad_app_name?: string; ipad_app_store_id?: number; ipad_url?: string; iphone_app_name?: string; iphone_app_store_id?: number; iphone_url?: string; launch_date?: string; live_special_price?: string; manufacturer_info?: string; manufacturer_part_number?: string; marked_for_product_launch?: string; material?: string; mobile_link?: string; name: string; ordering_index?: number; origin_country?: string; pattern?: string; price: number; product_priority_0?: number; product_priority_1?: number; product_priority_2?: number; product_priority_3?: number; product_priority_4?: number; product_type?: string; quantity_to_sell_on_facebook?: number; retailer_id?: string; retailer_product_group_id?: string; return_policy_days?: number; rich_text_description?: string; sale_price?: number; sale_price_end_date?: string; sale_price_start_date?: string; short_description?: string; size?: string; start_date?: string; url?: string; visibility?: string; wa_compliance_category?: string; windows_phone_app_id?: string; windows_phone_app_name?: string; windows_phone_url?: string; [key: string]: unknown; } export interface ProductCatalogCreateUpdateGeneratedImageConfigParams { data: Record[]; [key: string]: unknown; } export interface ProductCatalogListVehicleOffersParams { bulk_pagination?: boolean; filter?: Record; [key: string]: unknown; } export interface ProductCatalogListVehiclesParams { bulk_pagination?: boolean; filter?: Record; [key: string]: unknown; } export interface ProductCatalogCreateVehiclesParams { address: Record; applinks?: Record; availability?: string; body_style: string; condition?: string; currency: string; date_first_on_lot?: string; dealer_id?: string; dealer_name?: string; dealer_phone?: string; description: string; drivetrain?: string; exterior_color: string; fb_page_id?: string; fuel_type?: string; images: Record[]; interior_color?: string; make: string; mileage: Record; model: string; price: number; state_of_vehicle: string; title: string; transmission?: string; trim?: string; url: string; vehicle_id: string; vehicle_type?: string; vin: string; year: number; [key: string]: unknown; } export interface ProductCatalogCreateVersionItemsBatchParams { allow_upsert?: boolean; item_type: string; item_version: string; requests: Record; version?: number; [key: string]: unknown; } export interface ProductCatalogUpdateParams { additional_vertical_option?: string; da_display_settings?: Record; default_image_url?: string; destination_catalog_settings?: Record; fallback_image_url?: string; flight_catalog_settings?: Record; name?: string; partner_integration?: Record; store_catalog_settings?: Record; [key: string]: unknown; } export function productCatalogNode(client: ApiClient, id: string) { return { __path: id, __brand: undefined as unknown as ProductCatalogFields, get: (opts: { fields: F; params?: Record }) => client.get>(`${id}`, opts), update: (params: ProductCatalogUpdateParams) => client.post(`${id}`, params as Record), delete: () => client.delete(`${id}`, {}), agencies: { __path: `${id}/agencies`, __brand: undefined as unknown as BusinessFields, list: (opts: { fields: F; params?: Record }) => new Cursor>(client, `${id}/agencies`, opts as { fields: readonly string[]; params?: Record }, metaPagination()), create: (params: ProductCatalogCreateAgenciesParams) => client.post(`${id}/agencies`, params as Record), delete: (params: ProductCatalogDeleteAgenciesParams) => client.delete(`${id}/agencies`, params as Record ?? {}), }, assignedUsers: { __path: `${id}/assigned_users`, __brand: undefined as unknown as AssignedUserFields, list: (opts: { fields: F; params?: ProductCatalogListAssignedUsersParams }) => new Cursor>(client, `${id}/assigned_users`, opts as { fields: readonly string[]; params?: Record }, metaPagination()), create: (params: ProductCatalogCreateAssignedUsersParams) => client.post(`${id}/assigned_users`, params as Record), delete: (params: ProductCatalogDeleteAssignedUsersParams) => client.delete(`${id}/assigned_users`, params as Record ?? {}), }, automotiveModels: (opts: { fields: F; params?: ProductCatalogListAutomotiveModelsParams }) => new Cursor>(client, `${id}/automotive_models`, opts as { fields: readonly string[]; params?: Record }, metaPagination()), createBatch: (params: ProductCatalogCreateBatchParams) => client.post(`${id}/batch`, params as Record), createCatalogStore: (params: ProductCatalogCreateCatalogStoreParams) => client.post(`${id}/catalog_store`, params as Record), categories: { __path: `${id}/categories`, __brand: undefined as unknown as ProductCatalogCategoryFields, list: (opts: { fields: F; params?: ProductCatalogListCategoriesParams }) => new Cursor>(client, `${id}/categories`, opts as { fields: readonly string[]; params?: Record }, metaPagination()), create: (params: ProductCatalogCreateCategoriesParams) => client.post(`${id}/categories`, params as Record), }, checkBatchRequestStatus: (opts: { fields: F; params?: ProductCatalogListCheckBatchRequestStatusParams }) => new Cursor>(client, `${id}/check_batch_request_status`, opts as { fields: readonly string[]; params?: Record }, metaPagination()), checkMarketplacePartnerDealsStatus: (opts: { fields: F; params?: ProductCatalogListCheckMarketplacePartnerDealsStatusParams }) => new Cursor>(client, `${id}/check_marketplace_partner_deals_status`, opts as { fields: readonly string[]; params?: Record }, metaPagination()), checkMarketplacePartnerSellersStatus: (opts: { fields: F; params?: ProductCatalogListCheckMarketplacePartnerSellersStatusParams }) => new Cursor>(client, `${id}/check_marketplace_partner_sellers_status`, opts as { fields: readonly string[]; params?: Record }, metaPagination()), collaborativeAdsLsbImageBank: (opts: { fields: F; params?: Record }) => new Cursor>(client, `${id}/collaborative_ads_lsb_image_bank`, opts as { fields: readonly string[]; params?: Record }, metaPagination()), collaborativeAdsShareSettings: (opts: { fields: F; params?: Record }) => new Cursor>(client, `${id}/collaborative_ads_share_settings`, opts as { fields: readonly string[]; params?: Record }, metaPagination()), createCpasLsbImageBank: (params: ProductCatalogCreateCpasLsbImageBankParams) => client.post(`${id}/cpas_lsb_image_bank`, params as Record), creatorAssetCreatives: (opts: { fields: F; params?: ProductCatalogListCreatorAssetCreativesParams }) => new Cursor>(client, `${id}/creator_asset_creatives`, opts as { fields: readonly string[]; params?: Record }, metaPagination()), dataSources: (opts: { fields: F; params?: ProductCatalogListDataSourcesParams }) => new Cursor>(client, `${id}/data_sources`, opts as { fields: readonly string[]; params?: Record }, metaPagination()), destinations: (opts: { fields: F; params?: ProductCatalogListDestinationsParams }) => new Cursor>(client, `${id}/destinations`, opts as { fields: readonly string[]; params?: Record }, metaPagination()), diagnostics: (opts: { fields: F; params?: ProductCatalogListDiagnosticsParams }) => new Cursor>(client, `${id}/diagnostics`, opts as { fields: readonly string[]; params?: Record }, metaPagination()), eventStats: (opts: { fields: F; params?: ProductCatalogListEventStatsParams }) => new Cursor>(client, `${id}/event_stats`, opts as { fields: readonly string[]; params?: Record }, metaPagination()), externalEventSources: { __path: `${id}/external_event_sources`, __brand: undefined as unknown as ExternalEventSourceFields, list: (opts: { fields: F; params?: Record }) => new Cursor>(client, `${id}/external_event_sources`, opts as { fields: readonly string[]; params?: Record }, metaPagination()), create: (params: ProductCatalogCreateExternalEventSourcesParams) => client.post(`${id}/external_event_sources`, params as Record), delete: (params: ProductCatalogDeleteExternalEventSourcesParams) => client.delete(`${id}/external_event_sources`, params as Record ?? {}), }, flights: (opts: { fields: F; params?: ProductCatalogListFlightsParams }) => new Cursor>(client, `${id}/flights`, opts as { fields: readonly string[]; params?: Record }, metaPagination()), createGeolocatedItemsBatch: (params: ProductCatalogCreateGeolocatedItemsBatchParams) => client.post(`${id}/geolocated_items_batch`, params as Record), homeListings: { __path: `${id}/home_listings`, __brand: undefined as unknown as HomeListingFields, list: (opts: { fields: F; params?: ProductCatalogListHomeListingsParams }) => new Cursor>(client, `${id}/home_listings`, opts as { fields: readonly string[]; params?: Record }, metaPagination()), create: (params: ProductCatalogCreateHomeListingsParams) => client.post(`${id}/home_listings`, params as Record), }, hotelRoomsBatch: { __path: `${id}/hotel_rooms_batch`, __brand: undefined as unknown as ProductCatalogHotelRoomsBatchFields, list: (opts: { fields: F; params?: ProductCatalogListHotelRoomsBatchParams }) => new Cursor>(client, `${id}/hotel_rooms_batch`, opts as { fields: readonly string[]; params?: Record }, metaPagination()), create: (params: ProductCatalogCreateHotelRoomsBatchParams) => client.post(`${id}/hotel_rooms_batch`, params as Record), }, hotels: { __path: `${id}/hotels`, __brand: undefined as unknown as HotelFields, list: (opts: { fields: F; params?: ProductCatalogListHotelsParams }) => new Cursor>(client, `${id}/hotels`, opts as { fields: readonly string[]; params?: Record }, metaPagination()), create: (params: ProductCatalogCreateHotelsParams) => client.post(`${id}/hotels`, params as Record), }, createItemsBatch: (params: ProductCatalogCreateItemsBatchParams) => client.post(`${id}/items_batch`, params as Record), createLocalizedItemsBatch: (params: ProductCatalogCreateLocalizedItemsBatchParams) => client.post(`${id}/localized_items_batch`, params as Record), createMarketplacePartnerDealsDetail: (params: ProductCatalogCreateMarketplacePartnerDealsDetailsParams) => client.post(`${id}/marketplace_partner_deals_details`, params as Record), createMarketplacePartnerSellersDetail: (params: ProductCatalogCreateMarketplacePartnerSellersDetailsParams) => client.post(`${id}/marketplace_partner_sellers_details`, params as Record), createMarketplacePartnerSignal: (params: ProductCatalogCreateMarketplacePartnerSignalsParams) => client.post(`${id}/marketplace_partner_signals`, params as Record), createMediaTitle: (params: ProductCatalogCreateMediaTitlesParams) => client.post>(`${id}/media_titles`, params as Record), pricingVariablesBatch: { __path: `${id}/pricing_variables_batch`, __brand: undefined as unknown as ProductCatalogPricingVariablesBatchFields, list: (opts: { fields: F; params?: ProductCatalogListPricingVariablesBatchParams }) => new Cursor>(client, `${id}/pricing_variables_batch`, opts as { fields: readonly string[]; params?: Record }, metaPagination()), create: (params: ProductCatalogCreatePricingVariablesBatchParams) => client.post(`${id}/pricing_variables_batch`, params as Record), }, productFeeds: { __path: `${id}/product_feeds`, __brand: undefined as unknown as ProductFeedFields, list: (opts: { fields: F; params?: Record }) => new Cursor>(client, `${id}/product_feeds`, opts as { fields: readonly string[]; params?: Record }, metaPagination()), create: (params: ProductCatalogCreateProductFeedsParams) => client.post(`${id}/product_feeds`, params as Record), }, productGroups: { __path: `${id}/product_groups`, __brand: undefined as unknown as ProductGroupFields, list: (opts: { fields: F; params?: Record }) => new Cursor>(client, `${id}/product_groups`, opts as { fields: readonly string[]; params?: Record }, metaPagination()), create: (params: ProductCatalogCreateProductGroupsParams) => client.post(`${id}/product_groups`, params as Record), }, productSets: { __path: `${id}/product_sets`, __brand: undefined as unknown as ProductSetFields, list: (opts: { fields: F; params?: ProductCatalogListProductSetsParams }) => new Cursor>(client, `${id}/product_sets`, opts as { fields: readonly string[]; params?: Record }, metaPagination()), create: (params: ProductCatalogCreateProductSetsParams) => client.post(`${id}/product_sets`, params as Record), }, productSetsBatch: (opts: { fields: F; params?: ProductCatalogListProductSetsBatchParams }) => new Cursor>(client, `${id}/product_sets_batch`, opts as { fields: readonly string[]; params?: Record }, metaPagination()), products: { __path: `${id}/products`, __brand: undefined as unknown as ProductItemFields, list: (opts: { fields: F; params?: ProductCatalogListProductsParams }) => new Cursor>(client, `${id}/products`, opts as { fields: readonly string[]; params?: Record }, metaPagination()), create: (params: ProductCatalogCreateProductsParams) => client.post(`${id}/products`, params as Record), }, createUpdateGeneratedImageConfig: (params: ProductCatalogCreateUpdateGeneratedImageConfigParams) => client.post(`${id}/update_generated_image_config`, params as Record), vehicleOffers: (opts: { fields: F; params?: ProductCatalogListVehicleOffersParams }) => new Cursor>(client, `${id}/vehicle_offers`, opts as { fields: readonly string[]; params?: Record }, metaPagination()), vehicles: { __path: `${id}/vehicles`, __brand: undefined as unknown as VehicleFields, list: (opts: { fields: F; params?: ProductCatalogListVehiclesParams }) => new Cursor>(client, `${id}/vehicles`, opts as { fields: readonly string[]; params?: Record }, metaPagination()), create: (params: ProductCatalogCreateVehiclesParams) => client.post(`${id}/vehicles`, params as Record), }, versionConfigs: (opts: { fields: F; params?: Record }) => new Cursor>(client, `${id}/version_configs`, opts as { fields: readonly string[]; params?: Record }, metaPagination()), createVersionItemsBatch: (params: ProductCatalogCreateVersionItemsBatchParams) => client.post(`${id}/version_items_batch`, params as Record), }; }