import { Component } from 'vue'; export type Alignment = 'start' | 'center' | 'end'; export type ContentPosition = 'start' | 'center' | 'end'; export type ContentType = 'slider' | 'bannerWithText' | 'video' | 'featuredCategories' | 'sliderWithText' | 'multiColumns' | 'highlight' | 'faq' | 'featuredCategoriesWithProducts' | 'highlightsWithImages' | 'productPromotion'; export interface Image { url?: string; name?: string; } export interface ImageContent { id?: string; desktop: Image; mobile: Image; link?: string; } export interface Title { text: string; color?: string; } export interface Subtitle { position: 'above' | 'below'; text: string; color?: string; } export interface SubtitleTextOnly { text: string; color?: string; } export interface Description { text: string; color?: string; } export interface Button { rounded: boolean; size: 'small' | 'base' | 'large'; raised: boolean; variant: 'base' | 'outlined' | 'text' | 'link'; text: string; link: string; color?: string; backgroundColor?: string; } export interface Margin { left: number; right: number; bottom: number; } export interface Autoplay { enable: boolean; interval: number; } export interface Quote { enable: boolean; horizontalPosition: ContentPosition; outlined: boolean; } export interface Content { id?: string; horizontalPosition?: ContentPosition; alignment: Alignment; title: Title; subtitle: Subtitle; button?: Button; backgroundColor?: string; description?: Description; } export interface SliderDetail { id: string; link: string; image: ImageContent; content: Content; } export interface Slider { backgroundColor?: string; navigationIcon: string; margin: Margin; autoplay: Autoplay; details: SliderDetail[]; } export interface BannerWithText { height: string; backgroundColor?: string; margin: Margin; link: string; content: Content; image: ImageContent; } export interface Video { link: string; videoHeight: string; backgroundColor?: string; autoplay: boolean; margin: Margin; title: string; content: Content; } export interface FeaturedCategoriesImage { id: string; link?: string; image: Image; } export interface FeaturedCategories { backgroundColor?: string; margin: Margin; content: Content; images: FeaturedCategoriesImage[]; } export interface SliderWithTextImage { id: string; link?: string; image: Image; } export interface SliderWithText { margin: Margin; autoplay: Autoplay; content: Content; images: SliderWithTextImage[]; } export interface MultiColumnsDetail { id: string; link: string; image?: Image; subtitle: SubtitleTextOnly; description: Description; } export interface MultiColumns { backgroundColor?: string; margin: Margin; content: Content; details: MultiColumnsDetail[]; } export interface Highlight extends Content { margin: Margin; quote: Quote; } export interface FAQTopicDetail { id: string; question: string; answer: string; } export interface FAQTopic { id: string; title: string; details: FAQTopicDetail[]; } export interface FAQ { backgroundColor?: string; margin: Margin; content: Content; topics: FAQTopic[]; } export interface FeaturedCategoriesWithProductsTab { id: string; label: string; categoryId: string; } export interface FeaturedCategoriesWithProducts { backgroundColor?: string; margin: Margin; horizontalPosition: ContentPosition; title: Title; tabs: FeaturedCategoriesWithProductsTab[]; style: 'grid' | 'slider'; loadMore?: boolean; } export interface HighlightsWithImagesDetail { id: string; image: Image; subtitle: SubtitleTextOnly; description: Description; link: string; } export interface HighlightsWithImages { backgroundColor?: string; margin: Margin; title: Title; details: HighlightsWithImagesDetail[]; } export interface ProductSliderImage { image: Image; link: string; } export interface ProductPromotion { backgroundColor?: string; margin: Margin; horizontalPosition: ContentPosition; title: Title; promotionType: string; style: 'grid' | 'slider'; loadMore?: boolean; } export interface ProductSlider { backgroundColor?: string; margin: Margin; content: Content; image: ProductSliderImage; skus: string; } export interface TimelineItem { id: string; image: Image; content: Content; label: string; } export interface Timeline { backgroundColor?: string; content: Content; items: TimelineItem[]; } export interface Section { type: ContentType; id: string; slider?: Slider; bannerWithText?: BannerWithText; video?: Video; featuredCategories?: FeaturedCategories; sliderWithText?: SliderWithText; multiColumns?: MultiColumns; highlight?: Highlight; faq?: FAQ; featuredCategoriesWithProducts?: FeaturedCategoriesWithProducts; highlightsWithImages?: HighlightsWithImages; productPromotion?: ProductPromotion; productSlider?: ProductSlider; timeline?: Timeline; textEditor?: TextEditor; vueComponent?: Component; isLoading?: boolean; } export interface FilterInput { slug?: { eq: string; }; website?: { eq: string; }; } export type Status = 'DRAFT' | 'PUBLISHED'; export type Locale = 'en' | 'zh-Hant-TW'; export interface Page { components: Section[]; title: string; metaTitle: string; metaDescription: string; } export interface PageQuery { pages: Page[]; } export interface Popup { enabled: boolean; showAgainAfterDays: number; backgroundImage?: { desktop: Image; mobile: Image; link?: string; }; content?: Content; } export interface AnnouncementBar { enabled: boolean; content?: Content; } export interface TextEditor { content: string; } //# sourceMappingURL=strapi.d.ts.map