import * as _emotion_react_jsx_runtime from '@emotion/react/jsx-runtime'; import React from 'react'; import { LoginInput } from './api/login.mjs'; import { PersistenceStorageAdapter } from './persistenceDatabase.mjs'; import 'matsuri-hooks'; interface AuthenticationState { token: string; authenticated: boolean; login: (input: LoginInput) => Promise<{ token?: string; error?: Error; }>; logout: () => void; updateToken: (token: string) => Promise<{ error?: Error; }>; revalidating: boolean; isLoginRequired: boolean; } /** * 認証状態を管理するProvider。 * storageAdapterをカスタマイズする場合、参照が不変になるようにしてください。 * 参照が変わるとトークン更新処理が再実行されます。 */ declare const M2mAuthenticationProvider: ({ children, storageAdapter, }: { children: React.ReactNode; storageAdapter?: PersistenceStorageAdapter; }) => _emotion_react_jsx_runtime.JSX.Element; declare const useAuth: () => AuthenticationState; export { M2mAuthenticationProvider, PersistenceStorageAdapter, useAuth };