/// <reference types="node" />
/// <reference types="pouchdb-core" />
import { IPayloadProtection } from "../../../../src/crypto/protocols/IPayloadProtection";
import IPayloadProtectionOptions from "../../../../src/crypto/protocols/IPayloadProtectionOptions";
import IVerificationResult from "../../../../src/crypto/protocols/IVerificationResult";
import { PublicKey } from "../../../../src";
import { ICryptoToken } from "../../../../src/crypto/protocols/ICryptoToken";
export default class ProtocolTest implements IPayloadProtection {
    sign(_signingKeyReference: string, payload: Buffer, _format: string, options?: IPayloadProtectionOptions): Promise<ICryptoToken>;
    verify(_validationKeys: PublicKey[], _payload: Buffer, _signature: ICryptoToken, _options?: IPayloadProtectionOptions): Promise<IVerificationResult>;
    encrypt(_recipients: PublicKey[], _payload: Buffer, _format: string, options?: IPayloadProtectionOptions): Promise<ICryptoToken>;
    decrypt(_decryptionKeyReference: string, _cipher: ICryptoToken, _options?: IPayloadProtectionOptions): Promise<Buffer>;
    serialize(token: ICryptoToken, _format: string, _options?: IPayloadProtectionOptions): string;
    deserialize(_token: string, format: string, options?: IPayloadProtectionOptions): ICryptoToken;
}
