import { JsonRpcPayload, JsonRpcRequest, RequestArguments } from "./jsonrpc"; import { IEvents } from "./misc"; export declare abstract class IJsonRpcConnection extends IEvents { abstract connected: boolean; abstract connecting: boolean; constructor(opts?: any); abstract open(opts?: any): Promise; abstract close(): Promise; abstract send(payload: JsonRpcPayload, context?: any): Promise; } export declare abstract class IBaseJsonRpcProvider extends IEvents { constructor(); abstract connect(params?: any): Promise; abstract disconnect(): Promise; abstract request(request: RequestArguments, context?: any): Promise; protected abstract requestStrict(request: JsonRpcRequest, context?: any): Promise; } export declare abstract class IJsonRpcProvider extends IBaseJsonRpcProvider { abstract connection: IJsonRpcConnection; constructor(connection: string | IJsonRpcConnection); abstract connect(connection?: string | IJsonRpcConnection): Promise; protected abstract setConnection(connection?: string | IJsonRpcConnection): IJsonRpcConnection; protected abstract onPayload(payload: JsonRpcPayload): void; protected abstract open(connection?: string | IJsonRpcConnection): Promise; protected abstract close(): Promise; } //# sourceMappingURL=provider.d.ts.map