import { ActionMenuItemType } from '~/types/enum/layout' import { COOKIE_CONSENT_CHOICE } from '~/types/enum/enums' import { STRUCTURE_TYPE_KEYS, LEGAL_STATUS_KEYS } from '~/types/types' interface ActionMenuItem { type: ActionMenuItemType color: 'primary' | 'secondary' icon: string text: string url?: string | object target?: string } interface MainMenuItem { label: string to?: string children?: Array } interface CarouselItem { logo: string logoAlt: string description: string descriptionSm: string buttonClass: string image: string imageAlt: string color: string link: string name: string school: string status: string avatar: string avatarAlt: string } interface SolutionItem { name: string description: string image: string alt: string link: string class: string solutions: string[] } interface Review { name: string review: string status: string structure: string } interface MenuScroll { label: string anchor: string } interface FeaturePicto { src: string text: string } // TODO: vérifier l'utilité des props list et isMemberCmf interface Benefit { title: string number: string description: string image: string alt: string isMemberCMF?: boolean } interface Functionality { logo: string logoAlt: string title: string list: Array options?: Array } interface ComparisonItem { label: string includedInStandard: boolean | string includedInPremium: boolean | string } interface Formation { image: string alt: string overlayClass: string sessions: string title: string description: string buttonText: string link: string } interface Program { id: number objectives: string[] } interface Training { number?: string title: string description: string objectives: string[] duration: string program?: Program[] price: string downloadLink: string imageUrl?: string imageAlt?: string additionalObjectives?: Program[] } interface FaqEntry { question: string answer: string } interface SocietyValue { img: string alt: string title: string description: string } interface Event { rdv: string title: string localisation: string date: string img: string tags: string[] } interface ChronologyItem { year: string title: string description: string imageUrl: string } interface SocietyMember { name: string position: string photo: string alt: string } interface SocialNetworkShareBtn { name: string icon: string colorOnHover?: string url: string } interface ContactFormData { gender: string | null postalCode: string | null city: string | null phone: string | null requestType: string | null concernedProduct: string | null newsletterSubscription: boolean } interface CookiesPreferences { consent: COOKIE_CONSENT_CHOICE analyticsConsent: boolean advertisingConsent: boolean adUserDataConsent: boolean adPersonalizationConsent: boolean } interface Article { title: string text: string image: string imageAlt: string btnTitle?: string btnHref?: string } interface TrialRequest { structureName: string address: string addressComplement: string postalCode: string city: string structureEmail: string structureType: STRUCTURE_TYPE_KEYS legalStatus: LEGAL_STATUS_KEYS structureIdentifier: string siren: string representativeFirstName: string representativeLastName: string representativeFunction: string representativeEmail: string representativePhone: string password: string termsAccepted: boolean legalRepresentative: boolean newsletterSubscription: boolean }