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 { IGroup_Characteristic } from './RTTI_Group_Characteristic';
import { IGroup_Member } from './RTTI_Group_Member';
export declare enum GroupTypeKind {
    _person = "person",
    _animal = "animal",
    _practitioner = "practitioner",
    _device = "device",
    _medication = "medication",
    _substance = "substance"
}
import { IDomainResource } from './IDomainResource';
export interface IGroup extends IDomainResource {
    resourceType: 'Group';
    id?: string;
    meta?: IMeta;
    implicitRules?: string;
    _implicitRules?: IElement;
    language?: string;
    _language?: IElement;
    text?: INarrative;
    contained?: IResourceList[];
    extension?: IExtension[];
    modifierExtension?: IExtension[];
    identifier?: IIdentifier[];
    active?: boolean;
    _active?: IElement;
    type?: GroupTypeKind;
    _type?: IElement;
    actual?: boolean;
    _actual?: IElement;
    code?: ICodeableConcept;
    name?: string;
    _name?: IElement;
    quantity?: number;
    _quantity?: IElement;
    managingEntity?: IReference;
    characteristic?: IGroup_Characteristic[];
    member?: IGroup_Member[];
}
export declare const RTTI_Group: t.Type<IGroup>;
