import { Transport } from '@open-rpc/client-js/build/transports/Transport'; import { IJSONRPCData } from '@open-rpc/client-js/build/Request'; export type JRPCVersion = '2.0'; export type JRPCId = number | string | void; export interface JRPCBase { jsonrpc?: JRPCVersion; id?: JRPCId; } export interface JRPCRequest extends JRPCBase { method: string; params?: T; } export interface JRPCResponse extends JRPCBase { result?: T; error?: any; } export type SendCallBack = (err: any, providerRes: U) => void; export type Maybe = T | Partial | null | undefined; export interface RequestArguments { method: string; params?: T; } export interface SafeEventEmitterProvider { sendAsync: (req: JRPCRequest) => Promise; send: (req: JRPCRequest, callback: SendCallBack>) => void; request: (req: RequestArguments) => Promise>; } declare class ProviderTransport extends Transport { provider: SafeEventEmitterProvider; constructor(provider: SafeEventEmitterProvider); connect(): Promise; sendData(data: IJSONRPCData, timeout?: number | null): Promise; close(): void; private onlyNotifications; } export default ProviderTransport;