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

export interface AboutTechPartners extends Struct.ComponentSchema {
  collectionName: 'components_about_tech_partners';
  info: {
    displayName: 'Tech Partners';
  };
  attributes: {
    image: Schema.Attribute.Media<
      'images' | 'files' | 'videos' | 'audios',
      true
    >;
  };
}

export interface ContactContactTextContent extends Struct.ComponentSchema {
  collectionName: 'components_contact_contact_text_contents';
  info: {
    displayName: 'Contact Info Image Blocks';
  };
  attributes: {
    image: Schema.Attribute.Media<'images' | 'files' | 'videos' | 'audios'>;
    phone: Schema.Attribute.String;
    title: Schema.Attribute.String;
  };
}

export interface HomepageOurServices extends Struct.ComponentSchema {
  collectionName: 'components_homepage_our_services';
  info: {
    displayName: 'Our Services';
  };
  attributes: {
    description: Schema.Attribute.Text;
    icon: Schema.Attribute.Media<'images' | 'files' | 'videos' | 'audios'>;
    link: Schema.Attribute.String;
    title: Schema.Attribute.String;
  };
}

export interface HomepageOurSuccessfulClients extends Struct.ComponentSchema {
  collectionName: 'components_homepage_our_successful_clients';
  info: {
    displayName: 'Our Successful Clients';
  };
  attributes: {
    logo: Schema.Attribute.Media<'images' | 'files' | 'videos' | 'audios'>;
  };
}

export interface HomepageQuickLink extends Struct.ComponentSchema {
  collectionName: 'components_homepage_quick_links';
  info: {
    displayName: 'Quick Link';
  };
  attributes: {
    image: Schema.Attribute.Media<'images' | 'files' | 'videos' | 'audios'>;
    link: Schema.Attribute.String;
    title: Schema.Attribute.String;
  };
}

export interface MiscellaneousPhoneNumberBlock extends Struct.ComponentSchema {
  collectionName: 'components_miscellaneous_phone_number_blocks';
  info: {
    displayName: 'Phone Number Block';
  };
  attributes: {
    block_image: Schema.Attribute.Media<
      'images' | 'files' | 'videos' | 'audios'
    >;
    block_phone_number: Schema.Attribute.String;
    block_title: Schema.Attribute.String;
  };
}

export interface OffersOfferList extends Struct.ComponentSchema {
  collectionName: 'components_offers_offer_lists';
  info: {
    displayName: 'Offer List';
  };
  attributes: {
    content: Schema.Attribute.Text;
    expiry_date: Schema.Attribute.DateTime;
    image: Schema.Attribute.Media<
      'images' | 'files' | 'videos' | 'audios',
      true
    >;
    subtitle: Schema.Attribute.String;
    title: Schema.Attribute.String;
  };
}

export interface PackageBtrcButton extends Struct.ComponentSchema {
  collectionName: 'components_package_btrc_buttons';
  info: {
    displayName: 'BTRC Button';
  };
  attributes: {
    btrc_button_link: Schema.Attribute.String;
    btrc_button_title: Schema.Attribute.String;
  };
}

export interface PackagePackageFeature extends Struct.ComponentSchema {
  collectionName: 'components_package_package_features';
  info: {
    displayName: 'Package Feature';
    icon: 'check';
  };
  attributes: {
    texts: Schema.Attribute.String;
  };
}

export interface PackagePackageGlobalFeatureList
  extends Struct.ComponentSchema {
  collectionName: 'components_package_package_global_feature_lists';
  info: {
    displayName: 'Package Global Feature List';
  };
  attributes: {
    title: Schema.Attribute.String;
  };
}

export interface PackagePackagesGlobalFeatures extends Struct.ComponentSchema {
  collectionName: 'components_package_packages_global_features';
  info: {
    displayName: 'Packages Global Features';
  };
  attributes: {
    btrc_button: Schema.Attribute.Component<'package.btrc-button', false>;
    image: Schema.Attribute.Media<
      'images' | 'files' | 'videos' | 'audios',
      true
    >;
    List: Schema.Attribute.Component<
      'package.package-global-feature-list',
      true
    >;
    pkg_global_feature_title: Schema.Attribute.String;
  };
}

export interface SupportFaq extends Struct.ComponentSchema {
  collectionName: 'components_support_faqs';
  info: {
    displayName: 'Faq';
  };
  attributes: {
    answer: Schema.Attribute.String;
    question: Schema.Attribute.String;
  };
}

declare module '@strapi/strapi' {
  export module Public {
    export interface ComponentSchemas {
      'about.tech-partners': AboutTechPartners;
      'contact.contact-text-content': ContactContactTextContent;
      'homepage.our-services': HomepageOurServices;
      'homepage.our-successful-clients': HomepageOurSuccessfulClients;
      'homepage.quick-link': HomepageQuickLink;
      'miscellaneous.phone-number-block': MiscellaneousPhoneNumberBlock;
      'offers.offer-list': OffersOfferList;
      'package.btrc-button': PackageBtrcButton;
      'package.package-feature': PackagePackageFeature;
      'package.package-global-feature-list': PackagePackageGlobalFeatureList;
      'package.packages-global-features': PackagePackagesGlobalFeatures;
      'support.faq': SupportFaq;
    }
  }
}
