import React, { Dispatch, SetStateAction } from 'react'; export interface NativeHandlers { isFocused: () => Promise; onFocusRequested: () => Promise; onFocusRelinquished: () => Promise; onDownloadFile: (fileData: Blob, fileName: string) => Promise; } interface UserContextProps { appVersion?: string; appName?: string; children?: React.ReactNode; nativeHandlers?: NativeHandlers; } export interface UserContextValue { isFocused: () => Promise; onFocusRequested: () => Promise; onFocusRelinquished: () => Promise; onDownloadFile: (fileData: Blob, fileName: string) => Promise; appVersion: string; appName: string; basketAccessModalOpen: boolean; setBasketAccessModalOpen: Dispatch>; certificateAccessModalOpen: boolean; setCertificateAccessModalOpen: Dispatch>; protocolAccessModalOpen: boolean; setProtocolAccessModalOpen: Dispatch>; spendingAuthorizationModalOpen: boolean; setSpendingAuthorizationModalOpen: Dispatch>; groupPermissionModalOpen: boolean; setGroupPermissionModalOpen: Dispatch>; pageLoaded: boolean; setPageLoaded: Dispatch>; } export declare const UserContext: React.Context; /** * The UserInterface component supports both new and returning users. * For returning users, if a snapshot exists it is loaded and once authenticated * the AuthRedirector (inside Router) sends them to the dashboard. * New users see the WalletConfig UI. */ export declare const UserContextProvider: React.FC; export {};