import { HeroConfig } from './hero.interfaces'; import { FeatureGridConfig } from './feature.interfaces'; import { TestimonialCarouselConfig, StatisticsConfig } from './social-proof.interfaces'; import { PricingTableConfig, CTASectionConfig } from './conversion.interfaces'; import { LandingHeaderConfig, FooterConfig } from './navigation.interfaces'; import { FAQConfig, TeamConfig, TimelineConfig } from './content.interfaces'; export interface LandingPageSection { id: string; component: string; configuration: any; visible?: boolean; order?: number; } export interface LandingPageTemplate { id: string; name: string; description: string; type: 'saas' | 'product' | 'agency' | 'custom'; sections: LandingPageSection[]; theme?: 'light' | 'dark' | 'gradient'; metadata?: { title?: string; description?: string; keywords?: string[]; author?: string; }; } // Pre-configured template interfaces export interface SaaSTemplateConfig { hero: HeroConfig; features: FeatureGridConfig; socialProof: StatisticsConfig; pricing: PricingTableConfig; testimonials: TestimonialCarouselConfig; faq: FAQConfig; cta: CTASectionConfig; header?: LandingHeaderConfig; footer?: FooterConfig; } export interface ProductTemplateConfig { hero: HeroConfig; features: FeatureGridConfig; testimonials: TestimonialCarouselConfig; pricing: PricingTableConfig; cta: CTASectionConfig; header?: LandingHeaderConfig; footer?: FooterConfig; } export interface AgencyTemplateConfig { hero: HeroConfig; services: FeatureGridConfig; team: TeamConfig; timeline: TimelineConfig; testimonials: TestimonialCarouselConfig; cta: CTASectionConfig; header?: LandingHeaderConfig; footer?: FooterConfig; }