import { BigNumber } from "ethers";
import { FQ } from "./field";
import { Point } from "./jubjub";
export declare class Signature {
    R: Point;
    s: FQ;
    constructor(R: Point, s: FQ);
    toStr(): string;
}
export declare class SignedMessage {
    A: Point;
    sig: Signature;
    msg: BigNumber;
    constructor(A: Point, sig: Signature, msg: BigNumber);
    toStr(): string;
}
export declare class SignatureScheme {
    static to_bytes(arg: BigNumber): number[];
    static prehash_message(M: BigNumber): BigNumber;
    static hash_secret_python(k: FQ, arg: BigNumber): BigNumber;
    static B(): Point;
    static sign(msg: BigNumber, key: FQ, B: Point): SignedMessage;
    static as_scalar(point: Point): BigNumber[];
    static hash_public(R: Point, A: Point, M: BigNumber): any;
}
export declare function bnToBuf(bn: string): number[];
export declare function bnToBufWithFixedLength(bn: string, outputLength: number): number[];
export declare function bufToBn(buf: any): bigint;
export declare function bytesToHexString(bytes: any): any;
//# sourceMappingURL=eddsa.d.ts.map