import { Ref, ShallowRef } from "vue"; import type { ChainNamespaceType, CONNECTOR_STATUS_TYPE, IPlugin, IProvider, IWeb3AuthCoreOptions } from "../base"; import type { Web3AuthNoModal } from "../noModal"; import { WalletServicesPluginType } from "../plugins/wallet-services-plugin"; export type Web3AuthContextConfig = { web3AuthOptions: IWeb3AuthCoreOptions; }; export interface Web3AuthProviderProps { config: Web3AuthContextConfig; } interface IBaseWeb3AuthComposableContext { isConnected: Ref; isAuthorized: Ref; provider: Ref; isInitializing: Ref; initError: Ref; isInitialized: Ref; status: Ref; isMFAEnabled: Ref; chainId: Ref; chainNamespace: Ref; getPlugin: (pluginName: string) => IPlugin | null; setIsMFAEnabled: (isMfaEnabled: boolean) => void; } export interface IWeb3AuthInnerContext extends IBaseWeb3AuthComposableContext { web3Auth: ShallowRef; } export interface IWalletServicesInnerContext { plugin: ShallowRef; ready: Ref; connecting: Ref; } export {};