/*
 * 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/>.
 */

declare const reducer: import('redux').Reducer<
  {
    auth: {
      error: import('../..').ApiResponse;
      active: boolean;
      expiresAt: number;
      isFetching: boolean;
    };
    user: import('../..').EnhancedUser;
    sites: {
      active: string;
      isFetching: boolean;
      byId: import('../..').LookupTable<import('../..').Site>;
    };
    env: {
      authoringBase: string;
      logoutUrl: string;
      guestBase: string;
      xsrfHeader: string;
      xsrfArgument: string;
      siteCookieName: string;
      previewLandingBase: string;
      version: string;
      packageBuild: string;
      packageVersion: string;
      packageBuildDate: string;
      useBaseDomain: boolean;
      activeEnvironment: string;
      socketConnected: boolean;
    };
    preview: {
      editMode: boolean;
      highlightMode: import('../..').HighlightMode;
      showToolsPanel: boolean;
      toolsPanelPageStack: import('../..').WidgetDescriptor[];
      toolsPanelWidth: number;
      icePanelWidth: number;
      icePanelStack: import('../..').WidgetDescriptor[];
      hostSize: import('../..').WidthAndHeight;
      guest: import('../..').GuestData;
      assets: import('../..').PagedEntityState<import('../..').MediaItem>;
      audiencesPanel: {
        isFetching: boolean;
        isApplying: boolean;
        error: import('../..').ApiResponse;
        model: import('../..').ContentInstance;
        applied: boolean;
      };
      components: import('../..').PagedEntityState<import('../..').ContentInstance>;
      dropTargets: {
        selectedContentType: string;
        byId: import('../..').LookupTable<import('../..').ContentTypeDropTarget>;
      };
      toolsPanel: {
        widgets: import('../..').WidgetDescriptor[];
      };
      toolbar: {
        leftSection: {
          widgets: import('../..').WidgetDescriptor[];
        };
        middleSection: {
          widgets: import('../..').WidgetDescriptor[];
        };
        rightSection: {
          widgets: import('../..').WidgetDescriptor[];
        };
      };
      icePanel: {
        widgets: import('../..').WidgetDescriptor[];
      };
      richTextEditor: import('../..').LookupTable;
      editModePadding: boolean;
      windowSize: number;
      xbDetectionTimeoutMs: number;
      error: {
        code: number;
        message: string;
      };
    };
    previewNavigation: {
      currentUrlPath: string;
      historyBackStack: string[];
      historyForwardStack: string[];
      historyNavigationType: 'back' | 'forward';
    };
    contentTypes: import('../..').EntityState<import('../..').ContentType>;
    dialogs: {
      confirm: import('../..').ConfirmDialogStateProps;
      error: import('../..').ErrorDialogStateProps;
      newContent: import('../../components/NewContentDialog/utils').NewContentDialogStateProps;
      minimizedTabs: import('../..').MinimizedDialogsStateProps;
      history: import('../../components/HistoryDialog/utils').HistoryDialogStateProps;
      viewVersion: import('../../components/ViewVersionDialog/utils').ViewVersionDialogStateProps;
      compareVersions: import('../..').CompareVersionsDialogStateProps;
      publish: import('../..').PublishDialogStateProps;
      dependencies: import('../..').DependenciesDialogStateProps;
      delete: import('../..').DeleteDialogStateProps;
      edit: import('../../components/LegacyFormDialog/utils').LegacyFormDialogStateProps;
      codeEditor: import('../..').CodeEditorDialogStateProps;
      workflowCancellation: import('../../components/WorkflowCancellationDialog/utils').WorkflowCancellationDialogStateProps;
      reject: import('../../components/RejectDialog/utils').RejectDialogStateProps;
      editSite: import('../../components/EditSiteDialog/utils').EditSiteDialogStateProps;
      createFolder: import('../..').CreateFolderStateProps;
      createFile: import('../..').CreateFileStateProps;
      renameAsset: import('../..').RenameAssetStateProps;
      copy: import('../..').CopyDialogStateProps;
      upload: import('../../components/UploadDialog/util').UploadDialogStateProps;
      singleFileUpload: import('../..').SingleFileUploadDialogStateProps;
      preview: import('../..').PreviewDialogStateProps;
      pathSelection: import('../..').PathSelectionDialogStateProps;
      changeContentType: import('../..').ChangeContentTypeDialogStateProps;
      itemMenu: import('../..').ItemMenuStateProps;
      itemMegaMenu: import('../..').ItemMegaMenuStateProps;
      launcher: import('../..').LauncherStateProps;
      publishingStatus: import('../..').PublishingStatusDialogStateProps;
      unlockPublisher: import('../..').UnlockPublisherDialogStateProps;
      widget: import('../../components/WidgetDialog/utils').WidgetDialogStateProps;
      uiBlocker: import('../..').UIBlockerStateProps;
      brokenReferences: import('../../components/BrokenReferencesDialog/types').BrokenReferencesDialogStateProps;
      folderMoveAlert: import('../../components/FolderMoveAlert/FolderMoveAlertDialog').FolderMoveAlertDialogStateProps;
    };
    versions: import('../..').VersionsStateProps;
    content: {
      quickCreate: {
        error: import('../..').ApiResponse;
        isFetching: boolean;
        items: import('../../models/content/QuickCreateItem').default[];
      };
      itemsByPath: import('../..').LookupTable<import('../..').DetailedItem>;
      clipboard: import('../..').Clipboard;
      itemsBeingFetchedByPath: import('../..').LookupTable<boolean>;
    };
    pathNavigator: import('../..').LookupTable<import('../..').PathNavigatorStateProps>;
    pathNavigatorTree: import('../..').LookupTable<import('../..').PathNavigatorTreeStateProps>;
    uiConfig: {
      error: import('../..').ApiResponse;
      isFetching: boolean;
      currentSite: string;
      siteLocales: {
        error: import('../..').ApiResponse;
        isFetching: boolean;
        localeCodes: string[];
        defaultLocaleCode: string;
      };
      upload: {
        timeout: number;
        maxActiveUploads: number;
        maxSimultaneousUploads: number;
      };
      locale: {
        localeCode: string;
        dateTimeFormatOptions: Intl.DateTimeFormatOptions;
      };
      publishing: {
        publishCommentRequired: boolean;
        deleteCommentRequired: boolean;
        bulkPublishCommentRequired: boolean;
        publishByCommitCommentRequired: boolean;
        publishEverythingCommentRequired: boolean;
        submissionCommentMaxLength: number;
      };
      cdataEscapedFieldPatterns: string[];
      references: import('../..').LookupTable;
      xml: string;
      remoteGitBranch: string;
    };
    dashboard: {
      widgets?: import('../..').WidgetDescriptor[];
      mainSection?: {
        widgets: import('../..').WidgetDescriptor[];
      };
    };
    globalNavigation: {
      error: import('rxjs/ajax').AjaxError;
      items: {
        icon: import('../..').SystemIconDescriptor;
        id: string;
        label: string;
      }[];
      isFetching: boolean;
    };
  },
  import('redux').UnknownAction,
  Partial<{
    auth: {
      error: import('../..').ApiResponse;
      active: boolean;
      expiresAt: number;
      isFetching: boolean;
    };
    user: import('../..').EnhancedUser;
    sites: {
      active: string;
      isFetching: boolean;
      byId: import('../..').LookupTable<import('../..').Site>;
    };
    env: {
      authoringBase: string;
      logoutUrl: string;
      guestBase: string;
      xsrfHeader: string;
      xsrfArgument: string;
      siteCookieName: string;
      previewLandingBase: string;
      version: string;
      packageBuild: string;
      packageVersion: string;
      packageBuildDate: string;
      useBaseDomain: boolean;
      activeEnvironment: string;
      socketConnected: boolean;
    };
    preview: {
      editMode: boolean;
      highlightMode: import('../..').HighlightMode;
      showToolsPanel: boolean;
      toolsPanelPageStack: import('../..').WidgetDescriptor[];
      toolsPanelWidth: number;
      icePanelWidth: number;
      icePanelStack: import('../..').WidgetDescriptor[];
      hostSize: import('../..').WidthAndHeight;
      guest: import('../..').GuestData;
      assets: import('../..').PagedEntityState<import('../..').MediaItem>;
      audiencesPanel: {
        isFetching: boolean;
        isApplying: boolean;
        error: import('../..').ApiResponse;
        model: import('../..').ContentInstance;
        applied: boolean;
      };
      components: import('../..').PagedEntityState<import('../..').ContentInstance>;
      dropTargets: {
        selectedContentType: string;
        byId: import('../..').LookupTable<import('../..').ContentTypeDropTarget>;
      };
      toolsPanel: {
        widgets: import('../..').WidgetDescriptor[];
      };
      toolbar: {
        leftSection: {
          widgets: import('../..').WidgetDescriptor[];
        };
        middleSection: {
          widgets: import('../..').WidgetDescriptor[];
        };
        rightSection: {
          widgets: import('../..').WidgetDescriptor[];
        };
      };
      icePanel: {
        widgets: import('../..').WidgetDescriptor[];
      };
      richTextEditor: import('../..').LookupTable;
      editModePadding: boolean;
      windowSize: number;
      xbDetectionTimeoutMs: number;
      error: {
        code: number;
        message: string;
      };
    };
    previewNavigation: {
      currentUrlPath: string;
      historyBackStack: string[];
      historyForwardStack: string[];
      historyNavigationType: 'back' | 'forward';
    };
    contentTypes: import('../..').EntityState<import('../..').ContentType>;
    dialogs:
      | {
          confirm: import('../..').ConfirmDialogStateProps;
          error: import('../..').ErrorDialogStateProps;
          newContent: import('../../components/NewContentDialog/utils').NewContentDialogStateProps;
          minimizedTabs: import('../..').MinimizedDialogsStateProps;
          history: import('../../components/HistoryDialog/utils').HistoryDialogStateProps;
          viewVersion: import('../../components/ViewVersionDialog/utils').ViewVersionDialogStateProps;
          compareVersions: import('../..').CompareVersionsDialogStateProps;
          publish: import('../..').PublishDialogStateProps;
          dependencies: import('../..').DependenciesDialogStateProps;
          delete: import('../..').DeleteDialogStateProps;
          edit: import('../../components/LegacyFormDialog/utils').LegacyFormDialogStateProps;
          codeEditor: import('../..').CodeEditorDialogStateProps;
          workflowCancellation: import('../../components/WorkflowCancellationDialog/utils').WorkflowCancellationDialogStateProps;
          reject: import('../../components/RejectDialog/utils').RejectDialogStateProps;
          editSite: import('../../components/EditSiteDialog/utils').EditSiteDialogStateProps;
          createFolder: import('../..').CreateFolderStateProps;
          createFile: import('../..').CreateFileStateProps;
          renameAsset: import('../..').RenameAssetStateProps;
          copy: import('../..').CopyDialogStateProps;
          upload: import('../../components/UploadDialog/util').UploadDialogStateProps;
          singleFileUpload: import('../..').SingleFileUploadDialogStateProps;
          preview: import('../..').PreviewDialogStateProps;
          pathSelection: import('../..').PathSelectionDialogStateProps;
          changeContentType: import('../..').ChangeContentTypeDialogStateProps;
          itemMenu: import('../..').ItemMenuStateProps;
          itemMegaMenu: import('../..').ItemMegaMenuStateProps;
          launcher: import('../..').LauncherStateProps;
          publishingStatus: import('../..').PublishingStatusDialogStateProps;
          unlockPublisher: import('../..').UnlockPublisherDialogStateProps;
          widget: import('../../components/WidgetDialog/utils').WidgetDialogStateProps;
          uiBlocker: import('../..').UIBlockerStateProps;
          brokenReferences: import('../../components/BrokenReferencesDialog/types').BrokenReferencesDialogStateProps;
          folderMoveAlert: import('../../components/FolderMoveAlert/FolderMoveAlertDialog').FolderMoveAlertDialogStateProps;
        }
      | Partial<{
          confirm: import('../..').ConfirmDialogStateProps;
          error: import('../..').ErrorDialogStateProps;
          newContent: import('../../components/NewContentDialog/utils').NewContentDialogStateProps;
          minimizedTabs: import('../..').MinimizedDialogsStateProps;
          history: import('../../components/HistoryDialog/utils').HistoryDialogStateProps;
          viewVersion: import('../../components/ViewVersionDialog/utils').ViewVersionDialogStateProps;
          compareVersions: import('../..').CompareVersionsDialogStateProps;
          publish: import('../..').PublishDialogStateProps;
          dependencies: import('../..').DependenciesDialogStateProps;
          delete: import('../..').DeleteDialogStateProps;
          edit: import('../../components/LegacyFormDialog/utils').LegacyFormDialogStateProps;
          codeEditor: import('../..').CodeEditorDialogStateProps;
          workflowCancellation: import('../../components/WorkflowCancellationDialog/utils').WorkflowCancellationDialogStateProps;
          reject: import('../../components/RejectDialog/utils').RejectDialogStateProps;
          editSite: import('../../components/EditSiteDialog/utils').EditSiteDialogStateProps;
          createFolder: import('../..').CreateFolderStateProps;
          createFile: import('../..').CreateFileStateProps;
          renameAsset: import('../..').RenameAssetStateProps;
          copy: import('../..').CopyDialogStateProps;
          upload: import('../../components/UploadDialog/util').UploadDialogStateProps;
          singleFileUpload: import('../..').SingleFileUploadDialogStateProps;
          preview: import('../..').PreviewDialogStateProps;
          pathSelection: import('../..').PathSelectionDialogStateProps;
          changeContentType: import('../..').ChangeContentTypeDialogStateProps;
          itemMenu: import('../..').ItemMenuStateProps;
          itemMegaMenu: import('../..').ItemMegaMenuStateProps;
          launcher: import('../..').LauncherStateProps;
          publishingStatus: import('../..').PublishingStatusDialogStateProps;
          unlockPublisher: import('../..').UnlockPublisherDialogStateProps;
          widget: import('../../components/WidgetDialog/utils').WidgetDialogStateProps;
          uiBlocker: import('../..').UIBlockerStateProps;
          brokenReferences: import('../../components/BrokenReferencesDialog/types').BrokenReferencesDialogStateProps;
          folderMoveAlert: import('../../components/FolderMoveAlert/FolderMoveAlertDialog').FolderMoveAlertDialogStateProps;
        }>;
    versions: import('../..').VersionsStateProps;
    content: {
      quickCreate: {
        error: import('../..').ApiResponse;
        isFetching: boolean;
        items: import('../../models/content/QuickCreateItem').default[];
      };
      itemsByPath: import('../..').LookupTable<import('../..').DetailedItem>;
      clipboard: import('../..').Clipboard;
      itemsBeingFetchedByPath: import('../..').LookupTable<boolean>;
    };
    pathNavigator: import('../..').LookupTable<import('../..').PathNavigatorStateProps>;
    pathNavigatorTree: import('../..').LookupTable<import('../..').PathNavigatorTreeStateProps>;
    uiConfig: {
      error: import('../..').ApiResponse;
      isFetching: boolean;
      currentSite: string;
      siteLocales: {
        error: import('../..').ApiResponse;
        isFetching: boolean;
        localeCodes: string[];
        defaultLocaleCode: string;
      };
      upload: {
        timeout: number;
        maxActiveUploads: number;
        maxSimultaneousUploads: number;
      };
      locale: {
        localeCode: string;
        dateTimeFormatOptions: Intl.DateTimeFormatOptions;
      };
      publishing: {
        publishCommentRequired: boolean;
        deleteCommentRequired: boolean;
        bulkPublishCommentRequired: boolean;
        publishByCommitCommentRequired: boolean;
        publishEverythingCommentRequired: boolean;
        submissionCommentMaxLength: number;
      };
      cdataEscapedFieldPatterns: string[];
      references: import('../..').LookupTable;
      xml: string;
      remoteGitBranch: string;
    };
    dashboard: {
      widgets?: import('../..').WidgetDescriptor[];
      mainSection?: {
        widgets: import('../..').WidgetDescriptor[];
      };
    };
    globalNavigation: {
      error: import('rxjs/ajax').AjaxError;
      items: {
        icon: import('../..').SystemIconDescriptor;
        id: string;
        label: string;
      }[];
      isFetching: boolean;
    };
  }>
>;
export default reducer;
