import * as t from 'io-ts';
import { IMeta } from './RTTI_Meta';
import { IElement } from './RTTI_Element';
import { IIdentifier } from './RTTI_Identifier';
import { IBundle_Link } from './RTTI_Bundle_Link';
import { IBundle_Entry } from './RTTI_Bundle_Entry';
import { ISignature } from './RTTI_Signature';
export declare enum BundleTypeKind {
    _document = "document",
    _message = "message",
    _transaction = "transaction",
    _transactionResponse = "transaction-response",
    _batch = "batch",
    _batchResponse = "batch-response",
    _history = "history",
    _searchset = "searchset",
    _collection = "collection"
}
import { IResource } from './IResource';
export interface IBundle extends IResource {
    resourceType: 'Bundle';
    id?: string;
    meta?: IMeta;
    implicitRules?: string;
    _implicitRules?: IElement;
    language?: string;
    _language?: IElement;
    identifier?: IIdentifier;
    type?: BundleTypeKind;
    _type?: IElement;
    timestamp?: string;
    _timestamp?: IElement;
    total?: number;
    _total?: IElement;
    link?: IBundle_Link[];
    entry?: IBundle_Entry[];
    signature?: ISignature;
}
export declare const RTTI_Bundle: t.Type<IBundle>;
