import { Commitment, PedersenParams } from '../commit/pedersen.js';
import { Group } from '../curves/group.js';
import { PointAddProof } from './pointAdd.js';
export declare class ExpProof {
    A: Group.Point;
    Tx: Group.Point;
    Ty: Group.Point;
    alpha?: Group.Scalar;
    beta1?: Group.Scalar;
    beta2?: Group.Scalar;
    beta3?: Group.Scalar;
    z?: Group.Scalar;
    z2?: Group.Scalar;
    proof?: PointAddProof;
    r1?: Group.Scalar;
    r2?: Group.Scalar;
    constructor(A: Group.Point, Tx: Group.Point, Ty: Group.Point, alpha?: Group.Scalar, beta1?: Group.Scalar, beta2?: Group.Scalar, beta3?: Group.Scalar, z?: Group.Scalar, z2?: Group.Scalar, proof?: PointAddProof, r1?: Group.Scalar, r2?: Group.Scalar);
    eq(o: ExpProof): boolean;
}
export declare function proveExp(paramsNIST: PedersenParams, paramsWario: PedersenParams, s: bigint, Cs: Commitment, P: Group.Point, Px: Commitment, Py: Commitment, secparam: number, Q?: Group.Point): Promise<Array<ExpProof>>;
export declare function verifyExp(paramsNIST: PedersenParams, paramsWario: PedersenParams, Clambda: Group.Point, Px: Group.Point, Py: Group.Point, pi: Array<ExpProof>, secparam: number, Q?: Group.Point): Promise<boolean>;
//# sourceMappingURL=exp.d.ts.map