export interface CustomerService { banner: Banner[]; components: Components; } export interface Banner { type: string; id: string; links: FluffyLinks; banner_link?: any[]; description: Description | null; title: string; meta: BannerMeta; banner_image?: BannerImageElement; document_upload?: DocumentUpload; } export interface BannerImageElement { type: string; id: string; links: FluffyLinks; description: null; meta: BannerImageMeta; image: BannerImageImage; } export interface BannerImageImage { type: string; id: string; links: PurpleLinks; filename: string; uri: URI; filemime: string; status: boolean; meta: FluffyMeta; } export interface PurpleLinks { coh_small: PurpleCohSmall; coh_xx_small: PurpleCohSmall; self: Self; } export interface PurpleCohSmall { href: string; meta: PurpleMeta; } export interface PurpleMeta { width: string; height: string; rel: string[]; } export interface Self { href: string; } export interface FluffyMeta { alt: string; title: string; width: number; height: number; drupal_internal__target_id: number; imageDerivatives: ImageDerivatives; } export interface ImageDerivatives { links: ImageDerivativesLinks; } export interface ImageDerivativesLinks { coh_small: FluffyCohSmall; coh_xx_small: FluffyCohSmall; } export interface FluffyCohSmall { href: string; title: string; type: string; meta: TentacledMeta; } export interface TentacledMeta { rel: string; width: number; height: number; } export interface URI { value: string; url: string; } export interface FluffyLinks { self: Self; } export interface BannerImageMeta { drupal_internal__target_id: number; } export interface Description { value: string; format: string; processed: string; summary?: string; } export interface DocumentUpload { type: string; id: string; links: FluffyLinks; meta: BannerImageMeta; media_file: MediaFile; } export interface MediaFile { type: string; id: string; links: FluffyLinks; filename: string; uri: URI; filemime: string; status: boolean; meta: MediaFileMeta; } export interface MediaFileMeta { display: boolean; description: string; drupal_internal__target_id: number; } export interface BannerMeta { target_revision_id: number; drupal_internal__target_id: number; } export interface Components { type: string; id: string; links: FluffyLinks; title: string; body: null; meta: BannerImageMeta; paragraphs: Paragraph[]; } export interface Paragraph { type: string; id: string; links: FluffyLinks; meta: BannerMeta; components: ParagraphComponent[]; } export interface ParagraphComponent { type: string; id: string; links: FluffyLinks; link: PurpleLink | null; subtitle: Description | null | string; title: null | string; meta: BannerMeta; component?: ComponentComponent[]; image: ModalWindowClass; tag: Tag; new_item?: NewItem; } export interface ComponentComponent { type: string; id: string; links: FluffyLinks; description?: Description | null; link?: NewItemLink | null; title?: string; meta: BannerMeta; image?: BannerImageElement[]; attach_modal_window?: boolean; modal_window?: ModalWindow; card_type?: string; email?: null | string; mobile?: null; mobile_description?: null; phone?: null | string; toll_free_call_available_t?: null | string; whatsapp?: null; } export interface NewItemLink { uri: string; title: string; options: Options; } export interface Options { attributes: Attributes; } export interface Attributes { class: string[]; title?: string; } export interface ModalWindow { type?: string; id?: string; links: ModalWindowLinks; body?: Description; footer_title?: null; description?: string; title?: string; meta?: BannerImageMeta; footer_image?: ModalWindowClass; image?: BannerImageElement; components?: ModalWindowComponent[]; tag?: ModalWindowClass; data?: null; } export interface ModalWindowComponent { type: string; id: string; links: FluffyLinks; steps?: string[]; meta: BannerMeta; description?: null; link?: NewItemLink; attach_modal_window?: boolean; modal_window?: ModalWindowClass; } export interface ModalWindowClass { data: any[] | null; links: ModalWindowLinks; } export interface ModalWindowLinks { related?: Self; self: Self; } export interface PurpleLink { uri: string; title: string; options: any[]; } export interface NewItem { type: string; id: string; links: FluffyLinks; description?: null; link?: NewItemLink; title?: null | string; meta: BannerMeta; image?: BannerImageElement[]; components?: NewItemComponent[]; attach_modal_window?: boolean; modal_window?: ModalWindowClass; } export interface NewItemComponent { type: string; id: string; links: FluffyLinks; steps?: string[]; meta: BannerMeta; title?: null; component?: Banner[]; image?: PurpleImage[]; } export interface PurpleImage { type: string; id: string; meta: BannerImageMeta; } export interface Tag { type: string; id: string; links: FluffyLinks; name: string; weight: number; meta: BannerImageMeta; }