import * as t from 'io-ts';
import { IExtension } from './RTTI_Extension';
import { IElement } from './RTTI_Element';
import { ICodeableConcept } from './RTTI_CodeableConcept';
import { IReference } from './RTTI_Reference';
import { IDataRequirement_CodeFilter } from './RTTI_DataRequirement_CodeFilter';
import { IDataRequirement_DateFilter } from './RTTI_DataRequirement_DateFilter';
import { IDataRequirement_Sort } from './RTTI_DataRequirement_Sort';
export interface IDataRequirement {
    id?: string;
    extension?: IExtension[];
    type?: string;
    _type?: IElement;
    profile?: string[];
    subjectCodeableConcept?: ICodeableConcept;
    subjectReference?: IReference;
    mustSupport?: string[];
    _mustSupport?: IElement[];
    codeFilter?: IDataRequirement_CodeFilter[];
    dateFilter?: IDataRequirement_DateFilter[];
    limit?: number;
    _limit?: IElement;
    sort?: IDataRequirement_Sort[];
}
export declare const RTTI_DataRequirement: t.Type<IDataRequirement>;
