import { Networkish } from "@ethersproject/networks"; import { Event } from "./base-provider"; import { JsonRpcProvider } from "./json-rpc-provider"; export declare type InflightRequest = { callback: (error: Error, result: any) => void; payload: string; }; export declare type Subscription = { tag: string; processFunc: (payload: any) => void; }; export declare class WebSocketProvider extends JsonRpcProvider { readonly _websocket: any; readonly _requests: { [name: string]: InflightRequest; }; readonly _subIds: { [tag: string]: Promise; }; readonly _subs: { [name: string]: Subscription; }; _wsReady: boolean; constructor(url: string, network: Networkish); get pollingInterval(): number; resetEventsBlock(blockNumber: number): void; set pollingInterval(value: number); poll(): Promise; set polling(value: boolean); send(method: string, params?: Array): Promise; static defaultUrl(): string; _subscribe(tag: string, param: Array, processFunc: (result: any) => void): Promise; _startEvent(event: Event): void; _stopEvent(event: Event): void; }