import * as t from 'io-ts';
import { IExtension } from './RTTI_Extension';
import { IElement } from './RTTI_Element';
import { ICoding } from './RTTI_Coding';
import { IElementDefinition_Slicing } from './RTTI_ElementDefinition_Slicing';
import { IElementDefinition_Base } from './RTTI_ElementDefinition_Base';
import { IElementDefinition_Type } from './RTTI_ElementDefinition_Type';
import { IAddress } from './RTTI_Address';
import { IAge } from './RTTI_Age';
import { IAnnotation } from './RTTI_Annotation';
import { IAttachment } from './RTTI_Attachment';
import { ICodeableConcept } from './RTTI_CodeableConcept';
import { IContactPoint } from './RTTI_ContactPoint';
import { ICount } from './RTTI_Count';
import { IDistance } from './RTTI_Distance';
import { IDuration } from './RTTI_Duration';
import { IHumanName } from './RTTI_HumanName';
import { IIdentifier } from './RTTI_Identifier';
import { IMoney } from './RTTI_Money';
import { IPeriod } from './RTTI_Period';
import { IQuantity } from './RTTI_Quantity';
import { IRange } from './RTTI_Range';
import { IRatio } from './RTTI_Ratio';
import { IReference } from './RTTI_Reference';
import { ISampledData } from './RTTI_SampledData';
import { ISignature } from './RTTI_Signature';
import { ITiming } from './RTTI_Timing';
import { IContactDetail } from './RTTI_ContactDetail';
import { IContributor } from './RTTI_Contributor';
import { IDataRequirement } from './RTTI_DataRequirement';
import { IExpression } from './RTTI_Expression';
import { IParameterDefinition } from './RTTI_ParameterDefinition';
import { IRelatedArtifact } from './RTTI_RelatedArtifact';
import { ITriggerDefinition } from './RTTI_TriggerDefinition';
import { IUsageContext } from './RTTI_UsageContext';
import { IDosage } from './RTTI_Dosage';
import { IElementDefinition_Example } from './RTTI_ElementDefinition_Example';
import { IElementDefinition_Constraint } from './RTTI_ElementDefinition_Constraint';
import { IElementDefinition_Binding } from './RTTI_ElementDefinition_Binding';
import { IElementDefinition_Mapping } from './RTTI_ElementDefinition_Mapping';
export declare enum ElementDefinitionRepresentationKind {
    _xmlAttr = "xmlAttr",
    _xmlText = "xmlText",
    _typeAttr = "typeAttr",
    _cdaText = "cdaText",
    _xhtml = "xhtml"
}
export interface IElementDefinition {
    id?: string;
    extension?: IExtension[];
    modifierExtension?: IExtension[];
    path?: string;
    _path?: IElement;
    representation?: ElementDefinitionRepresentationKind[];
    _representation?: IElement[];
    sliceName?: string;
    _sliceName?: IElement;
    sliceIsConstraining?: boolean;
    _sliceIsConstraining?: IElement;
    label?: string;
    _label?: IElement;
    code?: ICoding[];
    slicing?: IElementDefinition_Slicing;
    short?: string;
    _short?: IElement;
    definition?: string;
    _definition?: IElement;
    comment?: string;
    _comment?: IElement;
    requirements?: string;
    _requirements?: IElement;
    alias?: string[];
    _alias?: IElement[];
    min?: number;
    _min?: IElement;
    max?: string;
    _max?: IElement;
    base?: IElementDefinition_Base;
    contentReference?: string;
    _contentReference?: IElement;
    type?: IElementDefinition_Type[];
    defaultValueBase64Binary?: string;
    _defaultValueBase64Binary?: IElement;
    defaultValueBoolean?: boolean;
    _defaultValueBoolean?: IElement;
    defaultValueCanonical?: string;
    _defaultValueCanonical?: IElement;
    defaultValueCode?: string;
    _defaultValueCode?: IElement;
    defaultValueDate?: string;
    _defaultValueDate?: IElement;
    defaultValueDateTime?: string;
    _defaultValueDateTime?: IElement;
    defaultValueDecimal?: number;
    _defaultValueDecimal?: IElement;
    defaultValueId?: string;
    _defaultValueId?: IElement;
    defaultValueInstant?: string;
    _defaultValueInstant?: IElement;
    defaultValueInteger?: number;
    _defaultValueInteger?: IElement;
    defaultValueMarkdown?: string;
    _defaultValueMarkdown?: IElement;
    defaultValueOid?: string;
    _defaultValueOid?: IElement;
    defaultValuePositiveInt?: number;
    _defaultValuePositiveInt?: IElement;
    defaultValueString?: string;
    _defaultValueString?: IElement;
    defaultValueTime?: string;
    _defaultValueTime?: IElement;
    defaultValueUnsignedInt?: number;
    _defaultValueUnsignedInt?: IElement;
    defaultValueUri?: string;
    _defaultValueUri?: IElement;
    defaultValueUrl?: string;
    _defaultValueUrl?: IElement;
    defaultValueUuid?: string;
    _defaultValueUuid?: IElement;
    defaultValueAddress?: IAddress;
    defaultValueAge?: IAge;
    defaultValueAnnotation?: IAnnotation;
    defaultValueAttachment?: IAttachment;
    defaultValueCodeableConcept?: ICodeableConcept;
    defaultValueCoding?: ICoding;
    defaultValueContactPoint?: IContactPoint;
    defaultValueCount?: ICount;
    defaultValueDistance?: IDistance;
    defaultValueDuration?: IDuration;
    defaultValueHumanName?: IHumanName;
    defaultValueIdentifier?: IIdentifier;
    defaultValueMoney?: IMoney;
    defaultValuePeriod?: IPeriod;
    defaultValueQuantity?: IQuantity;
    defaultValueRange?: IRange;
    defaultValueRatio?: IRatio;
    defaultValueReference?: IReference;
    defaultValueSampledData?: ISampledData;
    defaultValueSignature?: ISignature;
    defaultValueTiming?: ITiming;
    defaultValueContactDetail?: IContactDetail;
    defaultValueContributor?: IContributor;
    defaultValueDataRequirement?: IDataRequirement;
    defaultValueExpression?: IExpression;
    defaultValueParameterDefinition?: IParameterDefinition;
    defaultValueRelatedArtifact?: IRelatedArtifact;
    defaultValueTriggerDefinition?: ITriggerDefinition;
    defaultValueUsageContext?: IUsageContext;
    defaultValueDosage?: IDosage;
    meaningWhenMissing?: string;
    _meaningWhenMissing?: IElement;
    orderMeaning?: string;
    _orderMeaning?: IElement;
    fixedBase64Binary?: string;
    _fixedBase64Binary?: IElement;
    fixedBoolean?: boolean;
    _fixedBoolean?: IElement;
    fixedCanonical?: string;
    _fixedCanonical?: IElement;
    fixedCode?: string;
    _fixedCode?: IElement;
    fixedDate?: string;
    _fixedDate?: IElement;
    fixedDateTime?: string;
    _fixedDateTime?: IElement;
    fixedDecimal?: number;
    _fixedDecimal?: IElement;
    fixedId?: string;
    _fixedId?: IElement;
    fixedInstant?: string;
    _fixedInstant?: IElement;
    fixedInteger?: number;
    _fixedInteger?: IElement;
    fixedMarkdown?: string;
    _fixedMarkdown?: IElement;
    fixedOid?: string;
    _fixedOid?: IElement;
    fixedPositiveInt?: number;
    _fixedPositiveInt?: IElement;
    fixedString?: string;
    _fixedString?: IElement;
    fixedTime?: string;
    _fixedTime?: IElement;
    fixedUnsignedInt?: number;
    _fixedUnsignedInt?: IElement;
    fixedUri?: string;
    _fixedUri?: IElement;
    fixedUrl?: string;
    _fixedUrl?: IElement;
    fixedUuid?: string;
    _fixedUuid?: IElement;
    fixedAddress?: IAddress;
    fixedAge?: IAge;
    fixedAnnotation?: IAnnotation;
    fixedAttachment?: IAttachment;
    fixedCodeableConcept?: ICodeableConcept;
    fixedCoding?: ICoding;
    fixedContactPoint?: IContactPoint;
    fixedCount?: ICount;
    fixedDistance?: IDistance;
    fixedDuration?: IDuration;
    fixedHumanName?: IHumanName;
    fixedIdentifier?: IIdentifier;
    fixedMoney?: IMoney;
    fixedPeriod?: IPeriod;
    fixedQuantity?: IQuantity;
    fixedRange?: IRange;
    fixedRatio?: IRatio;
    fixedReference?: IReference;
    fixedSampledData?: ISampledData;
    fixedSignature?: ISignature;
    fixedTiming?: ITiming;
    fixedContactDetail?: IContactDetail;
    fixedContributor?: IContributor;
    fixedDataRequirement?: IDataRequirement;
    fixedExpression?: IExpression;
    fixedParameterDefinition?: IParameterDefinition;
    fixedRelatedArtifact?: IRelatedArtifact;
    fixedTriggerDefinition?: ITriggerDefinition;
    fixedUsageContext?: IUsageContext;
    fixedDosage?: IDosage;
    patternBase64Binary?: string;
    _patternBase64Binary?: IElement;
    patternBoolean?: boolean;
    _patternBoolean?: IElement;
    patternCanonical?: string;
    _patternCanonical?: IElement;
    patternCode?: string;
    _patternCode?: IElement;
    patternDate?: string;
    _patternDate?: IElement;
    patternDateTime?: string;
    _patternDateTime?: IElement;
    patternDecimal?: number;
    _patternDecimal?: IElement;
    patternId?: string;
    _patternId?: IElement;
    patternInstant?: string;
    _patternInstant?: IElement;
    patternInteger?: number;
    _patternInteger?: IElement;
    patternMarkdown?: string;
    _patternMarkdown?: IElement;
    patternOid?: string;
    _patternOid?: IElement;
    patternPositiveInt?: number;
    _patternPositiveInt?: IElement;
    patternString?: string;
    _patternString?: IElement;
    patternTime?: string;
    _patternTime?: IElement;
    patternUnsignedInt?: number;
    _patternUnsignedInt?: IElement;
    patternUri?: string;
    _patternUri?: IElement;
    patternUrl?: string;
    _patternUrl?: IElement;
    patternUuid?: string;
    _patternUuid?: IElement;
    patternAddress?: IAddress;
    patternAge?: IAge;
    patternAnnotation?: IAnnotation;
    patternAttachment?: IAttachment;
    patternCodeableConcept?: ICodeableConcept;
    patternCoding?: ICoding;
    patternContactPoint?: IContactPoint;
    patternCount?: ICount;
    patternDistance?: IDistance;
    patternDuration?: IDuration;
    patternHumanName?: IHumanName;
    patternIdentifier?: IIdentifier;
    patternMoney?: IMoney;
    patternPeriod?: IPeriod;
    patternQuantity?: IQuantity;
    patternRange?: IRange;
    patternRatio?: IRatio;
    patternReference?: IReference;
    patternSampledData?: ISampledData;
    patternSignature?: ISignature;
    patternTiming?: ITiming;
    patternContactDetail?: IContactDetail;
    patternContributor?: IContributor;
    patternDataRequirement?: IDataRequirement;
    patternExpression?: IExpression;
    patternParameterDefinition?: IParameterDefinition;
    patternRelatedArtifact?: IRelatedArtifact;
    patternTriggerDefinition?: ITriggerDefinition;
    patternUsageContext?: IUsageContext;
    patternDosage?: IDosage;
    example?: IElementDefinition_Example[];
    minValueDate?: string;
    _minValueDate?: IElement;
    minValueDateTime?: string;
    _minValueDateTime?: IElement;
    minValueInstant?: string;
    _minValueInstant?: IElement;
    minValueTime?: string;
    _minValueTime?: IElement;
    minValueDecimal?: number;
    _minValueDecimal?: IElement;
    minValueInteger?: number;
    _minValueInteger?: IElement;
    minValuePositiveInt?: number;
    _minValuePositiveInt?: IElement;
    minValueUnsignedInt?: number;
    _minValueUnsignedInt?: IElement;
    minValueQuantity?: IQuantity;
    maxValueDate?: string;
    _maxValueDate?: IElement;
    maxValueDateTime?: string;
    _maxValueDateTime?: IElement;
    maxValueInstant?: string;
    _maxValueInstant?: IElement;
    maxValueTime?: string;
    _maxValueTime?: IElement;
    maxValueDecimal?: number;
    _maxValueDecimal?: IElement;
    maxValueInteger?: number;
    _maxValueInteger?: IElement;
    maxValuePositiveInt?: number;
    _maxValuePositiveInt?: IElement;
    maxValueUnsignedInt?: number;
    _maxValueUnsignedInt?: IElement;
    maxValueQuantity?: IQuantity;
    maxLength?: number;
    _maxLength?: IElement;
    condition?: string[];
    _condition?: IElement[];
    constraint?: IElementDefinition_Constraint[];
    mustSupport?: boolean;
    _mustSupport?: IElement;
    isModifier?: boolean;
    _isModifier?: IElement;
    isModifierReason?: string;
    _isModifierReason?: IElement;
    isSummary?: boolean;
    _isSummary?: IElement;
    binding?: IElementDefinition_Binding;
    mapping?: IElementDefinition_Mapping[];
}
export declare const RTTI_ElementDefinition: t.Type<IElementDefinition>;
