/// import { EventEmitter } from "events"; import type { Address, EIP1193Events, EIP1193Parameters, Hash, Hex, PublicRpcSchema, TypedDataDefinition } from "viem"; import type { TransactionParams } from "../action/send-transaction/common"; import { HeadlessCore } from "./core"; export type HeadlessProviderType = EIP1193Events & { request: (args: EIP1193Parameters) => Promise; }; export type HeadlessProviderSchema = [ ...PublicRpcSchema, { Method: "eth_accounts"; Parameters?: undefined; ReturnType: Address[]; }, { Method: "eth_requestAccounts"; Parameters?: undefined; ReturnType: Address[]; }, { Method: "eth_sendTransaction"; Parameters: [transaction: TransactionParams]; ReturnType: Hash; }, { Method: "eth_signTypedData_v4"; Parameters: [address: Address, typedData: TypedDataDefinition | string]; ReturnType: Hex; }, { Method: "personal_sign"; Parameters: [data: Hex, address: Address]; ReturnType: Hex; } ]; export declare class HeadlessProvider extends EventEmitter implements HeadlessProviderType { private core; protected constructor(core: HeadlessCore); static fromHeadlessCore: (core: HeadlessCore) => HeadlessProvider; getAccounts: () => readonly [`0x${string}`] | never[]; requestAccounts: () => readonly [`0x${string}`]; personalSign: (params: [data: Hex, address: Address]) => Promise<`0x${string}`>; signTypedDataV4: (params: [address: Address, data: TypedDataDefinition | string]) => Promise<`0x${string}`>; request: (args: EIP1193Parameters) => Promise; }