import { SigningMethod, TypedSignature, address } from './types'; export declare enum SIGNATURE_TYPES { NO_PREPEND = 0, DECIMAL = 1, HEXADECIMAL = 2 } export declare const PREPEND_DEC: string; export declare const PREPEND_HEX: string; export declare const EIP712_DOMAIN_STRING: string; export declare const EIP712_DOMAIN_STRUCT: { name: string; type: string; }[]; export declare function isValidSigType(sigType: number): boolean; /** * Returns a signable EIP712 Hash of a struct, given the domain and struct hashes. */ export declare function getEIP712Hash(domainHash: string, structHash: string): string; export declare function getPrependedHash(hash: string, sigType: SIGNATURE_TYPES): string; /** * Returns true if the hash has a non-null valid signature from a particular signer. */ export declare function hashHasValidSignature(hash: string, typedSignature: string, expectedSigner: address): boolean; export declare function ecRecoverTypedSignature(hash: string, typedSignature: string): address; export declare function createTypedSignature(signature: string, sigType: number): string; /** * Fixes any signatures that don't have a 'v' value of 27 or 28 */ export declare function fixRawSignature(signature: string): string; export declare function signatureToVRS(signature: string): { v: string; r: string; s: string; }; export declare function signatureToSolidityStruct(typedSignature: TypedSignature): { vType: string; r: string; s: string; }; export declare function ethSignTypedDataInternal(provider: any, signer: string, data: any, signingMethod: SigningMethod): Promise;