import React from 'react'; import type { ReactNode } from 'react'; import type { Chain, ConnectConfig, Provider } from '@particle-network/connect'; import { ParticleConnect } from '@particle-network/connect'; interface ModalContextValue { userChains: Chain[]; account?: string; chain?: Chain; updateChain?: (chain?: Chain) => void; accountModalOpen: boolean; chainModalOpen: boolean; connectModalOpen: boolean; particleProvider?: Provider; connectKit?: ParticleConnect; accountLoading?: boolean; connectId?: string; walletSort: string[]; particleAuthSort: string[]; openAccountModal?: () => void; closeAccountModal?: () => void; openChainModal?: () => void; openConnectModal?: () => void; updateParticleProvider?: (obj?: Provider) => void; updateAccount?: (obj: string | undefined) => void; updateConnectId?: (obj: string) => void; setAccountLoading?: (obj: boolean) => void; unsupportedChain: boolean; setUnsupportedChain?: (bool: boolean) => void; setTheme?: (theme: string) => void; theme: string; language: string; changLanguage: (val: string) => any; cacheProvider: boolean; } export declare const ModalContext: React.Context; interface ModalProviderProps { children: ReactNode; options: ConnectConfig; theme?: 'auto' | 'dark' | 'light'; walletSort?: string[]; particleAuthSort?: string[]; language?: string; cacheProvider?: boolean; } export declare function ModalProvider({ children, options, theme: optionsTheme, walletSort, particleAuthSort, language: lang, cacheProvider, }: ModalProviderProps): JSX.Element; export declare function useParticleTheme(): { theme: string; setTheme: ((theme: string) => void) | undefined; }; export declare function useLanguage(): { language: string; changLanguage: (val: string) => any; }; export declare function useConnectKit(): ParticleConnect; export declare const useChain: () => { updateChain: ((chain?: Chain) => void) | undefined; }; export declare const useUnsupportedChain: () => { setUnsupportedChain: ((bool: boolean) => void) | undefined; unsupportedChain: boolean; }; export declare function useConnectAction(): { updateParticleProvider: ((obj?: Provider | undefined) => void) | undefined; updateAccount: ((obj: string | undefined) => void) | undefined; updateConnectId: ((obj: string) => void) | undefined; }; export declare function useIsCacheProvider(): boolean; export declare function useModalState(): { accountModalOpen: boolean; chainModalOpen: boolean; connectModalOpen: boolean; }; export declare function useUserChains(): { userChains: Chain[]; }; export declare function useAccountModal(): { openAccountModal: (() => void) | undefined; closeAccountModal: (() => void) | undefined; }; export declare function useConnectModal(): { openConnectModal: (() => void) | undefined; }; export declare function useChainModal(): { openChainModal: (() => void) | undefined; }; export declare function useAccountInfo(): { account: string | undefined; connectId: string | undefined; particleProvider: Provider | undefined; accountLoading: boolean | undefined; setAccountLoading: ((obj: boolean) => void) | undefined; }; export declare function useWalletSort(): { walletSort: string[]; }; export declare function useParticleAuthWalletSort(): { particleAuthSort: string[]; }; export {};