import { SharedContracts } from './shared-contracts'; export namespace ElementContracts { export interface IContentTypeElementMultipleChoiceElementOptionsContract { name: string; id: string; codename: string; } export type ElementValueContract = string | number | SharedContracts.IIdReferenceContract[]; export type IContentTypeElementModeTypeContract = 'single' | 'multiple'; export interface IContentTypeElementContract { name: string; type: string; id?: string; external_id?: string; codename?: string; content_group?: SharedContracts.IReferenceObjectContract; } export interface IContentItemElementContract { element: SharedContracts.IIdReferenceContract; value: ElementValueContract; components?: IContentItemElementComponent[]; searchable_value?: string | null; display_timezone?: string | null; mode?: 'autogenerated' | 'custom'; } export interface IContentItemElementComponent { id: string; type: SharedContracts.IIdReferenceContract; elements: IContentItemElementContract[]; } }