import { SharedModels } from '../shared/shared-models'; import { ElementContracts } from '../../contracts'; 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; mode?: 'autogenerated' | 'custom'; _raw: ElementContracts.IContentItemElementContract; constructor(data: { element: SharedModels.ReferenceObject; value?: string | number | SharedModels.ReferenceObject[]; searchableValue?: string; mode?: 'autogenerated' | 'custom'; _raw: ElementContracts.IContentItemElementContract; }); } class ContentItemElementComponent implements SharedModels.IBaseModel { id: string; type: SharedModels.ReferenceObject; elements: ContentItemElementWithComponents[]; _raw: ElementContracts.IContentItemElementComponent; constructor(data: { id: string; type: SharedModels.ReferenceObject; elements: ContentItemElementWithComponents[]; _raw: ElementContracts.IContentItemElementComponent; }); } class ContentItemElementWithComponents { element: SharedModels.ReferenceObject; value: string | number | SharedModels.ReferenceObject[]; components: ContentItemElementComponent[]; constructor(data: { element: SharedModels.ReferenceObject; value: string | number | SharedModels.ReferenceObject[]; components: ContentItemElementComponent[]; }); } interface IElementData { id: string; name?: string; codename: string; type: ElementType; guidelines: string; } interface IMultipleChoiceOptionData { name: string; } interface IMultipleChoiceElementData extends IElementData { options: IMultipleChoiceOptionData[]; mode: ElementMode; } }