import { Provider } from './provider'; import { Signer } from '../wallet/abstract-signer'; import { BigNumber } from '../utils/bignumber'; import { Arrayish } from '../utils/bytes'; import { Networkish } from '../utils/networks'; import { ConnectionInfo } from '../utils/web'; import { BlockTag, TransactionRequest, TransactionResponse } from '../providers/abstract-provider'; export declare class JsonRpcSigner extends Signer { readonly provider: JsonRpcProvider; private _address; constructor(constructorGuard: any, provider: JsonRpcProvider, address?: string); readonly address: string; getAddress(): Promise; getBalance(blockTag?: BlockTag): Promise; getTransactionCount(blockTag?: BlockTag): Promise; sendTransaction(transaction: TransactionRequest): Promise; signMessage(message: Arrayish | string): Promise; unlock(password: string): Promise; } export declare class JsonRpcProvider extends Provider { readonly connection: ConnectionInfo; private _pendingFilter; constructor(url?: ConnectionInfo | string, network?: Networkish); getSigner(address?: string): JsonRpcSigner; listAccounts(): Promise>; send(method: string, params: any): Promise; perform(method: string, params: any): Promise; protected _startPending(): void; protected _stopPending(): void; static hexlifyTransaction(transaction: TransactionRequest): any; }