import { createAction } from "@reduxjs/toolkit";
/**
 * Export the empty store from here instead of store.ts, so that we don't drag the entire redux server-side
 * infrastructure into our built library.
 */
export const emptyStore = {
    windows: {},
    dragging: null,
    tabCollections: {},
    useDOMBasedMovement: true,
    closingTabs: null,
};
/**
 * Actions beginning with `windowTitleBar` represent actions received from the WindowTitleBar UI component. These
 * will generally affect the windowTitleBar slice of the store but may also interact with the main slice.
 *
 * Actions beginning with `main` represent actions received from other locations. These include the window service,
 * the docking system, FEA, windowStartup.ts. These will generally interact with the main slice of the store but
 * may interact with other slices when required.
 */
export const actions = {
    // actions that originate in the WindowTitleBar (i.e. through user actions)
    clone: createAction("windowTitleBar/clone"),
    close: createAction("windowTitleBar/close"),
    closeTab: createAction("windowTitleBar/closeTab"),
    disableDOMBasedMovement: createAction("windowTitleBar/disableDOMBasedMovement"),
    setMaximize: createAction("windowTitleBar/maximize"),
    minimize: createAction("windowTitleBar/minimize"),
    promoteTab: createAction("windowTitleBar/promoteTab"),
    register: createAction("windowTitleBar/register"),
    removeFromTabCollection: createAction("windowTitleBar/removeFromTabCollection"),
    scroll: createAction("windowTitleBar/scrollTabCollection"),
    setAlwaysOnTop: createAction("windowTitleBar/setAlwaysOnTop"),
    setGrouped: createAction("windowTitleBar/setGrouped"),
    setUserDefinedTitle: createAction("windowTitleBar/setUserDefinedTitle"),
    setDraggingStatus: createAction("windowTitlebar/setDraggingStatus"),
    stopDragging: createAction("windowTitlebar/stopDragging"),
    shiftPromotedTab: createAction("windowTitleBar/shiftPromotedTab"),
    // closing tabs
    setClosingTabStatus: createAction("windowTitleBar/setClosingTabStatus"),
    removeClosingTabs: createAction("windowTitleBar/removeClosingTabs"),
    //api specific Actions
    createTabCollection: createAction("api/createTabCollection"),
    addTabsToTabCollection: createAction("api/addTabsToTabCollection"),
    removeTabsFromTabCollection: createAction("api/removeTabsFromTabCollection"),
    //Finsemble UX specific Actions
    showScrim: createAction("ux/showScrim"),
    hideScrim: createAction("ux/hideScrim"),
    setScrimSafetyTimeout: createAction("ux/setScrimSafetyTimeout"),
    // actions that don't come from the WindowTitleBar.
    addLaunchData: createAction("main/addLaunchData"),
    dockingOperation: createAction("main/dockingOperation"),
    loadWorkspace: createAction("main/loadWorkspace"),
    setEmulatedMaximization: createAction("main/setEmulatedMaximization"),
    enableDND: createAction("main/enableDND"),
    loadUserDefinedTitle: createAction("main/loadUserDefinedTitle"),
    saveSpawnTabTitleToWorkspace: createAction("main/saveSpawnTabTitleToWorkspace"),
    setDocumentTitle: createAction("main/updatedDocumentTitle"),
    setAPITitle: createAction("main/updatedAPITitle"),
    updateGroupedWindows: createAction("main/updateGroupedWindows"),
    windowEvent: createAction("main/windowEvent"),
    updateMaximizedBounds: createAction("main/updateMaximizedBounds"),
    workspaceClosing: createAction("main/workspaceClosing"),
    setTabCollectionForEvergreen: createAction("main/setTabCollectionForEvergreen"),
    updateEvergreenAfterWorkspaceLoading: createAction("main/updateEvergreenAfterWorkspaceLoading"),
    createDefaultWindowTitleBar: createAction("main/createDefaultWindowTitleBar"),
};
//# sourceMappingURL=actions.js.map