import { NativeSigner, serializeSignature, Signer } from '@celo/base/lib/signatureUtils'; import { EIP712TypedData } from './sign-typed-data-utils'; export { NativeSigner, POP_SIZE, serializeSignature, Signature, Signer, } from '@celo/base/lib/signatureUtils'; export declare function hashMessageWithPrefix(message: string): string; export declare function hashMessage(message: string): string; export declare function addressToPublicKey(signer: string, signFn: (message: string, signer: string) => Promise): Promise; export declare function LocalSigner(privateKey: string): Signer; export declare function signedMessageToPublicKey(message: string, v: number, r: string, s: string): string; export declare function signMessage(message: string, privateKey: string, address: string): { v: number; r: string; s: string; }; export declare function signMessageWithoutPrefix(messageHash: string, privateKey: string, address: string): { v: number; r: string; s: string; }; export declare function verifySignature(message: string, signature: string, signer: string): boolean; export declare function parseSignature(message: string, signature: string, signer: string): { v: number; r: string; s: string; }; export declare function parseSignatureWithoutPrefix(messageHash: string, signature: string, signer: string): { v: number; r: string; s: string; }; /** * Recover signer from RSV-serialized signature over signed typed data. * @param typedData EIP712 typed data * @param signature RSV signature of signed type data by signer * @returns string signer, or throws error if parsing fails */ export declare function recoverEIP712TypedDataSignerRsv(typedData: EIP712TypedData, signature: string): string; /** * Recover signer from VRS-serialized signature over signed typed data. * @param typedData EIP712 typed data * @param signature VRS signature of signed type data by signer * @returns string signer, or throws error if parsing fails */ export declare function recoverEIP712TypedDataSignerVrs(typedData: EIP712TypedData, signature: string): string; /** * @param typedData EIP712 typed data * @param signature VRS or SRV signature of `typedData` by `signer` * @param signer address to verify signed the `typedData` * @returns boolean, true if `signer` is a possible signer of `signature` */ export declare function verifyEIP712TypedDataSigner(typedData: EIP712TypedData, signature: string, signer: string): boolean; export declare function guessSigner(message: string, signature: string): string; export declare const SignatureUtils: { NativeSigner: typeof NativeSigner; LocalSigner: typeof LocalSigner; signMessage: typeof signMessage; signMessageWithoutPrefix: typeof signMessageWithoutPrefix; parseSignature: typeof parseSignature; parseSignatureWithoutPrefix: typeof parseSignatureWithoutPrefix; serializeSignature: typeof serializeSignature; recoverEIP712TypedDataSignerRsv: typeof recoverEIP712TypedDataSignerRsv; recoverEIP712TypedDataSignerVrs: typeof recoverEIP712TypedDataSignerVrs; verifyEIP712TypedDataSigner: typeof verifyEIP712TypedDataSigner; };