import { Store } from 'redux'; import { RootState } from './rootStateTypes'; import { RESTAPIEndpoints } from './zeniAPI'; export type ZeniStore = Store; export { zeniAPI } from './zeniAPIClientState'; export { disconnectPusher, initializePusher, pusher } from './pusherClient'; export type { PusherAuthPayload } from './pusherClient'; export declare let store: ZeniStore; /** * Call initialize before using any of the functionalities in this module * Note: This version SHOULD BE used only in the client side. Not intended to be used * when using from server side. * @param onSessionInvalidated Optional callback invoked when a 401 "Invalid session" response is detected */ export default function initialize(restEndPoints: RESTAPIEndpoints, userId?: string, sessionId?: string, tenantId?: string, isSandboxEnv?: boolean, onSessionInvalidated?: () => void): ZeniStore; export { injectFeatureModules, injectFeatureEpics } from './configureStore'; /** * Update the Zeni REST API client client config * Note: This version SHOULD BE used only in the client side. Not intended to be used * when using from server side. * @param userId * @param sessionId * @param tenantId */ export declare function updateZeniAPIClientConfig(userId?: string, sessionId?: string, tenantId?: string): void; /** * Returns current Zeni REST API client config. * @returns */ export declare function zeniAPIClientConfig(): { userId: string | undefined; sessionId: string | undefined; tenantId: string | undefined; }; /** * Initialize client-epic-state with new store. * Should be used in the node server. * * Loads the full epic tree (~526 epics) so that server-side handlers * (report generation, data fetching, etc.) have all feature epics * available. The browser app uses `initialize()` + `injectFeatureModules()` * instead to enable lazy loading. * * @param restEndPoints rest endpoints for the micro services * @param userId user id * @param sessionId session id * @param tenantId tenant id */ export declare function initializeWithNewStore(restEndPoints: RESTAPIEndpoints, userId: string, sessionId: string, tenantId: string): Promise; export declare function initialize3rdPartyExtensions(): void;