/**
 * iCure Data Stack API Documentation
 * The iCure Data Stack Application API is the native interface to iCure. This version is obsolete, please use v2.
 *
 * OpenAPI spec version: v1
 *
 *
 * NOTE: This class is auto generated by the swagger code generator program.
 * https://github.com/swagger-api/swagger-codegen.git
 * Do not edit the class manually.
 */
import { CodeStub } from './CodeStub';
import { Identifier } from './Identifier';
import { PropertyStub } from './PropertyStub';
export declare class Device {
    constructor(json: JSON | any);
    id?: string;
    rev?: string;
    /**
     * hard delete (unix epoch in ms) timestamp of the object. Filled automatically when deletePatient is called.
     */
    deletionDate?: number;
    identifiers?: Array<Identifier>;
    /**
     * The timestamp (unix epoch in ms) of creation of this entity, will be filled automatically if missing. Not enforced by the application server.
     */
    created?: number;
    /**
     * The date (unix epoch in ms) of the latest modification of this entity, will be filled automatically if missing. Not enforced by the application server.
     */
    modified?: number;
    /**
     * The id of the User that has created this entity, will be filled automatically if missing. Not enforced by the application server.
     */
    author?: string;
    /**
     * The id of the HealthcareParty that is responsible for this entity, will be filled automatically if missing. Not enforced by the application server.
     */
    responsible?: string;
    /**
     * A tag is an item from a codification system that qualifies an entity as being member of a certain class, whatever the value it might have taken. If the tag qualifies the content of a field, it means that whatever the content of the field, the tag will always apply. For example, the label of a field is qualified using a tag. LOINC is a codification system typically used for tags.
     */
    tags?: Array<CodeStub>;
    /**
     * A code is an item from a codification system that qualifies the content of this entity. SNOMED-CT, ICPC-2 or ICD-10 codifications systems can be used for codes
     */
    codes?: Array<CodeStub>;
    /**
     * Soft delete (unix epoch in ms) timestamp of the object.
     */
    endOfLife?: number;
    /**
     * The id of the medical location where this entity was created.
     */
    medicalLocationId?: string;
    externalId?: string;
    name?: string;
    type?: string;
    brand?: string;
    model?: string;
    serialNumber?: string;
    parentId?: string;
    picture?: ArrayBuffer;
    properties?: Array<PropertyStub>;
    /**
     * For each couple of HcParties (delegator and delegate), this map contains the exchange AES key. The delegator is always this hcp, the key of the map is the id of the delegate.The AES exchange key is encrypted using RSA twice : once using this hcp public key (index 0 in the Array) and once using the other hcp public key (index 1 in the Array). For a pair of HcParties. Each HcParty always has one AES exchange key for himself.
     */
    hcPartyKeys?: {
        [key: string]: Array<string>;
    };
    /**
     * Extra AES exchange keys, usually the ones we lost access to at some point. The structure is { publicKey: { delegateId: { myPubKey1: aesExKey_for_this, delegatePubKey1: aesExKey_for_delegate } } }
     */
    aesExchangeKeys?: {
        [key: string]: {
            [key: string]: {
                [key: string]: string;
            };
        };
    };
    /**
     * Our private keys encrypted with our public keys. The structure is { publicKey1: { publicKey2: privateKey2_encrypted_with_publicKey1, publicKey3: privateKey3_encrypted_with_publicKey1 } }
     */
    transferKeys?: {
        [key: string]: {
            [key: string]: string;
        };
    };
    /**
     * The privateKeyShamirPartitions are used to share this device private RSA key with a series of other hcParties using Shamir's algorithm. The key of the map is the hcp Id with whom this partition has been shared. The value is \"threshold⎮partition in hex\" encrypted using the the partition's holder's public RSA key
     */
    privateKeyShamirPartitions?: {
        [key: string]: string;
    };
    /**
     * The public key of this device
     */
    publicKey?: string;
    /**
     * The public keys of this actor that are generates using the OAEP Sha-256 standard
     */
    publicKeysForOaepWithSha256?: Array<string>;
    cryptoActorProperties?: Array<PropertyStub>;
}
