import { EventEmitter } from 'eventemitter3'; export interface RequestArguments { readonly method: string; readonly params?: readonly unknown[] | object; } export interface ProviderRpcError extends Error { message: string; code: number; data?: unknown; } interface ProviderConnectInfo { readonly chainId: string; } type ProviderEventMap = { connect: ProviderConnectInfo; disconnect: ProviderRpcError; chainChanged: string; accountsChanged: string[]; }; export declare class ProviderEventEmitter extends EventEmitter { } export interface ProviderInterface extends ProviderEventEmitter { request(args: RequestArguments): Promise; disconnect(): Promise; emit(event: K, ...args: [ProviderEventMap[K]]): boolean; on(event: K, listener: (_: ProviderEventMap[K]) => void): this; } export {}; //# sourceMappingURL=base-provider.d.ts.map