import React, { type PropsWithChildren } from 'react'; type ConnectAction = { type: 'connect'; wallet: string; balance: string; }; type DisconnectAction = { type: 'disconnect'; }; type PageLoadedAction = { type: 'pageLoaded'; isMetaMaskInstalled: boolean; wallet: string | null; balance: string | null; }; type LoadingAction = { type: 'loading'; }; type IdleAction = { type: 'idle'; }; type Action = ConnectAction | DisconnectAction | PageLoadedAction | LoadingAction | IdleAction; type Dispatch = (action: Action) => void; type Status = 'loading' | 'idle' | 'pageNotLoaded'; type State = { wallet: string | null; isMetaMaskInstalled: boolean; status: Status; balance: string | null; }; declare function MetaMaskProvider({ children }: PropsWithChildren): React.JSX.Element; /** * It returns the value of the MetaMaskContext * @returns The context object. */ declare function useMetaMask(): { state: State; dispatch: Dispatch; }; export { MetaMaskProvider, useMetaMask };