import type { Schema, Struct } from '@strapi/strapi';

export interface AboutAboutCompany extends Struct.ComponentSchema {
  collectionName: 'components_about_about_companies';
  info: {
    displayName: 'About Company';
    icon: 'building';
  };
  attributes: {
    badge: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    description: Schema.Attribute.Text &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    image_1x1: Schema.Attribute.Media<'images'> & Schema.Attribute.Required;
  };
}

export interface AboutCharitableTrust extends Struct.ComponentSchema {
  collectionName: 'components_about_charitable_trusts';
  info: {
    displayName: 'Charitable Trust';
    icon: 'hands-holding';
  };
  attributes: {
    aidBulletIcon_1x1: Schema.Attribute.Media<'images'>;
    aidIntroText: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    aidItems: Schema.Attribute.Component<'about.trust-aid-item', true> &
      Schema.Attribute.Required;
    badge: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    description: Schema.Attribute.Text &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    slides: Schema.Attribute.Component<'about.charitable-trust-slide', true>;
    watermarkText: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
  };
}

export interface AboutCharitableTrustSlide extends Struct.ComponentSchema {
  collectionName: 'components_about_charitable_slides';
  info: {
    displayName: 'Charity Slide';
    icon: 'image';
  };
  attributes: {
    image_16x10: Schema.Attribute.Media<'images'> & Schema.Attribute.Required;
  };
}

export interface AboutFounder extends Struct.ComponentSchema {
  collectionName: 'components_about_founders';
  info: {
    displayName: 'Founder Section';
    icon: 'users';
  };
  attributes: {
    slides: Schema.Attribute.Component<'about.founder-slide', true>;
  };
}

export interface AboutFounderBioParagraph extends Struct.ComponentSchema {
  collectionName: 'components_about_founder_bio_paragraphs';
  info: {
    displayName: 'Bio Paragraph';
    icon: 'align-left';
  };
  attributes: {
    text: Schema.Attribute.Text &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
  };
}

export interface AboutFounderSlide extends Struct.ComponentSchema {
  collectionName: 'components_about_founder_slides';
  info: {
    displayName: 'Founder Slide';
    icon: 'user';
  };
  attributes: {
    badge: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    bio: Schema.Attribute.Component<'about.founder-bio-paragraph', true> &
      Schema.Attribute.Required;
    image_8x9: Schema.Attribute.Media<'images'> & Schema.Attribute.Required;
    quote: Schema.Attribute.Text &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    quoteAttribution: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    watermark: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
  };
}

export interface AboutGallery extends Struct.ComponentSchema {
  collectionName: 'components_about_galleries';
  info: {
    displayName: 'Gallery Section';
    icon: 'images';
  };
  attributes: {
    badge: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    description: Schema.Attribute.Text &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    images: Schema.Attribute.Component<'about.gallery-image', true> &
      Schema.Attribute.Required;
  };
}

export interface AboutGalleryImage extends Struct.ComponentSchema {
  collectionName: 'components_about_gallery_images';
  info: {
    displayName: 'Gallery Image';
    icon: 'picture';
  };
  attributes: {
    aspect: Schema.Attribute.Enumeration<
      ['aspect-[4/3]', 'aspect-[3/2]', 'aspect-[3/4]', 'aspect-square']
    > &
      Schema.Attribute.Required;
    src_3x2: Schema.Attribute.Media<'images'> & Schema.Attribute.Required;
  };
}

export interface AboutGoldenRule extends Struct.ComponentSchema {
  collectionName: 'components_about_golden_rules_items';
  info: {
    displayName: 'Golden Rule';
    icon: 'star';
  };
  attributes: {
    description: Schema.Attribute.Text &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    icon_1x1: Schema.Attribute.Media<'images'>;
    num: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    title: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
  };
}

export interface AboutGoldenRules extends Struct.ComponentSchema {
  collectionName: 'components_about_golden_rules';
  info: {
    displayName: 'Golden Rules Section';
    icon: 'crown';
  };
  attributes: {
    badge: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    cards: Schema.Attribute.Component<'about.golden-rule', true> &
      Schema.Attribute.Required;
    description: Schema.Attribute.Text &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
  };
}

export interface AboutPastVenture extends Struct.ComponentSchema {
  collectionName: 'components_about_past_ventures';
  info: {
    displayName: 'Past Venture';
    icon: 'briefcase';
  };
  attributes: {
    description: Schema.Attribute.Text &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    image_3x2: Schema.Attribute.Media<'images'> & Schema.Attribute.Required;
    logo_1x1: Schema.Attribute.Media<'images'> & Schema.Attribute.Required;
    name: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
  };
}

export interface AboutPastVentures extends Struct.ComponentSchema {
  collectionName: 'components_about_past_ventures_sections';
  info: {
    displayName: 'Past Ventures Section';
    icon: 'store';
  };
  attributes: {
    badge: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    description: Schema.Attribute.Text &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    ventures: Schema.Attribute.Component<'about.past-venture', true> &
      Schema.Attribute.Required;
  };
}

export interface AboutPhilanthropic extends Struct.ComponentSchema {
  collectionName: 'components_about_philanthropics';
  info: {
    displayName: 'Philanthropic Section';
    icon: 'globe';
  };
  attributes: {
    activities: Schema.Attribute.Component<
      'about.philanthropic-activity',
      true
    > &
      Schema.Attribute.Required;
    badge: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    description: Schema.Attribute.Text &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
  };
}

export interface AboutPhilanthropicActivity extends Struct.ComponentSchema {
  collectionName: 'components_about_philanthropic_activities';
  info: {
    displayName: 'Philanthropic Activity';
    icon: 'hand-holding-heart';
  };
  attributes: {
    description: Schema.Attribute.Text &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    highlight: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    image_5x3: Schema.Attribute.Media<'images'>;
    title: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
  };
}

export interface AboutTestimonial extends Struct.ComponentSchema {
  collectionName: 'components_about_testimonials_items';
  info: {
    displayName: 'Testimonial';
    icon: 'comment';
  };
  attributes: {
    avatar_1x1: Schema.Attribute.Media<'images'> & Schema.Attribute.Required;
    name: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    quote: Schema.Attribute.Text &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    rating: Schema.Attribute.Integer & Schema.Attribute.Required;
    role: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
  };
}

export interface AboutTestimonials extends Struct.ComponentSchema {
  collectionName: 'components_about_testimonials_sections';
  info: {
    displayName: 'Testimonials Section';
    icon: 'comments';
  };
  attributes: {
    badge: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    description: Schema.Attribute.Text &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    mobileDescription: Schema.Attribute.Text &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    testimonials: Schema.Attribute.Component<'about.testimonial', true> &
      Schema.Attribute.Required;
  };
}

export interface AboutTimeline extends Struct.ComponentSchema {
  collectionName: 'components_about_timelines';
  info: {
    displayName: 'Timeline Section';
    icon: 'stream';
  };
  attributes: {
    backgroundImage_3x2: Schema.Attribute.Media<'images'>;
    badge: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    years: Schema.Attribute.Component<'about.timeline-year', true> &
      Schema.Attribute.Required;
  };
}

export interface AboutTimelineSlide extends Struct.ComponentSchema {
  collectionName: 'components_about_timeline_slides';
  info: {
    displayName: 'Timeline Slide';
    icon: 'image';
  };
  attributes: {
    body: Schema.Attribute.Text &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    image_16x9: Schema.Attribute.Media<'images'> & Schema.Attribute.Required;
  };
}

export interface AboutTimelineYear extends Struct.ComponentSchema {
  collectionName: 'components_about_timeline_years';
  info: {
    displayName: 'Timeline Year';
    icon: 'calendar';
  };
  attributes: {
    slides: Schema.Attribute.Component<'about.timeline-slide', true>;
    year: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
  };
}

export interface AboutTrustAidItem extends Struct.ComponentSchema {
  collectionName: 'components_about_trust_aid_items';
  info: {
    displayName: 'Trust Aid Item';
    icon: 'heart';
  };
  attributes: {
    text: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
  };
}

export interface AboutVisionaryBeginnings extends Struct.ComponentSchema {
  collectionName: 'components_about_visionary_beginnings';
  info: {
    displayName: 'Visionary Beginnings';
    icon: 'eye';
  };
  attributes: {
    bannerImage_3x1: Schema.Attribute.Media<'images'> &
      Schema.Attribute.Required;
    description: Schema.Attribute.Text &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    heading: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    mobileBannerImage_1x1: Schema.Attribute.Media<'images'>;
  };
}

export interface AwardsAward extends Struct.ComponentSchema {
  collectionName: 'components_awards_award';
  info: {
    displayName: 'Award';
    icon: 'award';
  };
  attributes: {
    image_1x1: Schema.Attribute.Media<'images'> & Schema.Attribute.Required;
    title: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    year: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
  };
}

export interface AwardsSection extends Struct.ComponentSchema {
  collectionName: 'components_awards_section';
  info: {
    displayName: 'Awards Section';
    icon: 'trophy';
  };
  attributes: {
    awards: Schema.Attribute.Component<'awards.award', true>;
    badge: Schema.Attribute.String;
    description: Schema.Attribute.Text;
    watermarkLines: Schema.Attribute.Text;
  };
}

export interface BusinessBusiness extends Struct.ComponentSchema {
  collectionName: 'components_business_business';
  info: {
    displayName: 'Business';
    icon: 'store';
  };
  attributes: {
    description: Schema.Attribute.Text &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    image_3x2: Schema.Attribute.Media<'images'> & Schema.Attribute.Required;
    logo_1x1: Schema.Attribute.Media<'images'> & Schema.Attribute.Required;
    logoBg: Schema.Attribute.String;
    name: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
  };
}

export interface BusinessSection extends Struct.ComponentSchema {
  collectionName: 'components_business_section';
  info: {
    displayName: 'Business Portfolio Section';
    icon: 'shopping-bag';
  };
  attributes: {
    badge: Schema.Attribute.String;
    businesses: Schema.Attribute.Component<'business.business', true>;
    description: Schema.Attribute.Text;
  };
}

export interface CareersApplicationProcess extends Struct.ComponentSchema {
  collectionName: 'components_careers_application_processes';
  info: {
    displayName: 'Application Process';
    icon: 'stream';
  };
  attributes: {
    badge: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    steps: Schema.Attribute.Component<'careers.process-step', true> &
      Schema.Attribute.Required;
  };
}

export interface CareersDemographicStat extends Struct.ComponentSchema {
  collectionName: 'components_careers_demographic_stats';
  info: {
    displayName: 'Demographic Stat';
    icon: 'chart';
  };
  attributes: {
    icon_1x1: Schema.Attribute.Media<'images'>;
    label: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    value: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
  };
}

export interface CareersDemographics extends Struct.ComponentSchema {
  collectionName: 'components_careers_demographics';
  info: {
    displayName: 'Employee Demographics';
    icon: 'users';
  };
  attributes: {
    badge: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    description: Schema.Attribute.Text &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    stats: Schema.Attribute.Component<'careers.demographic-stat', true> &
      Schema.Attribute.Required;
    teamImage_2x1: Schema.Attribute.Media<'images'> & Schema.Attribute.Required;
  };
}

export interface CareersExploreJobs extends Struct.ComponentSchema {
  collectionName: 'components_careers_explore_jobs';
  info: {
    displayName: 'Explore Jobs';
    icon: 'search';
  };
  attributes: {
    ctaButtonLink: Schema.Attribute.String;
    ctaButtonText: Schema.Attribute.String;
    heading: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
  };
}

export interface CareersHero extends Struct.ComponentSchema {
  collectionName: 'components_careers_heroes';
  info: {
    displayName: 'Hero';
    icon: 'layout';
  };
  attributes: {
    description: Schema.Attribute.Text &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    desktopImage_3x1: Schema.Attribute.Media<'images'> &
      Schema.Attribute.Required;
    heading: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    mobileImage_4x3: Schema.Attribute.Media<'images'> &
      Schema.Attribute.Required;
  };
}

export interface CareersProcessStep extends Struct.ComponentSchema {
  collectionName: 'components_careers_process_steps';
  info: {
    displayName: 'Process Step';
    icon: 'list-ol';
  };
  attributes: {
    description: Schema.Attribute.Text &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    number: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    title: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
  };
}

export interface CareersStrongValues extends Struct.ComponentSchema {
  collectionName: 'components_careers_strong_values';
  info: {
    displayName: 'Built On Strong Values';
    icon: 'bold';
  };
  attributes: {
    badge: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    description: Schema.Attribute.Text &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    values: Schema.Attribute.Component<'careers.value-item', true> &
      Schema.Attribute.Required;
  };
}

export interface CareersValueItem extends Struct.ComponentSchema {
  collectionName: 'components_careers_value_items';
  info: {
    displayName: 'Value';
    icon: 'star-half';
  };
  attributes: {
    description: Schema.Attribute.Text &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    icon_1x1: Schema.Attribute.Media<'images'>;
    number: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    title: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
  };
}

export interface CareersWhyWorkCard extends Struct.ComponentSchema {
  collectionName: 'components_careers_why_work_cards';
  info: {
    displayName: 'Why Work Card';
    icon: 'grid';
  };
  attributes: {
    description: Schema.Attribute.Text &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    icon_5x4: Schema.Attribute.Media<'images'>;
    title: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
  };
}

export interface CareersWhyWorkUs extends Struct.ComponentSchema {
  collectionName: 'components_careers_why_work_uses';
  info: {
    displayName: 'Why Work With Us';
    icon: 'star';
  };
  attributes: {
    badge: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    cards: Schema.Attribute.Component<'careers.why-work-card', true> &
      Schema.Attribute.Required;
  };
}

export interface ContactContactForm extends Struct.ComponentSchema {
  collectionName: 'components_contact_forms';
  info: {
    displayName: 'Contact Form';
    icon: 'envelope';
  };
  attributes: {
    bgVector_1x1: Schema.Attribute.Media<'images'>;
    ctaButtonLink: Schema.Attribute.String;
    ctaButtonText: Schema.Attribute.String;
    emailPlaceholder: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    fullNamePlaceholder: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    heading: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    messagePlaceholder: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    mobileDescription: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    overlayVector_1x1: Schema.Attribute.Media<'images'>;
    subjectPlaceholder: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
  };
}

export interface ContactContactInfoItem extends Struct.ComponentSchema {
  collectionName: 'components_contact_info_items';
  info: {
    displayName: 'Contact Info Item';
    icon: 'address-card';
  };
  attributes: {
    href: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    icon_1x1: Schema.Attribute.Media<'images'>;
    label: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    value: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
  };
}

export interface ContactDepartmentCard extends Struct.ComponentSchema {
  collectionName: 'components_contact_department_cards';
  info: {
    displayName: 'Department Card';
    icon: 'address-book';
  };
  attributes: {
    description: Schema.Attribute.Text &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    email: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    title: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
  };
}

export interface ContactDepartments extends Struct.ComponentSchema {
  collectionName: 'components_contact_departments';
  info: {
    displayName: 'Departments Section';
    icon: 'building';
  };
  attributes: {
    cards: Schema.Attribute.Component<'contact.department-card', true> &
      Schema.Attribute.Required;
  };
}

export interface ContactGetInTouch extends Struct.ComponentSchema {
  collectionName: 'components_contact_get_in_touches';
  info: {
    displayName: 'Get In Touch';
    icon: 'comments';
  };
  attributes: {
    description: Schema.Attribute.Text &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    items: Schema.Attribute.Component<'contact.contact-info-item', true> &
      Schema.Attribute.Required;
    watermarkText: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
  };
}

export interface ContactHero extends Struct.ComponentSchema {
  collectionName: 'components_contact_heroes';
  info: {
    displayName: 'Hero';
    icon: 'layout';
  };
  attributes: {
    description: Schema.Attribute.Text &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    desktopImage_3x1: Schema.Attribute.Media<'images'> &
      Schema.Attribute.Required;
    heading: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    mobileImage_4x3: Schema.Attribute.Media<'images'> &
      Schema.Attribute.Required;
  };
}

export interface EntertainmentAbout extends Struct.ComponentSchema {
  collectionName: 'components_entertainment_abouts';
  info: {
    displayName: 'About Section';
    icon: 'file';
  };
  attributes: {
    badge: Schema.Attribute.String;
    paragraphs: Schema.Attribute.Component<'entertainment.paragraph', true>;
    watermarkText: Schema.Attribute.String;
  };
}

export interface EntertainmentEvent extends Struct.ComponentSchema {
  collectionName: 'components_entertainment_events_items';
  info: {
    displayName: 'Event';
    icon: 'calendar';
  };
  attributes: {
    date: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    description: Schema.Attribute.Text &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    image_6x5: Schema.Attribute.Media<'images'> & Schema.Attribute.Required;
    title: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
  };
}

export interface EntertainmentEvents extends Struct.ComponentSchema {
  collectionName: 'components_entertainment_events_sections';
  info: {
    displayName: 'Events Section';
    icon: 'calendar-alt';
  };
  attributes: {
    badge: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    ctaButtonLink: Schema.Attribute.String;
    ctaButtonText: Schema.Attribute.String;
    events: Schema.Attribute.Component<'entertainment.event', true> &
      Schema.Attribute.Required;
  };
}

export interface EntertainmentHero extends Struct.ComponentSchema {
  collectionName: 'components_entertainment_heroes';
  info: {
    displayName: 'Hero Section';
    icon: 'browser';
  };
  attributes: {
    description: Schema.Attribute.String;
    desktopVideoUrl_16x9: Schema.Attribute.Media<'videos'>;
    heading: Schema.Attribute.String & Schema.Attribute.Required;
    mobileVideoUrl_9x16: Schema.Attribute.Media<'videos'>;
  };
}

export interface EntertainmentParagraph extends Struct.ComponentSchema {
  collectionName: 'components_entertainment_paragraphs';
  info: {
    displayName: 'Paragraph';
    icon: 'align-left';
  };
  attributes: {
    text: Schema.Attribute.Text & Schema.Attribute.Required;
  };
}

export interface EntertainmentRestaurant extends Struct.ComponentSchema {
  collectionName: 'components_entertainment_restaurants_items';
  info: {
    displayName: 'Restaurant';
    icon: 'utensils';
  };
  attributes: {
    description: Schema.Attribute.Text &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    image_6x5: Schema.Attribute.Media<'images'> & Schema.Attribute.Required;
    location: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    name: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
  };
}

export interface EntertainmentRestaurants extends Struct.ComponentSchema {
  collectionName: 'components_entertainment_restaurants_sections';
  info: {
    displayName: 'Restaurants Section';
    icon: 'store';
  };
  attributes: {
    badge: Schema.Attribute.String;
    restaurants: Schema.Attribute.Component<'entertainment.restaurant', true>;
  };
}

export interface EntertainmentRide extends Struct.ComponentSchema {
  collectionName: 'components_entertainment_rides';
  info: {
    displayName: 'Ride';
    icon: 'train';
  };
  attributes: {
    description: Schema.Attribute.Text &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    image_3x4: Schema.Attribute.Media<'images'> & Schema.Attribute.Required;
    name: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    video_3x4: Schema.Attribute.Media<'videos'>;
  };
}

export interface EntertainmentRideCategory extends Struct.ComponentSchema {
  collectionName: 'components_entertainment_ride_categories';
  info: {
    displayName: 'Ride Category';
    icon: 'tags';
  };
  attributes: {
    name: Schema.Attribute.String;
    rides: Schema.Attribute.Component<'entertainment.ride', true>;
  };
}

export interface EntertainmentRides extends Struct.ComponentSchema {
  collectionName: 'components_entertainment_rides_sections';
  info: {
    displayName: 'Rides Section';
    icon: 'ferris-wheel';
  };
  attributes: {
    badge: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    categories: Schema.Attribute.Component<
      'entertainment.ride-category',
      true
    > &
      Schema.Attribute.Required;
    ctaButtonLink: Schema.Attribute.String;
    ctaButtonText: Schema.Attribute.String;
    watermarkText: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
  };
}

export interface EntertainmentStat extends Struct.ComponentSchema {
  collectionName: 'components_entertainment_stats_items';
  info: {
    displayName: 'Stat Card';
    icon: 'chart-bar';
  };
  attributes: {
    description: Schema.Attribute.Text &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    number: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    suffix: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    vector_9x8: Schema.Attribute.Media<'images'>;
  };
}

export interface EntertainmentStats extends Struct.ComponentSchema {
  collectionName: 'components_entertainment_stats_sections';
  info: {
    displayName: 'Stats Section';
    icon: 'chart-line';
  };
  attributes: {
    badge: Schema.Attribute.String;
    description: Schema.Attribute.Text;
    stats: Schema.Attribute.Component<'entertainment.stat', true>;
  };
}

export interface EventSection extends Struct.ComponentSchema {
  collectionName: 'components_event_section';
  info: {
    displayName: 'Event Enquiry Section';
    icon: 'calendar';
  };
  attributes: {
    ctaButtonLink: Schema.Attribute.String;
    ctaButtonText: Schema.Attribute.String;
    heading: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
  };
}

export interface FooterContactItem extends Struct.ComponentSchema {
  collectionName: 'components_footer_contact_items';
  info: {
    displayName: 'Contact Item';
    icon: 'address-card';
  };
  attributes: {
    href: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    icon_1x1: Schema.Attribute.Media<'images'>;
    value: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
  };
}

export interface FooterSocialLink extends Struct.ComponentSchema {
  collectionName: 'components_footer_social_links';
  info: {
    displayName: 'Social Link';
    icon: 'share-alt';
  };
  attributes: {
    icon_1x1: Schema.Attribute.Media<'images'>;
    url: Schema.Attribute.String;
  };
}

export interface GallerySection extends Struct.ComponentSchema {
  collectionName: 'components_gallery_section';
  info: {
    displayName: 'Gallery Section';
    icon: 'picture';
  };
  attributes: {
    badge: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    description: Schema.Attribute.Text &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    images_3x2: Schema.Attribute.Media<'images', true> &
      Schema.Attribute.Required;
  };
}

export interface GlanceSection extends Struct.ComponentSchema {
  collectionName: 'components_glance_section';
  info: {
    displayName: 'Glance Section';
    icon: 'list';
  };
  attributes: {
    badge: Schema.Attribute.String;
    description: Schema.Attribute.Text;
    stats: Schema.Attribute.Component<'glance.stat', true>;
  };
}

export interface GlanceStat extends Struct.ComponentSchema {
  collectionName: 'components_glance_stat';
  info: {
    displayName: 'Glance Stat';
    icon: 'chart-circle';
  };
  attributes: {
    icon_1x1: Schema.Attribute.Media<'images'>;
    label: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    value: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
  };
}

export interface GreenenergyAbout extends Struct.ComponentSchema {
  collectionName: 'components_greenenergy_abouts';
  info: {
    displayName: 'GE About Section';
    icon: 'file';
  };
  attributes: {
    badge: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    desktopWatermarkText: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    mobileWatermarkText: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    paragraphs: Schema.Attribute.Component<'greenenergy.paragraph', true> &
      Schema.Attribute.Required;
  };
}

export interface GreenenergyHero extends Struct.ComponentSchema {
  collectionName: 'components_greenenergy_heroes';
  info: {
    displayName: 'GE Hero';
    icon: 'browser';
  };
  attributes: {
    desktopBackgroundImage_16x9: Schema.Attribute.Media<'images'>;
    heading: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    mobileBackgroundImage_9x16: Schema.Attribute.Media<'images'>;
  };
}

export interface GreenenergyParagraph extends Struct.ComponentSchema {
  collectionName: 'components_greenenergy_paragraphs';
  info: {
    displayName: 'GE Paragraph';
    icon: 'align-left';
  };
  attributes: {
    text: Schema.Attribute.Text &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
  };
}

export interface GreenenergyStatCard extends Struct.ComponentSchema {
  collectionName: 'components_greenenergy_stat_cards';
  info: {
    displayName: 'GE Stat Card';
    icon: 'grid';
  };
  attributes: {
    description: Schema.Attribute.Text &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    icon_1x1: Schema.Attribute.Media<'images'>;
    title: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
  };
}

export interface GreenenergyStats extends Struct.ComponentSchema {
  collectionName: 'components_greenenergy_stats';
  info: {
    displayName: 'GE Stats Section';
    icon: 'list';
  };
  attributes: {
    stats: Schema.Attribute.Component<'greenenergy.stat-card', true> &
      Schema.Attribute.Required;
  };
}

export interface HeroSection extends Struct.ComponentSchema {
  collectionName: 'components_hero_section';
  info: {
    displayName: 'Hero Section';
    icon: 'browser';
  };
  attributes: {
    ctaButtonLink: Schema.Attribute.String;
    ctaButtonText: Schema.Attribute.String;
    slides: Schema.Attribute.Component<'hero.slide', true>;
  };
}

export interface HeroSlide extends Struct.ComponentSchema {
  collectionName: 'components_hero_slide';
  info: {
    displayName: 'Hero Slide';
    icon: 'carousel';
  };
  attributes: {
    backgroundImage_16x9: Schema.Attribute.Media<'images'>;
    description: Schema.Attribute.Text &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    heading: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    highlight: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    mobileBackgroundImage_9x16: Schema.Attribute.Media<'images'>;
    thumbnail_10x7: Schema.Attribute.Media<'images'> &
      Schema.Attribute.Required;
    thumbnailAlt: Schema.Attribute.String;
  };
}

export interface HospitalityAbout extends Struct.ComponentSchema {
  collectionName: 'components_hospitality_abouts';
  info: {
    displayName: 'About Section';
    icon: 'file';
  };
  attributes: {
    badge: Schema.Attribute.String;
    paragraphs: Schema.Attribute.Component<'hospitality.paragraph', true>;
    watermarkText: Schema.Attribute.String;
  };
}

export interface HospitalityCountry extends Struct.ComponentSchema {
  collectionName: 'components_hospitality_countries';
  info: {
    displayName: 'Country';
    icon: 'globe';
  };
  attributes: {
    image_1x1: Schema.Attribute.Media<'images'> & Schema.Attribute.Required;
    name: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    resorts: Schema.Attribute.Component<'hospitality.resort', true> &
      Schema.Attribute.Required;
    restaurants: Schema.Attribute.Component<'hospitality.restaurant', true>;
  };
}

export interface HospitalityEnquiryType extends Struct.ComponentSchema {
  collectionName: 'components_hospitality_enquiry_types';
  info: {
    displayName: 'Enquiry Type';
    icon: 'tag';
  };
  attributes: {
    label: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
  };
}

export interface HospitalityGlobalPresence extends Struct.ComponentSchema {
  collectionName: 'components_hospitality_global_presences';
  info: {
    displayName: 'Global Presence Section';
    icon: 'globe-americas';
  };
  attributes: {
    badge: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    countries: Schema.Attribute.Component<'hospitality.country', true> &
      Schema.Attribute.Required;
    ctaButtonLink: Schema.Attribute.String;
    ctaButtonText: Schema.Attribute.String;
  };
}

export interface HospitalityHero extends Struct.ComponentSchema {
  collectionName: 'components_hospitality_heroes';
  info: {
    displayName: 'Hero Section';
    icon: 'browser';
  };
  attributes: {
    slides: Schema.Attribute.Component<'hospitality.hero-slide', true>;
  };
}

export interface HospitalityHeroSlide extends Struct.ComponentSchema {
  collectionName: 'components_hospitality_hero_slides';
  info: {
    displayName: 'Hero Slide';
    icon: 'image';
  };
  attributes: {
    image_3x2: Schema.Attribute.Media<'images'> & Schema.Attribute.Required;
    subtitle: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    title: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
  };
}

export interface HospitalityImpact extends Struct.ComponentSchema {
  collectionName: 'components_hospitality_impacts';
  info: {
    displayName: 'Impact Numbers Section';
    icon: 'chart-line';
  };
  attributes: {
    badge: Schema.Attribute.String;
    description: Schema.Attribute.Text;
    stats: Schema.Attribute.Component<'hospitality.impact-stat', true>;
  };
}

export interface HospitalityImpactStat extends Struct.ComponentSchema {
  collectionName: 'components_hospitality_impact_stats';
  info: {
    displayName: 'Impact Stat Card';
    icon: 'chart-bar';
  };
  attributes: {
    description: Schema.Attribute.Text &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    label: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    number: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    vector_1x1: Schema.Attribute.Media<'images'>;
  };
}

export interface HospitalityInquiry extends Struct.ComponentSchema {
  collectionName: 'components_hospitality_inquiries';
  info: {
    displayName: 'Inquiry Section';
    icon: 'envelope';
  };
  attributes: {
    ctaButtonLink: Schema.Attribute.String;
    ctaButtonText: Schema.Attribute.String;
    emailPlaceholder: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    enquiryTypePlaceholder: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    enquiryTypes: Schema.Attribute.Component<'hospitality.enquiry-type', true>;
    fullNamePlaceholder: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    heading: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    image_1x1: Schema.Attribute.Media<'images'> & Schema.Attribute.Required;
    messagePlaceholder: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
  };
}

export interface HospitalityParagraph extends Struct.ComponentSchema {
  collectionName: 'components_hospitality_paragraphs';
  info: {
    displayName: 'Paragraph';
    icon: 'align-left';
  };
  attributes: {
    text: Schema.Attribute.Text &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
  };
}

export interface HospitalityResort extends Struct.ComponentSchema {
  collectionName: 'components_hospitality_resorts';
  info: {
    displayName: 'Resort';
    icon: 'home';
  };
  attributes: {
    description: Schema.Attribute.Text &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    image_6x5: Schema.Attribute.Media<'images'>;
    location: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    name: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    url: Schema.Attribute.String;
  };
}

export interface HospitalityRestaurant extends Struct.ComponentSchema {
  collectionName: 'components_hospitality_restaurants_items';
  info: {
    displayName: 'Restaurant';
    icon: 'utensils';
  };
  attributes: {
    description: Schema.Attribute.Text &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    image_6x5: Schema.Attribute.Media<'images'>;
    location: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    name: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
  };
}

export interface HospitalityRestaurants extends Struct.ComponentSchema {
  collectionName: 'components_hospitality_restaurants_sections';
  info: {
    displayName: 'Restaurants Section';
    icon: 'store';
  };
  attributes: {
    badge: Schema.Attribute.String;
    restaurants: Schema.Attribute.Component<'hospitality.restaurant', true>;
  };
}

export interface LeadershipLeader extends Struct.ComponentSchema {
  collectionName: 'components_leadership_leader';
  info: {
    displayName: 'Leader';
    icon: 'user';
  };
  attributes: {
    image_6x5: Schema.Attribute.Media<'images'> & Schema.Attribute.Required;
    name: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    title: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
  };
}

export interface LeadershipSection extends Struct.ComponentSchema {
  collectionName: 'components_leadership_section';
  info: {
    displayName: 'Leadership Section';
    icon: 'users';
  };
  attributes: {
    badge: Schema.Attribute.String;
    description: Schema.Attribute.Text;
    leaders: Schema.Attribute.Component<'leadership.leader', true>;
    watermarkLines: Schema.Attribute.Text;
  };
}

export interface LegacySection extends Struct.ComponentSchema {
  collectionName: 'components_legacy_section';
  info: {
    displayName: 'Legacy Section';
    icon: 'history';
  };
  attributes: {
    backgroundImage_3x2: Schema.Attribute.Media<'images'>;
    badge: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    ctaButtonLink: Schema.Attribute.String;
    ctaButtonText: Schema.Attribute.String;
    description: Schema.Attribute.Text &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    image_16x9: Schema.Attribute.Media<'images'> & Schema.Attribute.Required;
  };
}

export interface LogisticsAbout extends Struct.ComponentSchema {
  collectionName: 'components_logistics_abouts';
  info: {
    displayName: 'About Section';
    icon: 'file';
  };
  attributes: {
    badge: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    desktopWatermarkText: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    mobileWatermarkText: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    paragraphs: Schema.Attribute.Component<'logistics.paragraph', true> &
      Schema.Attribute.Required;
  };
}

export interface LogisticsCompanyDetails extends Struct.ComponentSchema {
  collectionName: 'components_logistics_company_details';
  info: {
    displayName: 'Company Details Section';
    icon: 'building';
  };
  attributes: {
    badge: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    companyInfoLabel: Schema.Attribute.String;
    companyPoints: Schema.Attribute.Component<'logistics.company-point', true>;
    description: Schema.Attribute.Text &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    divisionOverview: Schema.Attribute.Component<
      'logistics.division-stat',
      true
    > &
      Schema.Attribute.Required;
    divisionOverviewLabel: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    mapImage_1x1: Schema.Attribute.Media<'images'> & Schema.Attribute.Required;
    watermarkText: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
  };
}

export interface LogisticsCompanyPoint extends Struct.ComponentSchema {
  collectionName: 'components_logistics_company_points';
  info: {
    displayName: 'Company Point';
    icon: 'bullet-list';
  };
  attributes: {
    point: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
  };
}

export interface LogisticsDivisionStat extends Struct.ComponentSchema {
  collectionName: 'components_logistics_division_stats';
  info: {
    displayName: 'Division Stat';
    icon: 'chart';
  };
  attributes: {
    label: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    value: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
  };
}

export interface LogisticsHero extends Struct.ComponentSchema {
  collectionName: 'components_logistics_heroes';
  info: {
    displayName: 'Hero';
    icon: 'layout';
  };
  attributes: {
    desktopImage_12x5: Schema.Attribute.Media<'images'> &
      Schema.Attribute.Required;
    heading: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    mobileImage_9x16: Schema.Attribute.Media<'images'> &
      Schema.Attribute.Required;
  };
}

export interface LogisticsParagraph extends Struct.ComponentSchema {
  collectionName: 'components_logistics_paragraphs';
  info: {
    displayName: 'Paragraph';
    icon: 'align-left';
  };
  attributes: {
    text: Schema.Attribute.Text &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
  };
}

export interface LogisticsStatCard extends Struct.ComponentSchema {
  collectionName: 'components_logistics_stat_cards';
  info: {
    displayName: 'Stat Card';
    icon: 'grid-alt';
  };
  attributes: {
    description: Schema.Attribute.Text &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    icon_1x1: Schema.Attribute.Media<'images'>;
    title: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
  };
}

export interface LogisticsStats extends Struct.ComponentSchema {
  collectionName: 'components_logistics_stats';
  info: {
    displayName: 'Stats Section';
    icon: 'grid';
  };
  attributes: {
    cards: Schema.Attribute.Component<'logistics.stat-card', true> &
      Schema.Attribute.Required;
  };
}

export interface NewsletterPageArchive extends Struct.ComponentSchema {
  collectionName: 'components_newsletter_page_archives';
  info: {
    displayName: 'Newsletter Archive';
    icon: 'archive';
  };
  attributes: {
    badge: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    selectYearLabel: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    viewMoreLabel: Schema.Attribute.String;
    watermarkText: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    years: Schema.Attribute.Component<'newsletter-page.newsletter-year', true> &
      Schema.Attribute.Required;
  };
}

export interface NewsletterPageHero extends Struct.ComponentSchema {
  collectionName: 'components_newsletter_page_heroes';
  info: {
    displayName: 'Hero';
    icon: 'layout';
  };
  attributes: {
    description: Schema.Attribute.Text &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    desktopImage_5x2: Schema.Attribute.Media<'images'> &
      Schema.Attribute.Required;
    heading: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    mobileImage_4x3: Schema.Attribute.Media<'images'> &
      Schema.Attribute.Required;
  };
}

export interface NewsletterPageNewsletterItem extends Struct.ComponentSchema {
  collectionName: 'components_newsletter_page_items';
  info: {
    displayName: 'Newsletter Item';
    icon: 'file-pdf';
  };
  attributes: {
    month: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    pdfFile: Schema.Attribute.Media<'files'> & Schema.Attribute.Required;
    thumbnail_1x1: Schema.Attribute.Media<'images'> & Schema.Attribute.Required;
    title: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
  };
}

export interface NewsletterPageNewsletterYear extends Struct.ComponentSchema {
  collectionName: 'components_newsletter_page_years';
  info: {
    displayName: 'Newsletter Year';
    icon: 'calendar';
  };
  attributes: {
    items: Schema.Attribute.Component<'newsletter-page.newsletter-item', true> &
      Schema.Attribute.Required;
    year: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
  };
}

export interface NewsletterPageSubscribe extends Struct.ComponentSchema {
  collectionName: 'components_newsletter_page_subscribes';
  info: {
    displayName: 'Subscribe';
    icon: 'envelope';
  };
  attributes: {
    ctaButtonLink: Schema.Attribute.String;
    ctaButtonText: Schema.Attribute.String;
    description: Schema.Attribute.Text &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    emailPlaceholder: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    heading: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
  };
}

export interface NewsletterItem extends Struct.ComponentSchema {
  collectionName: 'components_newsletter_item';
  info: {
    displayName: 'Newsletter Item';
    icon: 'envelope';
  };
  attributes: {
    date: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    image_1x1: Schema.Attribute.Media<'images'> & Schema.Attribute.Required;
    pdfFile: Schema.Attribute.Media<'files'> & Schema.Attribute.Required;
    title: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
  };
}

export interface NewsletterSection extends Struct.ComponentSchema {
  collectionName: 'components_newsletter_section';
  info: {
    displayName: 'Newsletter Section';
    icon: 'paper-plane';
  };
  attributes: {
    badge: Schema.Attribute.String;
    description: Schema.Attribute.Text;
    newsletters: Schema.Attribute.Component<'newsletter.item', true>;
  };
}

export interface PartnerctaSection extends Struct.ComponentSchema {
  collectionName: 'components_partnercta_section';
  info: {
    displayName: 'Partner CTA Section';
    icon: 'bullhorn';
  };
  attributes: {
    ctaButtonLink: Schema.Attribute.String;
    ctaButtonText: Schema.Attribute.String;
    heading: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    headingLine2: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
  };
}

export interface PartnersPartner extends Struct.ComponentSchema {
  collectionName: 'components_partners_partner';
  info: {
    displayName: 'Partner';
    icon: 'handshake';
  };
  attributes: {
    logo_12x5: Schema.Attribute.Media<'images'> & Schema.Attribute.Required;
    name: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
  };
}

export interface PartnersSection extends Struct.ComponentSchema {
  collectionName: 'components_partners_section';
  info: {
    displayName: 'Partners Section';
    icon: 'people';
  };
  attributes: {
    badge: Schema.Attribute.String;
    description: Schema.Attribute.Text;
    partners: Schema.Attribute.Component<'partners.partner', true>;
  };
}

export interface PhilanthropicActivity extends Struct.ComponentSchema {
  collectionName: 'components_philanthropic_activity';
  info: {
    displayName: 'Philanthropic Activity';
    icon: 'heart';
  };
  attributes: {
    description: Schema.Attribute.RichText &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    highlight: Schema.Attribute.Text &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    image_5x3: Schema.Attribute.Media<'images'>;
    title: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
  };
}

export interface PhilanthropicSection extends Struct.ComponentSchema {
  collectionName: 'components_philanthropic_section';
  info: {
    displayName: 'Philanthropic Section';
    icon: 'hands-helping';
  };
  attributes: {
    activities: Schema.Attribute.Component<'philanthropic.activity', true>;
    badge: Schema.Attribute.String;
    description: Schema.Attribute.Text;
    watermarkText: Schema.Attribute.String;
  };
}

export interface PressRelease extends Struct.ComponentSchema {
  collectionName: 'components_press_release';
  info: {
    displayName: 'Press Release';
    icon: 'newspaper';
  };
  attributes: {
    buttonLink: Schema.Attribute.String;
    buttonPdf: Schema.Attribute.Media<'images' | 'files'>;
    buttonText: Schema.Attribute.String &
      Schema.Attribute.DefaultTo<'Read More'>;
    date: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    description: Schema.Attribute.Text &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    image_16x9: Schema.Attribute.Media<'images'> & Schema.Attribute.Required;
    title: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
  };
}

export interface PressSection extends Struct.ComponentSchema {
  collectionName: 'components_press_section';
  info: {
    displayName: 'Press Release Section';
    icon: 'file';
  };
  attributes: {
    badge: Schema.Attribute.String;
    description: Schema.Attribute.Text;
    pressReleases: Schema.Attribute.Component<'press.release', true>;
  };
}

export interface SaflAbout extends Struct.ComponentSchema {
  collectionName: 'components_safl_abouts';
  info: {
    displayName: 'About Section';
    icon: 'file';
  };
  attributes: {
    badge: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    paragraphs: Schema.Attribute.Component<'safl.paragraph', true> &
      Schema.Attribute.Required;
    watermarkText: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
  };
}

export interface SaflHero extends Struct.ComponentSchema {
  collectionName: 'components_safl_heroes';
  info: {
    displayName: 'Hero Section';
    icon: 'browser';
  };
  attributes: {
    description: Schema.Attribute.Text &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    desktopBackgroundImage_2x1: Schema.Attribute.Media<'images'>;
    heading: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    mobileBackgroundImage_9x16: Schema.Attribute.Media<'images'>;
  };
}

export interface SaflParagraph extends Struct.ComponentSchema {
  collectionName: 'components_safl_paragraphs';
  info: {
    displayName: 'Paragraph';
    icon: 'align-left';
  };
  attributes: {
    text: Schema.Attribute.Text &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
  };
}

export interface SaflProcess extends Struct.ComponentSchema {
  collectionName: 'components_safl_processes';
  info: {
    displayName: 'Process Section';
    icon: 'cogs';
  };
  attributes: {
    badge: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    image_3x2: Schema.Attribute.Media<'images'> & Schema.Attribute.Required;
    steps: Schema.Attribute.Component<'safl.process-step', true> &
      Schema.Attribute.Required;
  };
}

export interface SaflProcessStep extends Struct.ComponentSchema {
  collectionName: 'components_safl_process_steps';
  info: {
    displayName: 'Process Step';
    icon: 'list-ordered';
  };
  attributes: {
    description: Schema.Attribute.Text &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    image_3x2: Schema.Attribute.Media<'images'> & Schema.Attribute.Required;
    title: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
  };
}

export interface SaflProductBanner extends Struct.ComponentSchema {
  collectionName: 'components_safl_product_banners';
  info: {
    displayName: 'Product Banner';
    icon: 'image';
  };
  attributes: {
    image_2x1: Schema.Attribute.Media<'images'> & Schema.Attribute.Required;
    mobileImage_4x5: Schema.Attribute.Media<'images'> &
      Schema.Attribute.Required;
    name: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
  };
}

export interface SaflProductCategory extends Struct.ComponentSchema {
  collectionName: 'components_safl_product_categories';
  info: {
    displayName: 'Product Category';
    icon: 'tags';
  };
  attributes: {
    banners: Schema.Attribute.Component<'safl.product-banner', true> &
      Schema.Attribute.Required;
    name: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
  };
}

export interface SaflProductRange extends Struct.ComponentSchema {
  collectionName: 'components_safl_product_ranges';
  info: {
    displayName: 'Product Range Section';
    icon: 'shopping-bag';
  };
  attributes: {
    badge: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    categories: Schema.Attribute.Component<'safl.product-category', true> &
      Schema.Attribute.Required;
    ctaButtonLink: Schema.Attribute.String;
    ctaButtonText: Schema.Attribute.String;
    watermarkText: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
  };
}

export interface SaflStatCard extends Struct.ComponentSchema {
  collectionName: 'components_safl_stat_cards';
  info: {
    displayName: 'Stat Card';
    icon: 'grid';
  };
  attributes: {
    description: Schema.Attribute.Text &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    number: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    suffix: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    vector_9x8: Schema.Attribute.Media<'images'>;
  };
}

export interface SaflStats extends Struct.ComponentSchema {
  collectionName: 'components_safl_stats';
  info: {
    displayName: 'Stats Section';
    icon: 'chart';
  };
  attributes: {
    badge: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    description: Schema.Attribute.Text &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    stats: Schema.Attribute.Component<'safl.stat-card', true> &
      Schema.Attribute.Required;
  };
}

export interface SharedNavLink extends Struct.ComponentSchema {
  collectionName: 'components_shared_nav_links';
  info: {
    description: 'Navigation link for the header menu';
    displayName: 'Nav Link';
  };
  attributes: {
    hasDropdown: Schema.Attribute.Boolean &
      Schema.Attribute.Required &
      Schema.Attribute.DefaultTo<false>;
    isBold: Schema.Attribute.Boolean &
      Schema.Attribute.Required &
      Schema.Attribute.DefaultTo<false>;
    label: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    url: Schema.Attribute.String;
  };
}

export interface SharedSeo extends Struct.ComponentSchema {
  collectionName: 'components_shared_seos';
  info: {
    description: 'SEO fields for pages';
    displayName: 'SEO';
    icon: 'search';
  };
  attributes: {
    keywords: Schema.Attribute.String;
    metaDescription: Schema.Attribute.Text;
    metaImage_1200x630: Schema.Attribute.Media<'images'>;
    metaRobots: Schema.Attribute.String;
    metaTitle: Schema.Attribute.String;
  };
}

export interface SustainabilityInitiative extends Struct.ComponentSchema {
  collectionName: 'components_sustainability_initiative';
  info: {
    displayName: 'Initiative';
    icon: 'leaf';
  };
  attributes: {
    description: Schema.Attribute.Text &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    image_9x4: Schema.Attribute.Media<'images'> & Schema.Attribute.Required;
    number: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    title: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
  };
}

export interface SustainabilitySection extends Struct.ComponentSchema {
  collectionName: 'components_sustainability_section';
  info: {
    displayName: 'Sustainability Section';
    icon: 'seedling';
  };
  attributes: {
    badge: Schema.Attribute.String;
    description: Schema.Attribute.Text;
    initiatives: Schema.Attribute.Component<'sustainability.initiative', true>;
  };
}

export interface TestimonialsSection extends Struct.ComponentSchema {
  collectionName: 'components_testimonials_section';
  info: {
    displayName: 'Testimonials Section';
    icon: 'message';
  };
  attributes: {
    badge: Schema.Attribute.String;
    description: Schema.Attribute.Text;
    mobileDescription: Schema.Attribute.Text;
    testimonials: Schema.Attribute.Component<'testimonials.testimonial', true>;
  };
}

export interface TestimonialsTestimonial extends Struct.ComponentSchema {
  collectionName: 'components_testimonials_testimonial';
  info: {
    displayName: 'Testimonial';
    icon: 'comment';
  };
  attributes: {
    avatar_1x1: Schema.Attribute.Media<'images'> & Schema.Attribute.Required;
    name: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    quote: Schema.Attribute.Text &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    rating: Schema.Attribute.Integer & Schema.Attribute.Required;
    role: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
  };
}

export interface VisionSection extends Struct.ComponentSchema {
  collectionName: 'components_vision_section';
  info: {
    displayName: 'Vision Section';
    icon: 'eye';
  };
  attributes: {
    badge: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    description: Schema.Attribute.Text &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    image_8x3: Schema.Attribute.Media<'images'> & Schema.Attribute.Required;
    mobileImage_1x1: Schema.Attribute.Media<'images'> &
      Schema.Attribute.Required;
    stats: Schema.Attribute.Component<'vision.stat', true> &
      Schema.Attribute.Required;
  };
}

export interface VisionStat extends Struct.ComponentSchema {
  collectionName: 'components_vision_stat';
  info: {
    displayName: 'Vision Stat';
    icon: 'chart';
  };
  attributes: {
    icon_1x1: Schema.Attribute.Media<'images' | 'files'>;
    label: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    value: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
  };
}

export interface VitalIndustriesAbout extends Struct.ComponentSchema {
  collectionName: 'components_vital_industries_abouts';
  info: {
    displayName: 'About Section';
    icon: 'file';
  };
  attributes: {
    badge: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    desktopWatermarkText: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    mobileWatermarkText: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    paragraphs: Schema.Attribute.Component<'vital-industries.paragraph', true> &
      Schema.Attribute.Required;
  };
}

export interface VitalIndustriesBulletItem extends Struct.ComponentSchema {
  collectionName: 'components_vital_industries_bullet_items';
  info: {
    displayName: 'Bullet Item';
    icon: 'bullet-list';
  };
  attributes: {
    text: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
  };
}

export interface VitalIndustriesHero extends Struct.ComponentSchema {
  collectionName: 'components_vital_industries_heroes';
  info: {
    displayName: 'Hero';
    icon: 'layout';
  };
  attributes: {
    desktopImage_5x3: Schema.Attribute.Media<'images'> &
      Schema.Attribute.Required;
    heading: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    mobileImage_9x16: Schema.Attribute.Media<'images'> &
      Schema.Attribute.Required;
  };
}

export interface VitalIndustriesMilestone extends Struct.ComponentSchema {
  collectionName: 'components_vital_industries_milestones';
  info: {
    displayName: 'Milestone Section';
    icon: 'trophy';
  };
  attributes: {
    badge: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    tabs: Schema.Attribute.Component<'vital-industries.milestone-tab', true> &
      Schema.Attribute.Required;
    watermarkText: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
  };
}

export interface VitalIndustriesMilestoneTab extends Struct.ComponentSchema {
  collectionName: 'components_vital_industries_milestone_tabs';
  info: {
    displayName: 'Milestone Tab';
    icon: 'tasks';
  };
  attributes: {
    bullets: Schema.Attribute.Component<'vital-industries.bullet-item', true> &
      Schema.Attribute.Required;
    image_3x2: Schema.Attribute.Media<'images'> & Schema.Attribute.Required;
    tabName: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
  };
}

export interface VitalIndustriesPackaging extends Struct.ComponentSchema {
  collectionName: 'components_vital_industries_packagings';
  info: {
    displayName: 'Packaging Section';
    icon: 'box';
  };
  attributes: {
    badge: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    bullets: Schema.Attribute.Component<'vital-industries.bullet-item', true> &
      Schema.Attribute.Required;
    companyInfoLabel: Schema.Attribute.String;
    description: Schema.Attribute.Text &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    stats: Schema.Attribute.Component<'vital-industries.packaging-stat', true> &
      Schema.Attribute.Required;
  };
}

export interface VitalIndustriesPackagingStat extends Struct.ComponentSchema {
  collectionName: 'components_vital_industries_packaging_stats';
  info: {
    displayName: 'Packaging Stat';
    icon: 'chart';
  };
  attributes: {
    label: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    value: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
  };
}

export interface VitalIndustriesParagraph extends Struct.ComponentSchema {
  collectionName: 'components_vital_industries_paragraphs';
  info: {
    displayName: 'Paragraph';
    icon: 'align-left';
  };
  attributes: {
    text: Schema.Attribute.Text &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
  };
}

export interface VitalIndustriesProduct extends Struct.ComponentSchema {
  collectionName: 'components_vital_industries_products';
  info: {
    displayName: 'Product';
    icon: 'shopping-cart';
  };
  attributes: {
    image_4x5: Schema.Attribute.Media<'images'> & Schema.Attribute.Required;
    name: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
  };
}

export interface VitalIndustriesStatCard extends Struct.ComponentSchema {
  collectionName: 'components_vital_industries_stat_cards';
  info: {
    displayName: 'Stat Card';
    icon: 'grid-alt';
  };
  attributes: {
    description: Schema.Attribute.Text &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    icon_1x1: Schema.Attribute.Media<'images'>;
    title: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
  };
}

export interface VitalIndustriesStats extends Struct.ComponentSchema {
  collectionName: 'components_vital_industries_stats';
  info: {
    displayName: 'Stats Section';
    icon: 'grid';
  };
  attributes: {
    cards: Schema.Attribute.Component<'vital-industries.stat-card', true> &
      Schema.Attribute.Required;
  };
}

export interface VitalIndustriesTransport extends Struct.ComponentSchema {
  collectionName: 'components_vital_industries_transports';
  info: {
    displayName: 'Transport Section';
    icon: 'truck';
  };
  attributes: {
    badge: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    description: Schema.Attribute.Text &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    enaBullets: Schema.Attribute.Component<
      'vital-industries.bullet-item',
      true
    > &
      Schema.Attribute.Required;
    enaTransportationLabel: Schema.Attribute.String;
    products: Schema.Attribute.Component<'vital-industries.product', true> &
      Schema.Attribute.Required;
    productsLabel: Schema.Attribute.String;
  };
}

export interface WeddingCollectiveGallery extends Struct.ComponentSchema {
  collectionName: 'components_wedding_collective_galleries';
  info: {
    displayName: 'Gallery Section';
    icon: 'images';
  };
  attributes: {
    badgeDesktopText: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    badgeMobileText: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    description: Schema.Attribute.Text &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    images: Schema.Attribute.Component<
      'wedding-collective.gallery-image',
      true
    > &
      Schema.Attribute.Required;
  };
}

export interface WeddingCollectiveGalleryImage extends Struct.ComponentSchema {
  collectionName: 'components_wedding_collective_gallery_images';
  info: {
    displayName: 'Gallery Image';
    icon: 'picture';
  };
  attributes: {
    image_3x2: Schema.Attribute.Media<'images'> & Schema.Attribute.Required;
  };
}

export interface WeddingCollectiveHero extends Struct.ComponentSchema {
  collectionName: 'components_wedding_collective_heroes';
  info: {
    displayName: 'Hero';
    icon: 'layout';
  };
  attributes: {
    heading: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    videoUrl_16x9: Schema.Attribute.Media<'videos'> & Schema.Attribute.Required;
  };
}

export interface WeddingCollectiveInquiry extends Struct.ComponentSchema {
  collectionName: 'components_wedding_collective_inquiries';
  info: {
    displayName: 'Inquiry Section';
    icon: 'envelope';
  };
  attributes: {
    ctaButtonLink: Schema.Attribute.String;
    ctaButtonText: Schema.Attribute.String;
    emailPlaceholder: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    eventBudgetPlaceholder: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    eventBudgets: Schema.Attribute.Component<'wedding-collective.option', true>;
    eventDatePlaceholder: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    eventTimePlaceholder: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    eventTypePlaceholder: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    eventTypes: Schema.Attribute.Component<'wedding-collective.option', true>;
    fullNamePlaceholder: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    heading: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    image_1x1: Schema.Attribute.Media<'images'> & Schema.Attribute.Required;
    mobilePlaceholder: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
    requirementsPlaceholder: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
  };
}

export interface WeddingCollectiveOption extends Struct.ComponentSchema {
  collectionName: 'components_wedding_collective_options';
  info: {
    displayName: 'Option';
    icon: 'tag';
  };
  attributes: {
    label: Schema.Attribute.String &
      Schema.Attribute.Required &
      Schema.Attribute.SetMinMaxLength<{
        minLength: 1;
      }>;
  };
}

declare module '@strapi/strapi' {
  export module Public {
    export interface ComponentSchemas {
      'about.about-company': AboutAboutCompany;
      'about.charitable-trust': AboutCharitableTrust;
      'about.charitable-trust-slide': AboutCharitableTrustSlide;
      'about.founder': AboutFounder;
      'about.founder-bio-paragraph': AboutFounderBioParagraph;
      'about.founder-slide': AboutFounderSlide;
      'about.gallery': AboutGallery;
      'about.gallery-image': AboutGalleryImage;
      'about.golden-rule': AboutGoldenRule;
      'about.golden-rules': AboutGoldenRules;
      'about.past-venture': AboutPastVenture;
      'about.past-ventures': AboutPastVentures;
      'about.philanthropic': AboutPhilanthropic;
      'about.philanthropic-activity': AboutPhilanthropicActivity;
      'about.testimonial': AboutTestimonial;
      'about.testimonials': AboutTestimonials;
      'about.timeline': AboutTimeline;
      'about.timeline-slide': AboutTimelineSlide;
      'about.timeline-year': AboutTimelineYear;
      'about.trust-aid-item': AboutTrustAidItem;
      'about.visionary-beginnings': AboutVisionaryBeginnings;
      'awards.award': AwardsAward;
      'awards.section': AwardsSection;
      'business.business': BusinessBusiness;
      'business.section': BusinessSection;
      'careers.application-process': CareersApplicationProcess;
      'careers.demographic-stat': CareersDemographicStat;
      'careers.demographics': CareersDemographics;
      'careers.explore-jobs': CareersExploreJobs;
      'careers.hero': CareersHero;
      'careers.process-step': CareersProcessStep;
      'careers.strong-values': CareersStrongValues;
      'careers.value-item': CareersValueItem;
      'careers.why-work-card': CareersWhyWorkCard;
      'careers.why-work-us': CareersWhyWorkUs;
      'contact.contact-form': ContactContactForm;
      'contact.contact-info-item': ContactContactInfoItem;
      'contact.department-card': ContactDepartmentCard;
      'contact.departments': ContactDepartments;
      'contact.get-in-touch': ContactGetInTouch;
      'contact.hero': ContactHero;
      'entertainment.about': EntertainmentAbout;
      'entertainment.event': EntertainmentEvent;
      'entertainment.events': EntertainmentEvents;
      'entertainment.hero': EntertainmentHero;
      'entertainment.paragraph': EntertainmentParagraph;
      'entertainment.restaurant': EntertainmentRestaurant;
      'entertainment.restaurants': EntertainmentRestaurants;
      'entertainment.ride': EntertainmentRide;
      'entertainment.ride-category': EntertainmentRideCategory;
      'entertainment.rides': EntertainmentRides;
      'entertainment.stat': EntertainmentStat;
      'entertainment.stats': EntertainmentStats;
      'event.section': EventSection;
      'footer.contact-item': FooterContactItem;
      'footer.social-link': FooterSocialLink;
      'gallery.section': GallerySection;
      'glance.section': GlanceSection;
      'glance.stat': GlanceStat;
      'greenenergy.about': GreenenergyAbout;
      'greenenergy.hero': GreenenergyHero;
      'greenenergy.paragraph': GreenenergyParagraph;
      'greenenergy.stat-card': GreenenergyStatCard;
      'greenenergy.stats': GreenenergyStats;
      'hero.section': HeroSection;
      'hero.slide': HeroSlide;
      'hospitality.about': HospitalityAbout;
      'hospitality.country': HospitalityCountry;
      'hospitality.enquiry-type': HospitalityEnquiryType;
      'hospitality.global-presence': HospitalityGlobalPresence;
      'hospitality.hero': HospitalityHero;
      'hospitality.hero-slide': HospitalityHeroSlide;
      'hospitality.impact': HospitalityImpact;
      'hospitality.impact-stat': HospitalityImpactStat;
      'hospitality.inquiry': HospitalityInquiry;
      'hospitality.paragraph': HospitalityParagraph;
      'hospitality.resort': HospitalityResort;
      'hospitality.restaurant': HospitalityRestaurant;
      'hospitality.restaurants': HospitalityRestaurants;
      'leadership.leader': LeadershipLeader;
      'leadership.section': LeadershipSection;
      'legacy.section': LegacySection;
      'logistics.about': LogisticsAbout;
      'logistics.company-details': LogisticsCompanyDetails;
      'logistics.company-point': LogisticsCompanyPoint;
      'logistics.division-stat': LogisticsDivisionStat;
      'logistics.hero': LogisticsHero;
      'logistics.paragraph': LogisticsParagraph;
      'logistics.stat-card': LogisticsStatCard;
      'logistics.stats': LogisticsStats;
      'newsletter-page.archive': NewsletterPageArchive;
      'newsletter-page.hero': NewsletterPageHero;
      'newsletter-page.newsletter-item': NewsletterPageNewsletterItem;
      'newsletter-page.newsletter-year': NewsletterPageNewsletterYear;
      'newsletter-page.subscribe': NewsletterPageSubscribe;
      'newsletter.item': NewsletterItem;
      'newsletter.section': NewsletterSection;
      'partnercta.section': PartnerctaSection;
      'partners.partner': PartnersPartner;
      'partners.section': PartnersSection;
      'philanthropic.activity': PhilanthropicActivity;
      'philanthropic.section': PhilanthropicSection;
      'press.release': PressRelease;
      'press.section': PressSection;
      'safl.about': SaflAbout;
      'safl.hero': SaflHero;
      'safl.paragraph': SaflParagraph;
      'safl.process': SaflProcess;
      'safl.process-step': SaflProcessStep;
      'safl.product-banner': SaflProductBanner;
      'safl.product-category': SaflProductCategory;
      'safl.product-range': SaflProductRange;
      'safl.stat-card': SaflStatCard;
      'safl.stats': SaflStats;
      'shared.nav-link': SharedNavLink;
      'shared.seo': SharedSeo;
      'sustainability.initiative': SustainabilityInitiative;
      'sustainability.section': SustainabilitySection;
      'testimonials.section': TestimonialsSection;
      'testimonials.testimonial': TestimonialsTestimonial;
      'vision.section': VisionSection;
      'vision.stat': VisionStat;
      'vital-industries.about': VitalIndustriesAbout;
      'vital-industries.bullet-item': VitalIndustriesBulletItem;
      'vital-industries.hero': VitalIndustriesHero;
      'vital-industries.milestone': VitalIndustriesMilestone;
      'vital-industries.milestone-tab': VitalIndustriesMilestoneTab;
      'vital-industries.packaging': VitalIndustriesPackaging;
      'vital-industries.packaging-stat': VitalIndustriesPackagingStat;
      'vital-industries.paragraph': VitalIndustriesParagraph;
      'vital-industries.product': VitalIndustriesProduct;
      'vital-industries.stat-card': VitalIndustriesStatCard;
      'vital-industries.stats': VitalIndustriesStats;
      'vital-industries.transport': VitalIndustriesTransport;
      'wedding-collective.gallery': WeddingCollectiveGallery;
      'wedding-collective.gallery-image': WeddingCollectiveGalleryImage;
      'wedding-collective.hero': WeddingCollectiveHero;
      'wedding-collective.inquiry': WeddingCollectiveInquiry;
      'wedding-collective.option': WeddingCollectiveOption;
    }
  }
}
