import * as t from 'io-ts';
import { IMeta } from './RTTI_Meta';
import { IElement } from './RTTI_Element';
import { INarrative } from './RTTI_Narrative';
import { IResourceList } from '../Union/RTTI_ResourceList';
import { IExtension } from './RTTI_Extension';
import { IIdentifier } from './RTTI_Identifier';
import { ICodeableConcept } from './RTTI_CodeableConcept';
import { IReference } from './RTTI_Reference';
import { IAge } from './RTTI_Age';
import { IPeriod } from './RTTI_Period';
import { IRange } from './RTTI_Range';
import { IAnnotation } from './RTTI_Annotation';
import { IAllergyIntolerance_Reaction } from './RTTI_AllergyIntolerance_Reaction';
export declare enum AllergyIntoleranceCategoryKind {
    _food = "food",
    _medication = "medication",
    _environment = "environment",
    _biologic = "biologic"
}
export declare enum AllergyIntoleranceTypeKind {
    _allergy = "allergy",
    _intolerance = "intolerance"
}
export declare enum AllergyIntoleranceCriticalityKind {
    _low = "low",
    _high = "high",
    _unableToAssess = "unable-to-assess"
}
import { IDomainResource } from './IDomainResource';
export interface IAllergyIntolerance extends IDomainResource {
    resourceType: 'AllergyIntolerance';
    patient: IReference;
    id?: string;
    meta?: IMeta;
    implicitRules?: string;
    _implicitRules?: IElement;
    language?: string;
    _language?: IElement;
    text?: INarrative;
    contained?: IResourceList[];
    extension?: IExtension[];
    modifierExtension?: IExtension[];
    identifier?: IIdentifier[];
    clinicalStatus?: ICodeableConcept;
    verificationStatus?: ICodeableConcept;
    type?: AllergyIntoleranceTypeKind;
    _type?: IElement;
    category?: AllergyIntoleranceCategoryKind[];
    _category?: IElement[];
    criticality?: AllergyIntoleranceCriticalityKind;
    _criticality?: IElement;
    code?: ICodeableConcept;
    encounter?: IReference;
    onsetDateTime?: string;
    _onsetDateTime?: IElement;
    onsetAge?: IAge;
    onsetPeriod?: IPeriod;
    onsetRange?: IRange;
    onsetString?: string;
    _onsetString?: IElement;
    recordedDate?: string;
    _recordedDate?: IElement;
    recorder?: IReference;
    asserter?: IReference;
    lastOccurrence?: string;
    _lastOccurrence?: IElement;
    note?: IAnnotation[];
    reaction?: IAllergyIntolerance_Reaction[];
}
export declare const RTTI_AllergyIntolerance: t.Type<IAllergyIntolerance>;
