import { Maybe, Scalars, ConfigurableProductOptions, ConfigurableProductOptionsValues, ConfigurableVariant, SimpleProduct, BundleProduct, ConfigurableProduct, Products, ProductReviews } from '@vue-storefront/magento-types'; import { Component } from 'vue'; export interface SizeChartRow { values?: Array | null; } export interface SizeChart { is_active: boolean; name: string; description?: string | null; sizechart_info: string; cm_csv?: SizeChartRow[] | null; inches_csv?: SizeChartRow[] | null; } export interface ProductTag { id: string; from: number; to: number; sort: number; frame_image: string; tag_color: string; tag_style: string; tag_type: string; label_text: string; label_color: string; label_font_style: string; } export interface ProductTagQuery { product_tags: ProductTag[]; } export interface SwatchData { __typename: string; thumbnail?: string; value: string; } export interface ExtendConfigurableProductOptionsValues extends ConfigurableProductOptionsValues { swatch_data: SwatchData; swatchComponent: Component; } export interface ExtendConfigurableProductOptions extends Omit { values: ExtendConfigurableProductOptionsValues[]; } export interface ConfigurableAttributeOption { code: string; uid: string; } export interface ExtendConfigurableVariant extends Omit { attributes: ConfigurableAttributeOption[]; } export interface CatalogRule { name: string; } export type ProductType = 'SimpleProduct' | 'BundleProduct' | 'ConfigurableProduct'; export interface ExtendProductInterface extends SimpleProduct, BundleProduct, Omit { __typename: ProductType; configurable_options?: Maybe>>; variants?: Maybe>>; related_products?: Maybe>>; upsell_products?: Maybe>>; extra_info_1?: Maybe; extra_info_2?: Maybe; extra_info_3?: Maybe; extra_info_4?: Maybe; extra_info_5?: Maybe; product_tags?: Maybe; sizechart?: Maybe>>; allow_cvs?: number; stakeholder?: string; prepaid?: number; rules?: Maybe>>; } export type CrosssellProduct = Maybe>>; export interface AggregationOption { label?: string | null; value: string; count?: number | null; } export interface Aggregation { attribute_code: string; count?: number | null; label?: string | null; options: AggregationOption[]; position: number | null; } export interface SortFieldsOption { label: string; value: string; id: string; direction: 'ASC' | 'DESC'; /** * @deprecated */ tag?: string; } export interface SortFields { default: string; options: SortFieldsOption[]; } export interface ExtendProducts extends Omit { aggregations: Aggregation[]; sort_fields: SortFields; items: ExtendProductInterface[]; } export interface ReviewItem { review_count: number; reviews: ProductReviews; } export interface ProductReviewQuery { products: { items: ReviewItem[]; }; } //# sourceMappingURL=product.d.ts.map