export type FhirDate = string;
export type FhirDateTime = string;
export type FhirUri = string;
export type FhirCode = string;
export type FhirId = string;
export type FhirDecimal = number;
export type FhirPositiveInt = number;
export type FhirInteger = number;
export interface Element {
    id?: FhirId;
    extension?: Extension[];
}
export interface Extension {
    url: string;
    valueBoolean?: boolean;
    valueString?: string;
    valueCode?: string;
    valueInteger?: number;
    valueDecimal?: number;
    valueUri?: string;
    valueDateTime?: FhirDateTime;
    extension?: Extension[];
}
export interface Meta {
    versionId?: string;
    lastUpdated?: FhirDateTime;
    source?: FhirUri;
    profile?: FhirUri[];
    security?: Coding[];
    tag?: Coding[];
}
export interface Narrative {
    status: "generated" | "extensions" | "additional" | "empty";
    div: string;
}
export interface Coding {
    system?: FhirUri;
    version?: string;
    code?: FhirCode;
    display?: string;
    userSelected?: boolean;
}
export interface CodeableConcept {
    coding?: Coding[];
    text?: string;
}
export interface Identifier {
    use?: "usual" | "official" | "temp" | "secondary" | "old";
    type?: CodeableConcept;
    system?: string;
    value?: string;
    period?: Period;
    assigner?: Reference;
}
export interface Reference {
    reference?: string;
    type?: string;
    identifier?: Identifier;
    display?: string;
}
export interface Period {
    start?: FhirDateTime;
    end?: FhirDateTime;
}
export interface Money {
    value?: number;
    currency?: string;
}
export interface Quantity {
    value?: number;
    unit?: string;
    system?: FhirUri;
    code?: FhirCode;
}
export interface Address {
    use?: "home" | "work" | "temp" | "old" | "billing";
    type?: "postal" | "physical" | "both";
    text?: string;
    line?: string[];
    city?: string;
    district?: string;
    state?: string;
    postalCode?: string;
    country?: string;
    period?: Period;
}
export interface ContactPoint {
    system?: "phone" | "fax" | "email" | "pager" | "url" | "sms" | "other";
    value?: string;
    use?: "home" | "work" | "temp" | "old" | "mobile";
    rank?: number;
    period?: Period;
}
export interface HumanName {
    use?: "usual" | "official" | "temp" | "nickname" | "anonymous" | "old" | "maiden";
    text?: string;
    family?: string;
    given?: string[];
    prefix?: string[];
    suffix?: string[];
    period?: Period;
}
export interface BackboneElement extends Element {
    modifierExtension?: Extension[];
}
export interface Resource {
    resourceType: string;
    id?: FhirId;
    meta?: Meta;
    implicitRules?: FhirUri;
    language?: FhirCode;
}
export interface DomainResource extends Resource {
    text?: Narrative;
    contained?: Resource[];
    extension?: Extension[];
    modifierExtension?: Extension[];
}
//# sourceMappingURL=fhirDataTypes.d.ts.map