import { JsonRpcProvider, TransactionRequest, TransactionResponse, TypedDataDomain, TypedDataField, BytesLike, TransactionLike, JsonRpcSigner } from 'ethers'; import { Relayer } from '../relayer'; import { PrivateTransactionMode, Speed } from '../models/transactions'; import { EthersVersion, RelayerParams } from '../models/relayer'; export type Deferrable = { [K in keyof T]: T[K] | Promise; }; type GasOptions = Pick, 'gasPrice' | 'maxFeePerGas' | 'maxPriorityFeePerGas'>; export type DefenderTransactionRequest = TransactionLike & Partial<{ speed: Speed; validUntil: Date | string; isPrivate?: boolean; privateMode?: PrivateTransactionMode; }>; export type DefenderRelaySignerOptions = Partial; export declare class DefenderRelaySigner extends JsonRpcSigner { readonly relayerCredentials: RelayerParams | Relayer; readonly options: DefenderRelaySignerOptions; private readonly relayer; constructor(relayerCredentials: RelayerParams | Relayer, provider: JsonRpcProvider, address: string, options?: DefenderRelaySignerOptions); getAddress(): Promise; signMessage(message: string | BytesLike): Promise; signTransaction(transaction: TransactionRequest): Promise; connect(provider: JsonRpcProvider): DefenderRelaySigner; signTypedData(domain: TypedDataDomain, types: Record, value: Record): Promise; sendTransaction(transaction: DefenderTransactionRequest): Promise; populateTransaction(transaction: DefenderTransactionRequest): Promise; checkTransaction(transaction: Deferrable): Deferrable; /** * Signs the typed data value with types data structure for domain using the EIP-712 specification. * https://eips.ethereum.org/EIPS/eip-712 * * @param domain EIP712Domain containing name, version, chainId, verifyingContract and salt. All optional * @param types set of all types encompassed by struct * @param value typed data to sign matching provided types * @returns typed data signature */ _signTypedData(domain: TypedDataDomain, types: Record>, value: Record): Promise; } export {}; //# sourceMappingURL=signer.d.ts.map