import React from 'react'; import type { RingtoneTheme, RingtoneTexts, RingtoneItem } from '../Ringtone'; import type { WallpapersTheme, WallpapersTexts, WallpaperItem } from '../Wallpapers'; import type { WallpapersNameTheme, WallpapersNameTexts, WallpapersNameItem, WallpapersNameCategory, WallpapersNameHowItWorksStep, AETemplatesConfig, AETemplatesTexts, AETemplatesTheme, WallpapersNamePageTexts, WallpapersNamePageTheme } from '../WallpapersName'; import type { MemeGeneratorTheme, MemeGeneratorTexts, MemeItem, MemeFont } from '../MemeGenerator'; import type { QuizTheme, QuizTexts, QuizItem } from '../Quiz'; import type { StickersTheme, StickersTexts, StickerItem } from '../Stickers'; import type { AvatarAITheme, AvatarAITexts, AvatarAIConfig, AvatarStyle, AvatarMood } from '../AvatarAI'; import type { FaceSwapTheme, FaceSwapTexts, FaceSwapConfig, FaceSwapExample, FaceSwapCollectionCategory } from '../CreativeFaceSwap'; import type { DeepARTexts, DeepARFilter } from '../ARFilters/types'; import type { ArtGeneratorConfig, ArtGeneratorTheme, ArtGeneratorTexts, ArtGeneratorStyle, ArtGeneratorExample, ArtGeneratorCollectionCategory } from '../ArtGenerator'; import type { GifsIaConfig, GifsIaTheme, GifsIaTexts, GifsIaGalleryItem } from '../GifsIa'; import type { ForYouLocale } from './i18n/forYouTranslations'; import type { ForYouContentPreset } from './api/forYouFetch'; export type { ForYouLocale }; export interface ForYouCardVisual { desktopImage: string; mobileImage?: string; imageAlt?: string; imageOnRight?: boolean; titleColor?: string; descriptionColor?: string; ctaColor?: string; ctaHoverColor?: string; backgroundColor?: string; paddingClass?: string; constrainWidth?: boolean; } export interface ForYouCardTranslation { title?: string; description?: string; ctaText?: string; } export interface ForYouPageTranslations { backButtonText?: string; cards?: { ringtone?: ForYouCardTranslation; wallpapers?: ForYouCardTranslation; wallpapersName?: ForYouCardTranslation; memeGenerator?: ForYouCardTranslation; quiz?: ForYouCardTranslation; stickers?: ForYouCardTranslation; avatarAI?: ForYouCardTranslation; creativeFaceSwap?: ForYouCardTranslation; arFilters?: ForYouCardTranslation; artGenerator?: ForYouCardTranslation; gifsIa?: ForYouCardTranslation; }; } export interface ForYouFeatureConfig { apiUrl?: string; apiBaseUrl?: string; tags?: string | string[]; locale?: string; website_id?: string; initialCount?: number; loadMoreCount?: number; contents?: ForYouContentPreset[]; } export interface RingtoneFeatureOverride { card?: ForYouCardVisual; theme?: Partial; texts?: Partial; config?: ForYouFeatureConfig; ringtones?: RingtoneItem[]; onListen?: (ringtone: RingtoneItem) => void; onDownload?: (ringtone: RingtoneItem) => void; } export interface WallpapersTab { label: string; tag: string; } export interface WallpapersFeatureOverride { card?: ForYouCardVisual; theme?: Partial; texts?: Partial; config?: ForYouFeatureConfig & { wallpapers?: WallpaperItem[]; fallbackImage?: string; heroBannerImage?: string; }; wallpapers?: WallpaperItem[]; breadcrumbItems?: { label: string; href?: string; }[]; tabs?: WallpapersTab[]; tabsTheme?: { activeColor?: string; activeTextColor?: string; inactiveColor?: string; inactiveTextColor?: string; borderColor?: string; }; onDownloadSuccess?: (wallpaper: WallpaperItem) => void; onDownloadError?: (wallpaper: WallpaperItem, error: unknown) => void; } export interface WallpapersNameFeatureOverride { card?: ForYouCardVisual; theme?: Partial; texts?: Partial; config?: ForYouFeatureConfig & { wid?: string; }; items?: WallpapersNameItem[]; categories?: WallpapersNameCategory[]; howItWorksSteps?: WallpapersNameHowItWorksStep[]; showEmptyState?: boolean; onCustomise?: (item: WallpapersNameItem) => void; aeTemplatesConfig?: AETemplatesConfig; aeTemplatesTexts?: AETemplatesTexts; aeTemplatesTheme?: AETemplatesTheme; pageTexts?: WallpapersNamePageTexts; pageTheme?: WallpapersNamePageTheme; } export interface MemeGeneratorFeatureOverride { card?: ForYouCardVisual; theme?: Partial; texts?: Partial; config?: ForYouFeatureConfig; memes?: MemeItem[]; fonts?: MemeFont[]; defaultMemeIndex?: number; imageProxyUrl?: string; onDownload?: (meme: MemeItem, topText: string, bottomText: string) => void; } export interface QuizFeatureOverride { card?: ForYouCardVisual; theme?: Partial; texts?: Partial; config?: ForYouFeatureConfig & { questionsApiUrl?: string; includeIds?: number[]; }; onQuizStart?: (quiz: QuizItem) => void; onQuizComplete?: (score: number, totalQuestions: number) => void; } export interface ForYouStep { number?: string | number; title: string; description?: string; image?: string; } export interface StickersFeatureOverride { card?: ForYouCardVisual; theme?: Partial; texts?: Partial; config?: ForYouFeatureConfig & { preset?: string; }; downloadProxyUrl?: string; onDownload?: (sticker: StickerItem) => void; steps?: ForYouStep[]; stepsTitle?: string; showSteps?: boolean; stepsBadgeColor?: string; } export interface AvatarAIFeatureOverride { card?: ForYouCardVisual; theme?: Partial; texts?: Partial; config?: AvatarAIConfig; styles?: AvatarStyle[]; stylesTag?: string; apiBaseUrl?: string; locale?: string; moods?: AvatarMood[]; onGenerationComplete?: (imageUrl: string) => void; onError?: (error: string) => void; } export interface CreativeFaceSwapFeatureOverride { card?: ForYouCardVisual; theme?: Partial; texts?: Partial; config?: FaceSwapConfig; examples?: FaceSwapExample[]; examplesTag?: string; contentsConfig?: ForYouFeatureConfig; collections?: FaceSwapCollectionCategory[]; apiBaseUrl?: string; locale?: string; onGenerationComplete?: (imageUrl: string) => void; onError?: (error: string) => void; } export interface ArtGeneratorFeatureOverride { card?: ForYouCardVisual; theme?: Partial; texts?: Partial; config?: ArtGeneratorConfig; styles?: ArtGeneratorStyle[]; examples?: ArtGeneratorExample[]; collections?: ArtGeneratorCollectionCategory[]; onGenerationComplete?: (imageUrl: string, prompt: string) => void; onDownload?: (imageUrl: string) => void; onError?: (error: string) => void; } export interface GifsIaFeatureOverride { card?: ForYouCardVisual; theme?: Partial; texts?: Partial; config?: GifsIaConfig; galleryItems?: GifsIaGalleryItem[]; imageProxyUrl?: string; onGifCreated?: (gifUrl: string) => void; onDownload?: (gifUrl: string) => void; onCopyLink?: (gifUrl: string) => void; onError?: (error: string) => void; } export interface ARFiltersFeatureOverride { card?: ForYouCardVisual; texts?: Partial; filters?: DeepARFilter[]; tags?: string | string[]; locale?: string; licenseKey?: string; websiteId?: string | number; apiBaseUrl?: string; downloadProxyUrl?: string; onPhotoTaken?: (blob: Blob) => void; onVideoRecorded?: (blob: Blob) => void; steps?: ForYouStep[]; stepsTitle?: string; showSteps?: boolean; tips?: string[]; tipsTitle?: string; stepsBadgeColor?: string; } export interface ForYouFeatures { ringtone?: RingtoneFeatureOverride; wallpapers?: WallpapersFeatureOverride; wallpapersName?: WallpapersNameFeatureOverride; memeGenerator?: MemeGeneratorFeatureOverride; quiz?: QuizFeatureOverride; stickers?: StickersFeatureOverride; avatarAI?: AvatarAIFeatureOverride; creativeFaceSwap?: CreativeFaceSwapFeatureOverride; arFilters?: ARFiltersFeatureOverride; artGenerator?: ArtGeneratorFeatureOverride; gifsIa?: GifsIaFeatureOverride; } export interface ForYouHubBanner { desktopImage: string; mobileImage?: string; imageAlt?: string; title?: string; subtitle?: string; backgroundColor?: string; titleColor?: string; subtitleColor?: string; minHeight?: string; padding?: string; highlights?: ForYouHubBannerHighlight[]; highlightsBackgroundColor?: string; highlightsTextColor?: string; highlightsIconColor?: string; } export interface ForYouHubBannerHighlight { icon?: string; text: string; } export interface ForYouPageTheme { backgroundColor?: string; sectionSpacing?: string; backButtonStyle?: React.CSSProperties; backButtonClassName?: string; backButtonIconColor?: string; showBackButtonIcon?: boolean; } export interface ForYouPageProps { features: ForYouFeatures; order?: Array; pageTheme?: ForYouPageTheme; hubBanner?: ForYouHubBanner; locale?: ForYouLocale; translations?: ForYouPageTranslations; initialFeature?: keyof ForYouFeatures; } export declare function ForYouPage({ features, order, pageTheme, hubBanner, locale, translations, initialFeature, }: ForYouPageProps): import("react/jsx-runtime").JSX.Element | null; export default ForYouPage; //# sourceMappingURL=ForYouPage.d.ts.map