/* tslint:disable */
/* eslint-disable */
/**
 * This file was automatically generated by Payload.
 * DO NOT MODIFY IT BY HAND. Instead, modify your source Payload config,
 * and re-run `payload generate:types` to regenerate this file.
 */

/**
 * Supported timezones in IANA format.
 *
 * This interface was referenced by `Config`'s JSON-Schema
 * via the `definition` "supportedTimezones".
 */
export type SupportedTimezones =
  | 'Pacific/Midway'
  | 'Pacific/Niue'
  | 'Pacific/Honolulu'
  | 'Pacific/Rarotonga'
  | 'America/Anchorage'
  | 'Pacific/Gambier'
  | 'America/Los_Angeles'
  | 'America/Tijuana'
  | 'America/Denver'
  | 'America/Phoenix'
  | 'America/Chicago'
  | 'America/Guatemala'
  | 'America/New_York'
  | 'America/Bogota'
  | 'America/Caracas'
  | 'America/Santiago'
  | 'America/Buenos_Aires'
  | 'America/Sao_Paulo'
  | 'Atlantic/South_Georgia'
  | 'Atlantic/Azores'
  | 'Atlantic/Cape_Verde'
  | 'Europe/London'
  | 'Europe/Berlin'
  | 'Africa/Lagos'
  | 'Europe/Athens'
  | 'Africa/Cairo'
  | 'Europe/Moscow'
  | 'Asia/Riyadh'
  | 'Asia/Dubai'
  | 'Asia/Baku'
  | 'Asia/Karachi'
  | 'Asia/Tashkent'
  | 'Asia/Calcutta'
  | 'Asia/Dhaka'
  | 'Asia/Almaty'
  | 'Asia/Jakarta'
  | 'Asia/Bangkok'
  | 'Asia/Shanghai'
  | 'Asia/Singapore'
  | 'Asia/Tokyo'
  | 'Asia/Seoul'
  | 'Australia/Brisbane'
  | 'Australia/Sydney'
  | 'Pacific/Guam'
  | 'Pacific/Noumea'
  | 'Pacific/Auckland'
  | 'Pacific/Fiji';

export interface Config {
  auth: {
    users: UserAuthOperations;
  };
  blocks: {};
  collections: {
    courses: Course;
    leads: Lead;
    media: Media;
    users: User;
    'payload-kv': PayloadKv;
    'payload-locked-documents': PayloadLockedDocument;
    'payload-preferences': PayloadPreference;
    'payload-migrations': PayloadMigration;
  };
  collectionsJoins: {};
  collectionsSelect: {
    courses: CoursesSelect<false> | CoursesSelect<true>;
    leads: LeadsSelect<false> | LeadsSelect<true>;
    media: MediaSelect<false> | MediaSelect<true>;
    users: UsersSelect<false> | UsersSelect<true>;
    'payload-kv': PayloadKvSelect<false> | PayloadKvSelect<true>;
    'payload-locked-documents': PayloadLockedDocumentsSelect<false> | PayloadLockedDocumentsSelect<true>;
    'payload-preferences': PayloadPreferencesSelect<false> | PayloadPreferencesSelect<true>;
    'payload-migrations': PayloadMigrationsSelect<false> | PayloadMigrationsSelect<true>;
  };
  db: {
    defaultIDType: number;
  };
  fallbackLocale: ('false' | 'none' | 'null') | false | null | ('ar' | 'en') | ('ar' | 'en')[];
  globals: {
    home: Home;
    catalogue: Catalogue;
    pricing: Pricing;
    about: About;
    contactpage: Contactpage;
    settings: Setting;
  };
  globalsSelect: {
    home: HomeSelect<false> | HomeSelect<true>;
    catalogue: CatalogueSelect<false> | CatalogueSelect<true>;
    pricing: PricingSelect<false> | PricingSelect<true>;
    about: AboutSelect<false> | AboutSelect<true>;
    contactpage: ContactpageSelect<false> | ContactpageSelect<true>;
    settings: SettingsSelect<false> | SettingsSelect<true>;
  };
  locale: 'ar' | 'en';
  widgets: {
    collections: CollectionsWidget;
  };
  user: User;
  jobs: {
    tasks: unknown;
    workflows: unknown;
  };
}
export interface UserAuthOperations {
  forgotPassword: {
    email: string;
    password: string;
  };
  login: {
    email: string;
    password: string;
  };
  registerFirstUser: {
    email: string;
    password: string;
  };
  unlock: {
    email: string;
    password: string;
  };
}
/**
 * This interface was referenced by `Config`'s JSON-Schema
 * via the `definition` "courses".
 */
export interface Course {
  id: number;
  slug: string;
  /**
   * Managed on the learning platform, in the course settings there. This is the copy the site uses if the platform cannot be reached.
   */
  status?: ('live' | 'partial' | 'soon') | null;
  /**
   * Managed on the learning platform, in the course settings there. This is the copy the site uses if the platform cannot be reached.
   */
  order?: number | null;
  /**
   * Managed on the learning platform, in the course settings there. This is the copy the site uses if the platform cannot be reached.
   */
  title?: string | null;
  /**
   * Managed on the learning platform, in the course settings there. This is the copy the site uses if the platform cannot be reached.
   */
  titleShort?: string | null;
  /**
   * Managed on the learning platform, in the course settings there. This is the copy the site uses if the platform cannot be reached.
   */
  tagline?: string | null;
  /**
   * Managed on the learning platform, in the course settings there. This is the copy the site uses if the platform cannot be reached.
   */
  audience?: string | null;
  /**
   * Managed on the learning platform, in the course settings there. This is the copy the site uses if the platform cannot be reached.
   */
  level?: string | null;
  /**
   * Managed on the learning platform, in the course settings there. This is the copy the site uses if the platform cannot be reached.
   */
  instruction?: string | null;
  /**
   * Managed on the learning platform, in the course settings there. This is the copy the site uses if the platform cannot be reached. The first two show on the course card.
   */
  facts?:
    | {
        text: string;
        id?: string | null;
      }[]
    | null;
  /**
   * Managed on the learning platform, in the course settings there. This is the copy the site uses if the platform cannot be reached.
   */
  includes?:
    | {
        text: string;
        id?: string | null;
      }[]
    | null;
  /**
   * Managed on the learning platform, in the course settings there. This is the copy the site uses if the platform cannot be reached.
   */
  outcomes?:
    | {
        text: string;
        id?: string | null;
      }[]
    | null;
  /**
   * Managed on the learning platform, in the course settings there. This is the copy the site uses if the platform cannot be reached.
   */
  availability?: string | null;
  /**
   * Managed on the learning platform, in the course settings there. This is the copy the site uses if the platform cannot be reached.
   */
  units?:
    | {
        n: number;
        name: string;
        kind?: ('lessons' | 'labs' | 'projects') | null;
        source?: ('book' | 'added') | null;
        lessons: number;
        /**
         * Leave empty when every lesson is from the book.
         */
        book?: number | null;
        id?: string | null;
      }[]
    | null;
  /**
   * Managed on the learning platform, in the course settings there. This is the copy the site uses if the platform cannot be reached.
   */
  price?: {
    /**
     * The normal price. These three fields are read from the learning platform when the course has a link to it, because that is where payment happens; what is written here is used when the platform cannot be reached. Leave empty to show the note below instead of a price.
     */
    amount?: number | null;
    /**
     * With an end date, this price shows with the normal one struck through beside it. After the date the normal price returns on its own.
     */
    offer?: number | null;
    /**
     * The last day of the offer. That day is itself inside the offer.
     */
    offerEnds?: string | null;
    note?: string | null;
  };
  /**
   * Managed on the learning platform, in the course settings there. This is the copy the site uses if the platform cannot be reached. When set, the enrol button goes to the course on the learning platform (sign-up and InstaPay payment). Otherwise it goes to the interest form.
   */
  platformUrl?: string | null;
  poster?: (number | null) | Media;
  posterNote?: string | null;
  /**
   * A YouTube or platform link. When set, the preview image links to it.
   */
  videoUrl?: string | null;
  /**
   * They appear in the "free lessons" section of the course page. Each one opens inside the page.
   */
  freeLessons?:
    | {
        title: string;
        /**
         * For example 1-1. It shows above the title.
         */
        code?: string | null;
        videoUrl: string;
        poster?: (number | null) | Media;
        id?: string | null;
      }[]
    | null;
  tone?: ('royal-700' | 'royal-800' | 'azure-700' | 'navy-900' | 'navy-700') | null;
  updatedAt: string;
  createdAt: string;
}
/**
 * This interface was referenced by `Config`'s JSON-Schema
 * via the `definition` "media".
 */
export interface Media {
  id: number;
  alt: string;
  updatedAt: string;
  createdAt: string;
  url?: string | null;
  thumbnailURL?: string | null;
  filename?: string | null;
  mimeType?: string | null;
  filesize?: number | null;
  width?: number | null;
  height?: number | null;
  focalX?: number | null;
  focalY?: number | null;
  sizes?: {
    card?: {
      url?: string | null;
      width?: number | null;
      height?: number | null;
      mimeType?: string | null;
      filesize?: number | null;
      filename?: string | null;
    };
    wide?: {
      url?: string | null;
      width?: number | null;
      height?: number | null;
      mimeType?: string | null;
      filesize?: number | null;
      filename?: string | null;
    };
  };
}
/**
 * This interface was referenced by `Config`'s JSON-Schema
 * via the `definition` "leads".
 */
export interface Lead {
  id: number;
  name: string;
  email: string;
  phone?: string | null;
  role?: string | null;
  course?: (number | null) | Course;
  /**
   * Kept with every request, so the course is known even when it was added on the platform and has no row here.
   */
  courseSlug?: string | null;
  note?: string | null;
  status?: ('new' | 'contacted' | 'enrolled' | 'closed') | null;
  locale?: ('ar' | 'en') | null;
  updatedAt: string;
  createdAt: string;
}
/**
 * This interface was referenced by `Config`'s JSON-Schema
 * via the `definition` "users".
 */
export interface User {
  id: number;
  name?: string | null;
  updatedAt: string;
  createdAt: string;
  email: string;
  resetPasswordToken?: string | null;
  resetPasswordExpiration?: string | null;
  salt?: string | null;
  hash?: string | null;
  resetPasswordRequestedAt?: string | null;
  loginAttempts?: number | null;
  lockUntil?: string | null;
  sessions?:
    | {
        id: string;
        createdAt?: string | null;
        expiresAt: string;
      }[]
    | null;
  password?: string | null;
  collection: 'users';
}
/**
 * This interface was referenced by `Config`'s JSON-Schema
 * via the `definition` "payload-kv".
 */
export interface PayloadKv {
  id: number;
  key: string;
  data:
    | {
        [k: string]: unknown;
      }
    | unknown[]
    | string
    | number
    | boolean
    | null;
}
/**
 * This interface was referenced by `Config`'s JSON-Schema
 * via the `definition` "payload-locked-documents".
 */
export interface PayloadLockedDocument {
  id: number;
  document?:
    | ({
        relationTo: 'courses';
        value: number | Course;
      } | null)
    | ({
        relationTo: 'leads';
        value: number | Lead;
      } | null)
    | ({
        relationTo: 'media';
        value: number | Media;
      } | null)
    | ({
        relationTo: 'users';
        value: number | User;
      } | null);
  globalSlug?: string | null;
  user: {
    relationTo: 'users';
    value: number | User;
  };
  updatedAt: string;
  createdAt: string;
}
/**
 * This interface was referenced by `Config`'s JSON-Schema
 * via the `definition` "payload-preferences".
 */
export interface PayloadPreference {
  id: number;
  user: {
    relationTo: 'users';
    value: number | User;
  };
  key?: string | null;
  value?:
    | {
        [k: string]: unknown;
      }
    | unknown[]
    | string
    | number
    | boolean
    | null;
  updatedAt: string;
  createdAt: string;
}
/**
 * This interface was referenced by `Config`'s JSON-Schema
 * via the `definition` "payload-migrations".
 */
export interface PayloadMigration {
  id: number;
  name?: string | null;
  batch?: number | null;
  updatedAt: string;
  createdAt: string;
}
/**
 * This interface was referenced by `Config`'s JSON-Schema
 * via the `definition` "courses_select".
 */
export interface CoursesSelect<T extends boolean = true> {
  slug?: T;
  status?: T;
  order?: T;
  title?: T;
  titleShort?: T;
  tagline?: T;
  audience?: T;
  level?: T;
  instruction?: T;
  facts?:
    | T
    | {
        text?: T;
        id?: T;
      };
  includes?:
    | T
    | {
        text?: T;
        id?: T;
      };
  outcomes?:
    | T
    | {
        text?: T;
        id?: T;
      };
  availability?: T;
  units?:
    | T
    | {
        n?: T;
        name?: T;
        kind?: T;
        source?: T;
        lessons?: T;
        book?: T;
        id?: T;
      };
  price?:
    | T
    | {
        amount?: T;
        offer?: T;
        offerEnds?: T;
        note?: T;
      };
  platformUrl?: T;
  poster?: T;
  posterNote?: T;
  videoUrl?: T;
  freeLessons?:
    | T
    | {
        title?: T;
        code?: T;
        videoUrl?: T;
        poster?: T;
        id?: T;
      };
  tone?: T;
  updatedAt?: T;
  createdAt?: T;
}
/**
 * This interface was referenced by `Config`'s JSON-Schema
 * via the `definition` "leads_select".
 */
export interface LeadsSelect<T extends boolean = true> {
  name?: T;
  email?: T;
  phone?: T;
  role?: T;
  course?: T;
  courseSlug?: T;
  note?: T;
  status?: T;
  locale?: T;
  updatedAt?: T;
  createdAt?: T;
}
/**
 * This interface was referenced by `Config`'s JSON-Schema
 * via the `definition` "media_select".
 */
export interface MediaSelect<T extends boolean = true> {
  alt?: T;
  updatedAt?: T;
  createdAt?: T;
  url?: T;
  thumbnailURL?: T;
  filename?: T;
  mimeType?: T;
  filesize?: T;
  width?: T;
  height?: T;
  focalX?: T;
  focalY?: T;
  sizes?:
    | T
    | {
        card?:
          | T
          | {
              url?: T;
              width?: T;
              height?: T;
              mimeType?: T;
              filesize?: T;
              filename?: T;
            };
        wide?:
          | T
          | {
              url?: T;
              width?: T;
              height?: T;
              mimeType?: T;
              filesize?: T;
              filename?: T;
            };
      };
}
/**
 * This interface was referenced by `Config`'s JSON-Schema
 * via the `definition` "users_select".
 */
export interface UsersSelect<T extends boolean = true> {
  name?: T;
  updatedAt?: T;
  createdAt?: T;
  email?: T;
  resetPasswordToken?: T;
  resetPasswordExpiration?: T;
  salt?: T;
  hash?: T;
  resetPasswordRequestedAt?: T;
  loginAttempts?: T;
  lockUntil?: T;
  sessions?:
    | T
    | {
        id?: T;
        createdAt?: T;
        expiresAt?: T;
      };
}
/**
 * This interface was referenced by `Config`'s JSON-Schema
 * via the `definition` "payload-kv_select".
 */
export interface PayloadKvSelect<T extends boolean = true> {
  key?: T;
  data?: T;
}
/**
 * This interface was referenced by `Config`'s JSON-Schema
 * via the `definition` "payload-locked-documents_select".
 */
export interface PayloadLockedDocumentsSelect<T extends boolean = true> {
  document?: T;
  globalSlug?: T;
  user?: T;
  updatedAt?: T;
  createdAt?: T;
}
/**
 * This interface was referenced by `Config`'s JSON-Schema
 * via the `definition` "payload-preferences_select".
 */
export interface PayloadPreferencesSelect<T extends boolean = true> {
  user?: T;
  key?: T;
  value?: T;
  updatedAt?: T;
  createdAt?: T;
}
/**
 * This interface was referenced by `Config`'s JSON-Schema
 * via the `definition` "payload-migrations_select".
 */
export interface PayloadMigrationsSelect<T extends boolean = true> {
  name?: T;
  batch?: T;
  updatedAt?: T;
  createdAt?: T;
}
/**
 * This interface was referenced by `Config`'s JSON-Schema
 * via the `definition` "home".
 */
export interface Home {
  id: number;
  seo: {
    title: string;
    description?: string | null;
  };
  eyebrow?: string | null;
  h1: string;
  h1Accent?: string | null;
  lead?: string | null;
  facts?:
    | {
        n: string;
        label?: string | null;
        id?: string | null;
      }[]
    | null;
  heroImage?: (number | null) | Media;
  bookTitle?: string | null;
  bookLead?: string | null;
  bookBarTitle?: string | null;
  bookBar?:
    | {
        n: string;
        label?: string | null;
        kind: 'book' | 'added' | 'lab' | 'project';
        id?: string | null;
      }[]
    | null;
  bookCode?: string | null;
  layersTitle?: string | null;
  layers?:
    | {
        badge: string;
        name: string;
        text?: string | null;
        plain?: boolean | null;
        id?: string | null;
      }[]
    | null;
  paths?: string | null;
  stepsTitle?: string | null;
  steps?:
    | {
        n: string;
        title: string;
        text?: string | null;
        id?: string | null;
      }[]
    | null;
  lifeTitle?: string | null;
  lifeText?: string | null;
  lifeImage?: (number | null) | Media;
  lifeBoxes?:
    | {
        title: string;
        text?: string | null;
        id?: string | null;
      }[]
    | null;
  unitsTitle?: string | null;
  unitsLead?: string | null;
  unitsCourse?: (number | null) | Course;
  peopleTitle?: string | null;
  people?:
    | {
        name: string;
        text?: string | null;
        id?: string | null;
      }[]
    | null;
  coursesTitle?: string | null;
  coursesLead?: string | null;
  ctaTitle?: string | null;
  ctaLead?: string | null;
  faqTitle?: string | null;
  faq?:
    | {
        q: string;
        text?: string | null;
        id?: string | null;
      }[]
    | null;
  updatedAt?: string | null;
  createdAt?: string | null;
}
/**
 * This interface was referenced by `Config`'s JSON-Schema
 * via the `definition` "catalogue".
 */
export interface Catalogue {
  id: number;
  seo: {
    title: string;
    description?: string | null;
  };
  h1: string;
  lead?: string | null;
  labels?: {
    back?: string | null;
    outcomes?: string | null;
    audience?: string | null;
    instruction?: string | null;
    level?: string | null;
    units?: string | null;
    unitsLead?: string | null;
    preview?: string | null;
    previewNote?: string | null;
    freeLessons?: string | null;
    freeLessonsNote?: string | null;
    watch?: string | null;
    lessonsWord?: string | null;
    labsWord?: string | null;
    projectsWord?: string | null;
    fromBook?: string | null;
    added?: string | null;
    addedUnit?: string | null;
    /**
     * Read by a screen reader only, so the struck-through figure is understood as the normal price.
     */
    priceWas?: string | null;
    /**
     * Write {date} where the date goes, for example: offer runs until {date}.
     */
    offerUntil?: string | null;
  };
  updatedAt?: string | null;
  createdAt?: string | null;
}
/**
 * This interface was referenced by `Config`'s JSON-Schema
 * via the `definition` "pricing".
 */
export interface Pricing {
  id: number;
  seo: {
    title: string;
    description?: string | null;
  };
  h1: string;
  lead?: string | null;
  plansTitle?: string | null;
  plans?:
    | {
        name: string;
        text?: string | null;
        items?:
          | {
              text: string;
              id?: string | null;
            }[]
          | null;
        /**
         * Empty = the first course’s price and note.
         */
        price?: string | null;
        id?: string | null;
      }[]
    | null;
  formTitle?: string | null;
  formLead?: string | null;
  fields?: {
    name?: string | null;
    email?: string | null;
    phone?: string | null;
    role?: string | null;
    course?: string | null;
    note?: string | null;
  };
  roles?:
    | {
        label: string;
        id?: string | null;
      }[]
    | null;
  submit?: string | null;
  privacy?: string | null;
  sent?: string | null;
  invalid?: string | null;
  updatedAt?: string | null;
  createdAt?: string | null;
}
/**
 * The team cards come from the home page (tab “Units and team”).
 *
 * This interface was referenced by `Config`'s JSON-Schema
 * via the `definition` "about".
 */
export interface About {
  id: number;
  seo: {
    title: string;
    description?: string | null;
  };
  h1: string;
  lead?: string | null;
  peopleTitle?: string | null;
  principlesTitle?: string | null;
  principles?:
    | {
        text: string;
        id?: string | null;
      }[]
    | null;
  sections?:
    | {
        title: string;
        text?: string | null;
        id?: string | null;
      }[]
    | null;
  updatedAt?: string | null;
  createdAt?: string | null;
}
/**
 * This interface was referenced by `Config`'s JSON-Schema
 * via the `definition` "contactpage".
 */
export interface Contactpage {
  id: number;
  seo: {
    title: string;
    description?: string | null;
  };
  h1: string;
  lead?: string | null;
  formTitle?: string | null;
  formLead?: string | null;
  waysTitle?: string | null;
  reassure?: {
    title?: string | null;
    text?: string | null;
  };
  updatedAt?: string | null;
  createdAt?: string | null;
}
/**
 * This interface was referenced by `Config`'s JSON-Schema
 * via the `definition` "settings".
 */
export interface Setting {
  id: number;
  brandName: string;
  contact?: {
    email?: string | null;
    phone?: string | null;
    /**
     * With the country code, for example 00201062163038. It is shown tidily, and a tap opens WhatsApp on a chat with us.
     */
    whatsapp?: string | null;
    /**
     * It is already typed when the chat opens; the visitor only presses send.
     */
    waText?: string | null;
    /**
     * Shown above the contact details in the footer and on the pricing page.
     */
    lead?: string | null;
    youtube?: string | null;
  };
  /**
   * For example https://learn.thinkera.academy. The header shows a sign-in button.
   */
  platformUrl?: string | null;
  /**
   * A page of this site starting with / (like /courses) or a full address starting with https://. Site links open in the page language automatically.
   */
  freeLessonHref: string;
  /**
   * Every new interest request is mailed here. Leave it empty to use NOTIFY_EMAIL from .env.
   */
  notifyEmail?: string | null;
  currency?: {
    code?: string | null;
    label?: string | null;
  };
  nav?:
    | {
        label: string;
        /**
         * A page of this site starting with / (like /courses) or a full address starting with https://. Site links open in the page language automatically.
         */
        href: string;
        id?: string | null;
      }[]
    | null;
  cta?: {
    free?: string | null;
    all?: string | null;
    primary?: string | null;
    enrol?: string | null;
    subscribe?: string | null;
    notify?: string | null;
    youtube?: string | null;
  };
  ui?: {
    langSwitch?: string | null;
    menu?: string | null;
    skip?: string | null;
    signIn?: string | null;
  };
  status?: {
    live?: string | null;
    partial?: string | null;
    soon?: string | null;
  };
  footer?: {
    tagline?: string | null;
    coursesHeading?: string | null;
    academyHeading?: string | null;
    links?:
      | {
          label: string;
          /**
           * A page of this site starting with / (like /courses) or a full address starting with https://. Site links open in the page language automatically.
           */
          href: string;
          id?: string | null;
        }[]
      | null;
    rights?: string | null;
  };
  updatedAt?: string | null;
  createdAt?: string | null;
}
/**
 * This interface was referenced by `Config`'s JSON-Schema
 * via the `definition` "home_select".
 */
export interface HomeSelect<T extends boolean = true> {
  seo?:
    | T
    | {
        title?: T;
        description?: T;
      };
  eyebrow?: T;
  h1?: T;
  h1Accent?: T;
  lead?: T;
  facts?:
    | T
    | {
        n?: T;
        label?: T;
        id?: T;
      };
  heroImage?: T;
  bookTitle?: T;
  bookLead?: T;
  bookBarTitle?: T;
  bookBar?:
    | T
    | {
        n?: T;
        label?: T;
        kind?: T;
        id?: T;
      };
  bookCode?: T;
  layersTitle?: T;
  layers?:
    | T
    | {
        badge?: T;
        name?: T;
        text?: T;
        plain?: T;
        id?: T;
      };
  paths?: T;
  stepsTitle?: T;
  steps?:
    | T
    | {
        n?: T;
        title?: T;
        text?: T;
        id?: T;
      };
  lifeTitle?: T;
  lifeText?: T;
  lifeImage?: T;
  lifeBoxes?:
    | T
    | {
        title?: T;
        text?: T;
        id?: T;
      };
  unitsTitle?: T;
  unitsLead?: T;
  unitsCourse?: T;
  peopleTitle?: T;
  people?:
    | T
    | {
        name?: T;
        text?: T;
        id?: T;
      };
  coursesTitle?: T;
  coursesLead?: T;
  ctaTitle?: T;
  ctaLead?: T;
  faqTitle?: T;
  faq?:
    | T
    | {
        q?: T;
        text?: T;
        id?: T;
      };
  updatedAt?: T;
  createdAt?: T;
  globalType?: T;
}
/**
 * This interface was referenced by `Config`'s JSON-Schema
 * via the `definition` "catalogue_select".
 */
export interface CatalogueSelect<T extends boolean = true> {
  seo?:
    | T
    | {
        title?: T;
        description?: T;
      };
  h1?: T;
  lead?: T;
  labels?:
    | T
    | {
        back?: T;
        outcomes?: T;
        audience?: T;
        instruction?: T;
        level?: T;
        units?: T;
        unitsLead?: T;
        preview?: T;
        previewNote?: T;
        freeLessons?: T;
        freeLessonsNote?: T;
        watch?: T;
        lessonsWord?: T;
        labsWord?: T;
        projectsWord?: T;
        fromBook?: T;
        added?: T;
        addedUnit?: T;
        priceWas?: T;
        offerUntil?: T;
      };
  updatedAt?: T;
  createdAt?: T;
  globalType?: T;
}
/**
 * This interface was referenced by `Config`'s JSON-Schema
 * via the `definition` "pricing_select".
 */
export interface PricingSelect<T extends boolean = true> {
  seo?:
    | T
    | {
        title?: T;
        description?: T;
      };
  h1?: T;
  lead?: T;
  plansTitle?: T;
  plans?:
    | T
    | {
        name?: T;
        text?: T;
        items?:
          | T
          | {
              text?: T;
              id?: T;
            };
        price?: T;
        id?: T;
      };
  formTitle?: T;
  formLead?: T;
  fields?:
    | T
    | {
        name?: T;
        email?: T;
        phone?: T;
        role?: T;
        course?: T;
        note?: T;
      };
  roles?:
    | T
    | {
        label?: T;
        id?: T;
      };
  submit?: T;
  privacy?: T;
  sent?: T;
  invalid?: T;
  updatedAt?: T;
  createdAt?: T;
  globalType?: T;
}
/**
 * This interface was referenced by `Config`'s JSON-Schema
 * via the `definition` "about_select".
 */
export interface AboutSelect<T extends boolean = true> {
  seo?:
    | T
    | {
        title?: T;
        description?: T;
      };
  h1?: T;
  lead?: T;
  peopleTitle?: T;
  principlesTitle?: T;
  principles?:
    | T
    | {
        text?: T;
        id?: T;
      };
  sections?:
    | T
    | {
        title?: T;
        text?: T;
        id?: T;
      };
  updatedAt?: T;
  createdAt?: T;
  globalType?: T;
}
/**
 * This interface was referenced by `Config`'s JSON-Schema
 * via the `definition` "contactpage_select".
 */
export interface ContactpageSelect<T extends boolean = true> {
  seo?:
    | T
    | {
        title?: T;
        description?: T;
      };
  h1?: T;
  lead?: T;
  formTitle?: T;
  formLead?: T;
  waysTitle?: T;
  reassure?:
    | T
    | {
        title?: T;
        text?: T;
      };
  updatedAt?: T;
  createdAt?: T;
  globalType?: T;
}
/**
 * This interface was referenced by `Config`'s JSON-Schema
 * via the `definition` "settings_select".
 */
export interface SettingsSelect<T extends boolean = true> {
  brandName?: T;
  contact?:
    | T
    | {
        email?: T;
        phone?: T;
        whatsapp?: T;
        waText?: T;
        lead?: T;
        youtube?: T;
      };
  platformUrl?: T;
  freeLessonHref?: T;
  notifyEmail?: T;
  currency?:
    | T
    | {
        code?: T;
        label?: T;
      };
  nav?:
    | T
    | {
        label?: T;
        href?: T;
        id?: T;
      };
  cta?:
    | T
    | {
        free?: T;
        all?: T;
        primary?: T;
        enrol?: T;
        subscribe?: T;
        notify?: T;
        youtube?: T;
      };
  ui?:
    | T
    | {
        langSwitch?: T;
        menu?: T;
        skip?: T;
        signIn?: T;
      };
  status?:
    | T
    | {
        live?: T;
        partial?: T;
        soon?: T;
      };
  footer?:
    | T
    | {
        tagline?: T;
        coursesHeading?: T;
        academyHeading?: T;
        links?:
          | T
          | {
              label?: T;
              href?: T;
              id?: T;
            };
        rights?: T;
      };
  updatedAt?: T;
  createdAt?: T;
  globalType?: T;
}
/**
 * This interface was referenced by `Config`'s JSON-Schema
 * via the `definition` "collections_widget".
 */
export interface CollectionsWidget {
  data?: {
    [k: string]: unknown;
  };
  width: 'full';
}
/**
 * This interface was referenced by `Config`'s JSON-Schema
 * via the `definition` "auth".
 */
export interface Auth {
  [k: string]: unknown;
}


declare module 'payload' {
  export interface GeneratedTypes extends Config {}
}