import { Callback } from './types'; import { JSONRPCRequest, JSONRPCResponse } from './JSONRPC'; export interface Web3Provider { send(request: JSONRPCRequest): JSONRPCResponse; send(request: JSONRPCRequest[]): JSONRPCResponse[]; send(request: JSONRPCRequest, callback: Callback): void; send(request: JSONRPCRequest[], callback: Callback): void; send(method: string, params?: any[] | any): Promise; sendAsync(request: JSONRPCRequest, callback: Callback): void; sendAsync(request: JSONRPCRequest[], callback: Callback): void; request(args: RequestArguments): Promise; connected: boolean; chainId: string; supportsSubscriptions(): boolean; disconnect(): boolean; } export interface RequestArguments { /** The RPC method to request. */ method: string; /** The params of the RPC method, if any. */ params?: any; }