import UniversalProvider, { NamespaceConfig } from "@walletconnect/universal-provider"; import { EventEmitter } from "./events"; import { HotConnector } from "./HotConnector"; import { OmniWallet } from "./OmniWallet"; import { WalletType } from "./omni/config"; export declare enum ConnectorType { WALLET = "wallet", SOCIAL = "social" } export interface OmniConnectorOption { name: string; icon: string; id: string; download?: string; type: "extension" | "external"; } export interface OmniConnectorOptions { projectId?: string; metadata?: { name: string; description: string; url: string; icons: string[]; }; } export declare const WC_ICON = "https://raw.githubusercontent.com/WalletConnect/walletconnect-assets/refs/heads/master/Icon/Blue%20(Default)/Icon.svg"; export declare abstract class OmniConnector { readonly wibe3: HotConnector; readonly settings?: OmniConnectorOptions | undefined; wallets: T[]; options: (O & OmniConnectorOption)[]; private storage; protected events: EventEmitter<{ connect: { wallet: T; }; disconnect: { wallet: T; }; }>; protected wc: Promise | null; constructor(wibe3: HotConnector, settings?: OmniConnectorOptions | undefined); initWalletConnect(): Promise; connectWalletConnect(args: { deeplink?: string; onConnect: () => Promise; namespaces: NamespaceConfig; }): Promise<{ qrcode: string; deeplink?: string; task: Promise; }>; disconnectWalletConnect(): Promise; requestWalletConnect(args: { chain?: string; request: any; deeplink?: string; name?: string; icon?: string; }): Promise; abstract connect(id?: string): Promise; }>; abstract walletTypes: WalletType[]; abstract type: ConnectorType; abstract name: string; abstract icon: string; abstract id: string; protected setWallet(wallet: T): T; protected removeWallet(): void; protected removeAllWallets(): void; setStorage(obj: { type?: string; id?: string; address?: string; publicKey?: string; }): Promise; removeStorage(): Promise; getStorage(): Promise<{ type?: string; id?: string; address?: string; publicKey?: string; }>; removeAllListeners(): void; onConnect(handler: (payload: { wallet: T; }) => void): () => void; onDisconnect(handler: (payload: { wallet: T; }) => void): () => void; disconnect(): Promise; }