import { IsEditingStore } from '@/utils/context/GlobalIsEditingContext';
import { ThemeOptions } from '@mui/material';
import { QueryClient } from '@tanstack/react-query';
import { PropsWithChildren } from 'react';
import { SynapseContextType } from './SynapseContext';
import { ApplicationSessionContextType } from '../AppUtils/session/ApplicationSessionContext';
export declare const defaultQueryClientConfig: {
    defaultOptions: {
        queries: {
            staleTime: number;
            gcTime: number;
            retry: false;
            refetchOnWindowFocus: false;
        };
    };
};
export type FullContextProviderProps = PropsWithChildren<{
    isEditingStore?: IsEditingStore;
    synapseContext: Partial<SynapseContextType>;
    queryClient?: QueryClient;
    theme?: ThemeOptions;
    applicationSessionContext: ApplicationSessionContextType;
}>;
/**
 * Provides all context necessary for components in SRC.
 *
 * Contexts include:
 * - SynapseContext
 * - QueryClientContext (react-query)
 * - ThemeContext (@mui)
 * - DocumentMetadataContext - for managing page title and meta descriptions
 * - ApplicationSessionContext - for managing user session state
 * - isEditingStore - used to sync editing state across the application
 *
 * IMPORTANT: The `applicationSessionContext` prop is required. For applications that need
 * full session management (e.g., login/logout), use `ApplicationSessionManager` which
 * provides its own context. For testing or simple use cases, use `MOCK_APPLICATION_SESSION_CONTEXT`.
 */
export declare function FullContextProvider(props: FullContextProviderProps): import("react/jsx-runtime").JSX.Element;
export default FullContextProvider;
//# sourceMappingURL=FullContextProvider.d.ts.map