/*
 * 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 <http://www.gnu.org/licenses/>.
 */

import StandardAction from '../../models/StandardAction';
import { OptionsObject } from 'notistack';
import { ObtainAuthTokenResponse } from '../../services/auth';
import User from '../../models/User';
import { Site } from '../../models/Site';
import LookupTable from '../../models/LookupTable';
import SocketEventBase, {
  DeleteContentEventsPayload,
  ContentEventPayload,
  DeleteContentEventPayload,
  LockContentEventPayload,
  MoveContentEventPayload,
  PublishEventPayload,
  RepositoryEventPayload,
  WorkflowEventPayload
} from '../../models/SocketEvent';
import { DetailedItem, MarketplacePlugin, Version } from '../../models';
import { ProjectLifecycleEvent } from '../../models/ProjectLifecycleEvent';
export declare const itemReverted: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<
  {
    target: string;
  },
  string
>;
export declare const itemCut: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<
  {
    target: string;
  },
  string
>;
export declare const lockContentEvent: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<
  LockContentEventPayload,
  string
>;
export declare const contentEvent: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<
  ContentEventPayload,
  string
>;
export declare const deleteContentEvent: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<
  DeleteContentEventPayload,
  string
>;
export declare const deleteContentEvents: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<
  DeleteContentEventsPayload,
  string
>;
export declare const configurationEvent: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<
  SocketEventBase,
  string
>;
export declare const publishEvent: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<
  PublishEventPayload,
  string
>;
export declare const repositoryEvent: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<
  RepositoryEventPayload,
  string
>;
export declare const workflowEvent: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<
  WorkflowEventPayload,
  string
>;
export declare const moveContentEvent: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<
  MoveContentEventPayload,
  string
>;
export declare const showDeleteItemSuccessNotification: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<
  StandardAction<
    {
      items: DetailedItem[];
    },
    string
  >,
  string
>;
export declare const showPublishItemSuccessNotification: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<
  StandardAction<
    {
      items: DetailedItem[];
      type: string;
      schedule: string;
      environment: string;
    },
    string
  >,
  string
>;
export declare const showCreateItemSuccessNotification: import('@reduxjs/toolkit').ActionCreatorWithoutPayload<'SHOW_CREATE_ITEM_SUCCESS_NOTIFICATION'>;
export declare const showCreateFolderSuccessNotification: import('@reduxjs/toolkit').ActionCreatorWithoutPayload<'SHOW_CREATE_FOLDER_SUCCESS_NOTIFICATION'>;
export declare const showEditItemSuccessNotification: import('@reduxjs/toolkit').ActionCreatorWithoutPayload<'SHOW_EDIT_ITEM_SUCCESS_NOTIFICATION'>;
export declare const showCopyItemSuccessNotification: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<
  StandardAction<
    {
      paths: string[];
    },
    string
  >,
  string
>;
export declare const showCutItemSuccessNotification: import('@reduxjs/toolkit').ActionCreatorWithoutPayload<'SHOW_CUT_ITEM_SUCCESS_NOTIFICATION'>;
export declare const showPasteItemSuccessNotification: import('@reduxjs/toolkit').ActionCreatorWithoutPayload<'SHOW_PASTE_ITEM_SUCCESS_NOTIFICATION'>;
export declare const showUnlockItemSuccessNotification: import('@reduxjs/toolkit').ActionCreatorWithoutPayload<'SHOW_UNLOCK_ITEM_SUCCESS_NOTIFICATION'>;
export declare const showDuplicatedItemSuccessNotification: import('@reduxjs/toolkit').ActionCreatorWithoutPayload<'SHOW_DUPLICATED_ITEM_SUCCESS_NOTIFICATION'>;
export declare const showRevertItemSuccessNotification: import('@reduxjs/toolkit').ActionCreatorWithoutPayload<'SHOW_REVERT_ITEM_SUCCESS_NOTIFICATION'>;
export declare const showRejectItemSuccessNotification: import('@reduxjs/toolkit').ActionCreatorWithNonInferrablePayload<string>;
export declare const showSystemNotification: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<
  {
    message: string;
    options?: OptionsObject;
  },
  string
>;
export declare const emitSystemEvent: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<
  StandardAction<any, string>,
  string
>;
export declare const emitSystemEvents: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<
  {
    siteId: string;
    events: StandardAction[];
  },
  string
>;
export declare const pluginInstalled: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<
  MarketplacePlugin,
  string
>;
export declare const pluginUninstalled: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<
  StandardAction<any, string>,
  string
>;
export declare const contentTypeCreated: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<
  StandardAction<any, string>,
  string
>;
export declare const contentTypeUpdated: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<
  StandardAction<any, string>,
  string
>;
export declare const contentTypeDeleted: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<
  StandardAction<any, string>,
  string
>;
export declare const storeInitialized: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<
  {
    auth: ObtainAuthTokenResponse;
    user: User;
    sites: Array<Site>;
    properties: LookupTable<any>;
    activeSiteId: string;
    activeEnvironment: string;
    version: Version;
  },
  string
>;
export declare const messageSharedWorker: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<
  StandardAction<any, string>,
  string
>;
export declare const fetchGlobalMenu: import('@reduxjs/toolkit').ActionCreatorWithoutPayload<'FETCH_GLOBAL_MENU'>;
export declare const fetchGlobalMenuComplete: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<
  {
    icon: import('../..').SystemIconDescriptor;
    id: string;
    label: string;
  }[],
  string
>;
export declare const fetchGlobalMenuFailed: import('@reduxjs/toolkit').ActionCreatorWithoutPayload<'FETCH_GLOBAL_MENU_FAILED'>;
export declare const blockUI: import('@reduxjs/toolkit').ActionCreatorWithNonInferrablePayload<string>;
export declare const unblockUI: import('@reduxjs/toolkit').ActionCreatorWithoutPayload<'UNBLOCK_UI'>;
export declare const openSiteSocket: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<
  {
    site: string;
    xsrfToken: string;
  },
  string
>;
export declare const closeSiteSocket: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<
  {
    site: string;
  },
  string
>;
export declare const siteSocketStatus: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<
  {
    siteId: string;
    connected: boolean;
  },
  string
>;
export declare const globalSocketStatus: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<
  {
    connected: boolean;
  },
  string
>;
export declare const newProjectReady: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<
  ProjectLifecycleEvent<'SITE_READY_EVENT'>,
  string
>;
export declare const projectBeingDeleted: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<
  ProjectLifecycleEvent<'SITE_DELETING_EVENT'>,
  string
>;
export declare const projectDeleted: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<
  ProjectLifecycleEvent<'SITE_DELETED_EVENT'>,
  string
>;
