/* eslint-disable */ /** * This file was automatically generated by json-schema-to-typescript. * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file, * and run json-schema-to-typescript to regenerate this file. */ export type CollectionType = | "long_tail_collection" | "campaign" | "category" | "smart_pick" | "style" | "brand" | "look"; export type ContentPosition = "left" | "right" | "center"; export type Type = "video"; export type Url = string; export type Link = string | null; export interface GetListingResponse { /** * Depict ID of the listing. */ listing_id: string; /** * ID of the listing in the merchant PIM, CMS or similar. */ external_id?: string; listing_type: CollectionType; /** * Show or hide this listing in navigation breadcrumbs. */ show_in_breadcrumbs: boolean; /** * Show or hide this listing in quicklinks. */ show_in_quicklinks: boolean; /** * List of image URLs for the listing. */ image_urls: string[]; title: string; slug?: string; /** * Ordered list of ancestors of the listing, useful for navigation breadcrumbs. The first element is the root listing. */ ancestors: ProductListing[]; /** * Siblings of the listing, i.e. listings that share the same parent, INCLUDING the listing itself. Sortet by title. */ siblings: ProductListing[]; /** * Children of the listing, i.e. listings that have the listing as their parent. Sorted by title. */ children: ProductListing[]; /** * List of content blocks to be displayed on the listing page. If none no content blocks should be displayed. */ content_blocks: ContentBlock[]; } /** * Represents a product listing, e.g. a category or a collection. */ export interface ProductListing { /** * Depict ID of the listing. */ listing_id: string; /** * ID of the listing in the merchant PIM, CMS or similar. */ external_id?: string; listing_type: CollectionType; /** * Show or hide this listing in navigation breadcrumbs. */ show_in_breadcrumbs: boolean; /** * Show or hide this listing in quicklinks. */ show_in_quicklinks: boolean; /** * List of image URLs for the listing. */ image_urls: string[]; title: string; slug?: string; } export interface ContentBlock { span_columns: number; span_rows: number; position: ContentPosition; row: number; content: ImageContent | VideoContent; [k: string]: unknown; } export interface ImageContent { type?: "image"; url: string; link: string; [k: string]: unknown; } export interface VideoContent { type?: Type; url: Url; link: Link; [k: string]: unknown; }