import { JsonRpcId, JsonRpcIdentifier } from './json_rpc_types.js'; export interface ProviderMessage { readonly type: string; readonly data: unknown; } export interface QRLSubscription extends ProviderMessage { readonly type: 'qrl_subscription'; readonly data: { readonly subscription: string; readonly result: unknown; }; } export interface ProviderRpcError extends Error { code: number; data?: unknown; } export interface ProviderConnectInfo { readonly chainId: string; } export type Web3APISpec = Record any> | unknown; export type Web3APIMethod = string & keyof Exclude; export type Web3APIParams> = API extends Exclude ? Parameters : unknown; export interface Web3APIRequest> { method: Method | string; params?: Web3APIParams | readonly unknown[] | object; } export interface Web3APIPayload> extends Web3APIRequest { readonly jsonrpc?: JsonRpcIdentifier; readonly id?: JsonRpcId; readonly requestOptions?: unknown; } export type Web3APIReturnType> = API extends Record any> ? ReturnType : any;