import { CTAButton } from './shared.interfaces';

/**
 * Configuration interface for hero section components
 */
export interface HeroConfig {
  title: string;
  subtitle?: string;
  ctaPrimary?: CTAButton;
  ctaSecondary?: CTAButton;
  backgroundType?: 'solid' | 'gradient' | 'image' | 'video' | 'animated';
  alignment?: 'left' | 'center' | 'right';
  minHeight?: 'full' | 'large' | 'medium';
  animationType?: 'fade' | 'slide' | 'zoom';
}

/**
 * Hero with image specific configuration
 */
export interface HeroImageConfig extends HeroConfig {
  imageUrl?: string;
  imageAlt?: string;
  imagePosition?: 'left' | 'right';
  imageMobile?: 'above' | 'below' | 'hidden';
}

/**
 * Split screen hero configuration
 */
export interface HeroSplitConfig extends HeroConfig {
  leftContent?: {
    type: 'text' | 'image' | 'video';
    content: string;
  };
  rightContent?: {
    type: 'text' | 'image' | 'video';
    content: string;
  };
  splitRatio?: '50-50' | '60-40' | '40-60' | '70-30' | '30-70';
}