/*
* Copyright (C) 2007-2022 Crafter Software Corporation. All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License version 3 as published by
* the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see .
*/
import { EnhancedStore } from '@reduxjs/toolkit';
import GlobalState from '../models/GlobalState';
import { Epic } from 'redux-observable';
import { StandardAction } from '../models/StandardAction';
import { Observable } from 'rxjs';
import LookupTable from '../models/LookupTable';
import { IntlShape } from 'react-intl';
import User from '../models/User';
import { Site } from '../models/Site';
import type { Version } from '../models';
export type EpicMiddlewareDependencies = {
getIntl: () => IntlShape;
worker: SharedWorker;
};
export type CrafterCMSStore = EnhancedStore;
export type CrafterCMSEpic = Epic;
export declare function getStore(): Observable;
export declare function getStoreSync(): CrafterCMSStore;
export declare function createStoreSync(args?: { preloadedState?: any; dependencies?: any }): CrafterCMSStore;
export declare function fetchStateInitialization(): Observable<{
user: User;
sites: Site[];
properties: LookupTable;
activeSiteId: string;
activeEnvironment: string;
version: Version;
}>;
export default getStore;