/*
* 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 * as React from 'react';
import * as ReactDOM from 'react-dom';
import { createRoot } from 'react-dom/client';
import * as reactJsxRuntime from 'react/jsx-runtime';
import * as MaterialUI from '@mui/material';
import * as ReactRedux from 'react-redux';
import * as ReactIntl from 'react-intl';
import * as rxjs from 'rxjs';
import { createAction } from '@reduxjs/toolkit';
import createEmotion from '@emotion/css/create-instance';
import { CrafterCMSStore } from '../state/store';
import { components, icons, services, utils } from './studioUI';
import { Observable } from 'rxjs';
declare global {
interface Window {
craftercms: CrafterCMSGlobal;
}
}
export interface CrafterCMSGlobal {
libs: {
React: typeof React;
ReactDOM: typeof ReactDOM;
ReactDOMClient: {
createRoot: typeof createRoot;
};
MaterialUI: typeof MaterialUI;
ReactRedux: typeof ReactRedux;
ReactIntl: typeof ReactIntl;
createEmotion: typeof createEmotion;
ReduxToolkit: {
createAction: typeof createAction;
};
react: typeof React;
reactJsxRuntime: typeof reactJsxRuntime;
rxjs: typeof rxjs;
'react-dom': typeof ReactDOM;
'react-dom/client': CrafterCMSGlobal['libs']['ReactDOMClient'];
'react/jsx-runtime': typeof reactJsxRuntime;
'react-redux': typeof ReactRedux;
'react-intl': typeof ReactIntl;
'@mui/material': typeof MaterialUI;
'@emotion/css/create-instance': typeof createEmotion;
'@reduxjs/toolkit': {
createAction: typeof createAction;
};
};
components: typeof components;
icons: typeof icons;
utils: typeof utils;
services: typeof services;
getStore(): CrafterCMSStore;
define: {
(): void;
amd: true;
};
store$(): Observable;
}
export declare const libs: CrafterCMSGlobal['libs'];
export declare const define: {
(): void;
amd: true;
};
export declare const craftercms: CrafterCMSGlobal;
export declare const publishCrafterGlobal: () => void;
export default craftercms;