import { WalletKit, WalletKitClient } from "walletkit-js"; import { EthereumProviderRequestArgs, Network, Transaction, User, WalletKitClientOpts } from "./types.ts"; export type WalletKitConnectOpts = { projectId: string; appLogoUrl?: string; initialNetwork?: Network; environment?: string; walletType?: WalletKit.WalletType; }; export declare class WalletKitLink { #private; appLogoUrl?: string; activeEnvironment: string; activeNetwork: Network; activeAddress?: string; constructor(opts: WalletKitConnectOpts); user(): Promise; connect(opts?: { promptForPasskeyIfNeeded?: boolean; keepConnAliveOnFail?: boolean; }): Promise; openWallet({ onDisconnect, }: { onDisconnect: () => void; }): Promise; switchNetwork({ network, environment, }: { network?: Network; environment?: string; }): Promise; disconnect(): Promise; signAndSendTransactions(transactions: Transaction[]): Promise; signMessage(message: string): Promise; get client(): WalletKitClient; get clientOpts(): WalletKitClientOpts; get ethereumProvider(): { request: (args: EthereumProviderRequestArgs) => Promise; }; get ethereumSigner(): { getAddress: () => Promise<`0x${string}`>; signMessage: (msg: string | Uint8Array) => Promise<`0x${string}`>; signTypedData: (params: unknown) => Promise<`0x${string}`>; }; }