import { ElementContracts } from '../../contracts'; import { SharedModels } from '../shared/shared-models'; export declare namespace ElementModels { type ElementMode = 'single' | 'multiple'; type ElementType = 'text' | 'rich_text' | 'number' | 'multiple_choice' | 'date_time' | 'asset' | 'modular_content' | 'taxonomy' | 'url_slug' | 'guidelines' | 'snippet' | 'custom' | 'subpages'; class ContentItemElement implements SharedModels.IBaseModel { element: SharedModels.ReferenceObject; value?: string | number | SharedModels.ReferenceObject[]; searchableValue?: string | null; display_timezone?: string | null; components: ContentItemElementComponent[]; mode?: 'autogenerated' | 'custom'; _raw: ElementContracts.IContentItemElementContract; constructor(data: { element: SharedModels.ReferenceObject; value?: string | number | SharedModels.ReferenceObject[]; components?: ContentItemElementComponent[]; searchableValue?: string | null; display_timezone?: string | null; mode?: 'autogenerated' | 'custom'; _raw: ElementContracts.IContentItemElementContract; }); } class ContentItemElementComponent implements SharedModels.IBaseModel { id: string; type: SharedModels.ReferenceObject; elements: ContentItemElement[]; _raw: ElementContracts.IContentItemElementComponent; constructor(data: { id: string; type: SharedModels.ReferenceObject; elements: ContentItemElement[]; _raw: ElementContracts.IContentItemElementComponent; }); } interface IElementData { id: string; name?: string; codename: string; type: ElementType; guidelines: string; } interface IMultipleChoiceOptionData { name: string; } interface IMultipleChoiceElementData extends IElementData { options: IMultipleChoiceOptionData[]; mode: ElementMode; } }