import { Provider, TransactionRequest, TransactionResponse } from "@ethersproject/abstract-provider"; import { Signer, TypedDataDomain, TypedDataField, TypedDataSigner } from "@ethersproject/abstract-signer"; import { Bytes } from "@ethersproject/bytes"; import { Network, Networkish } from "@ethersproject/networks"; import { Deferrable } from "@ethersproject/properties"; import { AccessList } from "@ethersproject/transactions"; import { ConnectionInfo } from "@ethersproject/web"; import { BaseProvider, Event } from "./base-provider"; export declare class JsonRpcSigner extends Signer implements TypedDataSigner { readonly provider: JsonRpcProvider; _index: number; _address: string; constructor(constructorGuard: any, provider: JsonRpcProvider, addressOrIndex?: string | number); connect(provider: Provider): JsonRpcSigner; connectUnchecked(): JsonRpcSigner; getAddress(): Promise; sendUncheckedTransaction(transaction: Deferrable): Promise; signTransaction(transaction: Deferrable): Promise; sendTransaction(transaction: Deferrable): Promise; signMessage(message: Bytes | string): Promise; _signTypedData(domain: TypedDataDomain, types: Record>, value: Record): Promise; unlock(password: string): Promise; } declare class UncheckedJsonRpcSigner extends JsonRpcSigner { sendTransaction(transaction: Deferrable): Promise; } export declare class JsonRpcProvider extends BaseProvider { readonly connection: ConnectionInfo; _pendingFilter: Promise; _nextId: number; _eventLoopCache: Record>; constructor(url?: ConnectionInfo | string, network?: Networkish); static defaultUrl(): string; detectNetwork(): Promise; _uncachedDetectNetwork(): Promise; getSigner(addressOrIndex?: string | number): JsonRpcSigner; getUncheckedSigner(addressOrIndex?: string | number): UncheckedJsonRpcSigner; listAccounts(): Promise>; send(method: string, params: Array): Promise; prepareRequest(method: string, params: any): [string, Array]; perform(method: string, params: any): Promise; _startEvent(event: Event): void; _startPending(): void; _stopEvent(event: Event): void; static hexlifyTransaction(transaction: TransactionRequest, allowExtra?: { [key: string]: boolean; }): { [key: string]: string | AccessList; }; } export {}; //# sourceMappingURL=json-rpc-provider.d.ts.map