import { Signer, VoidSigner } from "@ethersproject/abstract-signer"; import { splitSignature } from "@ethersproject/bytes"; import { _TypedDataEncoder } from "@ethersproject/hash"; import type { JsonRpcProvider, Provider } from "@ethersproject/providers"; /** * A signature-like type. */ export declare type SignatureLike = Parameters[0]; /** * EIP-712 typed data domain. */ export declare type TypedDataDomain = Parameters[0]; /** * EIP-712 typed data type definitions. */ export declare type TypedDataTypes = Parameters[1]; /** * Ethers EIP-712 typed data signer interface. */ export interface TypedDataSigner extends Signer { /** * Signs the typed data value with types data structure for domain using the * EIP-712 specification. */ _signTypedData: typeof VoidSigner.prototype._signTypedData; } /** * Checks whether the specified signer is a typed data signer. */ export declare function isTypedDataSigner(signer: Signer): signer is TypedDataSigner; /** * Checks whether the specified provider is a JSON RPC provider. */ export declare function isJsonRpcProvider(provider: Provider): provider is JsonRpcProvider;