import { IContentItem, ILink, IRichTextImage } from '../models'; import { ElementModels } from './element-models'; export namespace Elements { export type TextElement = ElementModels.IElement; export type LinkedItemsElement = ElementModels.IElement< string[] > & { /** * Linked items */ linkedItems: TContentItem[]; }; export type MultipleChoiceElement = ElementModels.IElement; export type DateTimeElement = ElementModels.IElement; export type RichTextElement = ElementModels.IElement & { /** * Links */ links: ILink[]; /** * Images included within rich text element */ images: IRichTextImage[]; /** * Array of linked item codenames */ linkedItemCodenames: string[]; /** * Array of linked items retrieved from `modular_content` part of the response. Not all items might be here * as it depends on the `depth` parameter of query. * The `linkedItemsReferenceHandler` configuration can be used to disable mapping of linked items */ linkedItems: IContentItem[]; }; export type NumberElement = ElementModels.IElement; export type AssetsElement = ElementModels.IElement; export type UrlSlugElement = ElementModels.IElement; export type TaxonomyElement = ElementModels.IElement< ElementModels.TaxonomyTerm[] > & { /** * Taxonomy group */ taxonomyGroup: string | null; }; export type UnknownElement = ElementModels.IElement; export type CustomElement = ElementModels.IElement; }