import { Fp } from "./fp";
import { Fp2 } from "./fp2";
import { Fp12 } from "./fp12";
import { Point } from "./point";
export declare type Bytes = Uint8Array | string;
export declare type Hash = Bytes;
export declare const PRIME_ORDER = 52435875175126190479447740508185965837690552500527637822603658699938581184513n;
export declare const P = 4002409555221667393417789825735904156556882819939007885332058136124031650490837864442687629129015664037894272559787n;
export declare const DOMAIN_LENGTH = 8;
export declare const P_ORDER_X_12_DIVIDED: bigint;
export declare const B: Fp;
export declare const B2: Fp2;
export declare const B12: Fp12;
export declare const Z1: Point<bigint>;
export declare const Z2: Point<import("./fp2").BigintTuple>;
export declare function toBytesBE(num: bigint | number | string, padding?: number): Uint8Array;
export declare function toBigInt(num: string | Uint8Array | bigint | number): bigint;
export declare function getXCoordinateG2(hash: Hash, domain: Bytes): Promise<Fp2>;
export declare function getXCoordinateG1(hash: Hash, domain: Bytes): Promise<Fp>;
export declare function publicKeyFromG1(point: Point<bigint>): Uint8Array;
export declare function publicKeyToG1(publicKey: Bytes): Point<bigint>;
export declare function signatureFromG2(point: Point<[bigint, bigint]>): Uint8Array;
export declare function signatureToG2(signature: Bytes): Point<import("./fp2").BigintTuple>;
export declare function hashToG2(hash: Hash, domain: Bytes): Promise<Point<import("./fp2").BigintTuple>>;
