import { PBlsG2 } from "../../../PTypes/PBlsG2.js";
import { Term } from "../../../Term/index.js";
import { PInt } from "../../../PTypes/PInt.js";
import type { PByteString } from "../../../PTypes/PByteString.js";
import { PBool } from "../../../PTypes/PBool.js";
export declare const bls12_381_G2_element_add: Term<import("../../../index.js").PLam<PBlsG2, import("../../../index.js").PLam<PBlsG2, PBlsG2>>> & {
    $: (input: import("../../index.js").PappArg<PBlsG2>) => Term<import("../../../index.js").PLam<PBlsG2, PBlsG2>> & {
        $: (input: import("../../index.js").PappArg<PBlsG2>) => import("../../index.js").UtilityTermOf<PBlsG2>;
    };
};
export declare const bls12_381_G2_element_neg: Term<import("../../../index.js").PLam<PBlsG2, PBlsG2>> & {
    $: (input: import("../../index.js").PappArg<PBlsG2>) => import("../../index.js").UtilityTermOf<PBlsG2>;
};
export declare const bls12_381_G2_element_scalarMul: Term<import("../../../index.js").PLam<PInt, import("../../../index.js").PLam<PBlsG2, PBlsG2>>> & {
    $: (input: import("../../index.js").PappArg<PInt>) => Term<import("../../../index.js").PLam<PBlsG2, PBlsG2>> & {
        $: (input: import("../../index.js").PappArg<PBlsG2>) => import("../../index.js").UtilityTermOf<PBlsG2>;
    };
};
export declare const bls12_381_G2_element_eq: Term<import("../../../index.js").PLam<PBlsG2, import("../../../index.js").PLam<PBlsG2, PBool>>> & {
    $: (input: import("../../index.js").PappArg<PBlsG2>) => Term<import("../../../index.js").PLam<PBlsG2, PBool>> & {
        $: (input: import("../../index.js").PappArg<PBlsG2>) => import("../../index.js").UtilityTermOf<PBool>;
    };
};
export declare const bls12_381_G2_element_hashToGroup: Term<import("../../../index.js").PLam<PByteString, import("../../../index.js").PLam<PByteString, PBlsG2>>> & {
    $: (input: import("../../index.js").PappArg<PByteString>) => Term<import("../../../index.js").PLam<PByteString, PBlsG2>> & {
        $: (input: import("../../index.js").PappArg<PByteString>) => import("../../index.js").UtilityTermOf<PBlsG2>;
    };
};
export declare const bls12_381_G2_element_compress: Term<import("../../../index.js").PLam<PBlsG2, PByteString>> & {
    $: (input: import("../../index.js").PappArg<PBlsG2>) => import("../../index.js").UtilityTermOf<PByteString>;
};
export declare const bls12_381_G2_element_uncompress: Term<import("../../../index.js").PLam<PByteString, PBlsG2>> & {
    $: (input: import("../../index.js").PappArg<PByteString>) => import("../../index.js").UtilityTermOf<PBlsG2>;
};
