import { QueryClient } from '@tanstack/react-query'; import React, { PropsWithChildren } from 'react'; import { FailedResponse, OAuthToken } from '../types'; import { ENV, Session } from '../utils'; import { StorageAdapter } from '../utils/native_adapters/storage_adapter'; type Sessions = Record; export type SessionContextValue = { env: ENV; setEnv: (_env: ENV) => void; session: Session; sessions: Sessions; token: OAuthToken | undefined; handleUnauthorizedResponse: (_response: FailedResponse) => void; logout: () => void; setToken: (_token: OAuthToken) => void; switchSession: (_sessionId: string) => void; createSession: (_session: Session) => Promise; }; export declare const SessionContext: React.Context; export type SessionContextConfig = { secureStorage: StorageAdapter; refreshTokenFn: (params: { refresh_token: string; env: ENV; }) => Promise; onLogout: () => void | Promise; storageKeys?: { sessions?: string; currentSessionId?: string; }; alertConfig?: { title?: string; message?: string; retryText?: string; logoutText?: string; }; defaultEnv?: ENV; }; export declare function SessionContextProvider({ children, queryClient, config, }: PropsWithChildren<{ queryClient: QueryClient; config: SessionContextConfig; }>): import("react/jsx-runtime").JSX.Element; export {}; //# sourceMappingURL=session_context.d.ts.map