import { CircuitString, PublicKey, PrivateKey } from 'o1js'; import { Observation } from 'fhir/r4'; import { CipherText } from '../customTypes/cipherText'; declare const ZkQuantity_base: (new (value: {}) => {}) & { _isStruct: true; } & import("o1js/dist/node/snarky").ProvablePure<{}> & { toInput: (x: {}) => { fields?: import("o1js/dist/node/lib/field").Field[] | undefined; packed?: [import("o1js/dist/node/lib/field").Field, number][] | undefined; }; toJSON: (x: {}) => {}; fromJSON: (x: {}) => {}; empty: () => {}; }; export declare class ZkQuantity extends ZkQuantity_base { value: CircuitString; code: CircuitString; } declare const ZkObservation_base: (new (value: { resourceType: any; identifier: any; code: any; status: any; subject: any; valueQuantityCode: any; valueQuantityValue: any; effectiveDateTime: import("o1js/dist/node/lib/field").Field; patientId: import("o1js/dist/node/lib/field").Field; }) => { resourceType: any; identifier: any; code: any; status: any; subject: any; valueQuantityCode: any; valueQuantityValue: any; effectiveDateTime: import("o1js/dist/node/lib/field").Field; patientId: import("o1js/dist/node/lib/field").Field; }) & { _isStruct: true; } & import("o1js/dist/node/snarky").ProvablePure<{ resourceType: any; identifier: any; code: any; status: any; subject: any; valueQuantityCode: any; valueQuantityValue: any; effectiveDateTime: import("o1js/dist/node/lib/field").Field; patientId: import("o1js/dist/node/lib/field").Field; }> & { toInput: (x: { resourceType: any; identifier: any; code: any; status: any; subject: any; valueQuantityCode: any; valueQuantityValue: any; effectiveDateTime: import("o1js/dist/node/lib/field").Field; patientId: import("o1js/dist/node/lib/field").Field; }) => { fields?: import("o1js/dist/node/lib/field").Field[] | undefined; packed?: [import("o1js/dist/node/lib/field").Field, number][] | undefined; }; toJSON: (x: { resourceType: any; identifier: any; code: any; status: any; subject: any; valueQuantityCode: any; valueQuantityValue: any; effectiveDateTime: import("o1js/dist/node/lib/field").Field; patientId: import("o1js/dist/node/lib/field").Field; }) => { resourceType: any; identifier: any; code: any; status: any; subject: any; valueQuantityCode: any; valueQuantityValue: any; effectiveDateTime: string; patientId: string; }; fromJSON: (x: { resourceType: any; identifier: any; code: any; status: any; subject: any; valueQuantityCode: any; valueQuantityValue: any; effectiveDateTime: string; patientId: string; }) => { resourceType: any; identifier: any; code: any; status: any; subject: any; valueQuantityCode: any; valueQuantityValue: any; effectiveDateTime: import("o1js/dist/node/lib/field").Field; patientId: import("o1js/dist/node/lib/field").Field; }; empty: () => { resourceType: any; identifier: any; code: any; status: any; subject: any; valueQuantityCode: any; valueQuantityValue: any; effectiveDateTime: import("o1js/dist/node/lib/field").Field; patientId: import("o1js/dist/node/lib/field").Field; }; }; export declare class ZkObservation extends ZkObservation_base { encryptedValue: CipherText; encryptedSubject: CipherText; private constructor(); static init(rawData: Observation): Promise; encryptSensitiveValues(publicKey: PublicKey): void; decryptSensitiveValues(privateKey: PrivateKey): { valueData: string; subject: string; }; private static _decryptValue; reencryptAndSign(privateKey: PrivateKey, publicKey: PublicKey): { publicKey: import("o1js/dist/node/lib/group").Group; cipherText: import("o1js/dist/node/lib/field").Field[]; }; } export {};