import { Field, PublicKey, Signature, PrivateKey } from 'o1js'; import { IpfsHash } from '../customTypes/ipfsHash'; export declare enum ConsentSignerKind { _unknown = 0, _grantor = 1, _controller = 2 } declare const Consent_base: (new (value: { resourceType: any; sourceReference: IpfsHash; grantor: PublicKey; controller: PublicKey; dateTime: import("o1js/dist/node/lib/field").Field; }) => { resourceType: any; sourceReference: IpfsHash; grantor: PublicKey; controller: PublicKey; dateTime: import("o1js/dist/node/lib/field").Field; }) & { _isStruct: true; } & import("o1js/dist/node/snarky").ProvablePure<{ resourceType: any; sourceReference: IpfsHash; grantor: PublicKey; controller: PublicKey; dateTime: import("o1js/dist/node/lib/field").Field; }> & { toInput: (x: { resourceType: any; sourceReference: IpfsHash; grantor: PublicKey; controller: PublicKey; dateTime: 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; sourceReference: IpfsHash; grantor: PublicKey; controller: PublicKey; dateTime: import("o1js/dist/node/lib/field").Field; }) => { resourceType: any; sourceReference: { packed: string[]; }; grantor: string; controller: string; dateTime: string; }; fromJSON: (x: { resourceType: any; sourceReference: { packed: string[]; }; grantor: string; controller: string; dateTime: string; }) => { resourceType: any; sourceReference: IpfsHash; grantor: PublicKey; controller: PublicKey; dateTime: import("o1js/dist/node/lib/field").Field; }; empty: () => { resourceType: any; sourceReference: IpfsHash; grantor: PublicKey; controller: PublicKey; dateTime: import("o1js/dist/node/lib/field").Field; }; }; export declare class Consent extends Consent_base { grantorSignature: Signature; controllerSignature: Signature | Field; private constructor(); static init(sourceReference: string, grantor: PublicKey, controller: PublicKey): Promise; sign(pvk: PrivateKey, signerKind: ConsentSignerKind): void; } export {};