import { Commitment, PedersenParams } from './pedersen.js';
import { Group } from '../curves/group.js';
import { MultiMult } from '../curves/multimult.js';
export declare class MultProof {
    C_4: Group.Point;
    A_x: Group.Point;
    A_y: Group.Point;
    A_z: Group.Point;
    A_4_1: Group.Point;
    A_4_2: Group.Point;
    t_x: Group.Scalar;
    t_y: Group.Scalar;
    t_z: Group.Scalar;
    t_rx: Group.Scalar;
    t_ry: Group.Scalar;
    t_rz: Group.Scalar;
    t_r4: Group.Scalar;
    constructor(C_4: Group.Point, A_x: Group.Point, A_y: Group.Point, A_z: Group.Point, A_4_1: Group.Point, A_4_2: Group.Point, t_x: Group.Scalar, t_y: Group.Scalar, t_z: Group.Scalar, t_rx: Group.Scalar, t_ry: Group.Scalar, t_rz: Group.Scalar, t_r4: Group.Scalar);
    eq(o: MultProof): boolean;
}
export declare function proveMult(params: PedersenParams, x: bigint, y: bigint, z: bigint, Cx: Commitment, Cy: Commitment, Cz: Commitment): Promise<MultProof>;
export declare function verifyMult(params: PedersenParams, Cx: Group.Point, Cy: Group.Point, Cz: Group.Point, pi: MultProof): Promise<boolean>;
export declare function aggregateMult(params: PedersenParams, Cx: Group.Point, Cy: Group.Point, Cz: Group.Point, pi: MultProof, multi: MultiMult): Promise<boolean>;
//# sourceMappingURL=mult.d.ts.map