import { ProjPointType } from '@noble/curves/abstract/weierstrass';
import type { BlindSignature, Proof, SerializedBlindedMessage, SerializedProof } from '../common/index.js';
export type BlindedMessage = {
    B_: ProjPointType<bigint>;
    r: bigint;
    secret: Uint8Array;
};
export declare function createRandomBlindedMessage(): BlindedMessage;
export declare function blindMessage(secret: Uint8Array, r?: bigint): BlindedMessage;
export declare function unblindSignature(C_: ProjPointType<bigint>, r: bigint, A: ProjPointType<bigint>): ProjPointType<bigint>;
export declare function constructProofFromPromise(promise: BlindSignature, r: bigint, secret: Uint8Array, key: ProjPointType<bigint>): Proof;
export declare const serializeProof: (proof: Proof) => SerializedProof;
export declare const deserializeProof: (proof: SerializedProof) => Proof;
export declare const serializeBlindedMessage: (bm: BlindedMessage, amount: number) => SerializedBlindedMessage;
