import * as t from 'io-ts';
import { IExtension } from './RTTI_Extension';
import { IElement } from './RTTI_Element';
import { ICodeableConcept } from './RTTI_CodeableConcept';
import { ITiming } from './RTTI_Timing';
import { IDosage_DoseAndRate } from './RTTI_Dosage_DoseAndRate';
import { IRatio } from './RTTI_Ratio';
import { IQuantity } from './RTTI_Quantity';
export interface IDosage {
    id?: string;
    extension?: IExtension[];
    modifierExtension?: IExtension[];
    sequence?: number;
    _sequence?: IElement;
    text?: string;
    _text?: IElement;
    additionalInstruction?: ICodeableConcept[];
    patientInstruction?: string;
    _patientInstruction?: IElement;
    timing?: ITiming;
    asNeededBoolean?: boolean;
    _asNeededBoolean?: IElement;
    asNeededCodeableConcept?: ICodeableConcept;
    site?: ICodeableConcept;
    route?: ICodeableConcept;
    method?: ICodeableConcept;
    doseAndRate?: IDosage_DoseAndRate[];
    maxDosePerPeriod?: IRatio;
    maxDosePerAdministration?: IQuantity;
    maxDosePerLifetime?: IQuantity;
}
export declare const RTTI_Dosage: t.Type<IDosage>;
