import { type Action, type AnyAction, type CaseReducer } from "@reduxjs/toolkit";
import { type IDrillToCustomUrl, type IInsightWidget, type ObjRef } from "@gooddata/sdk-model";
import { type DraggableLayoutItem } from "../../../presentation/dragAndDrop/types.js";
import { type DashboardDensity, type DropZoneType, type IAlertDialogContext, type ILayoutItemPath, type ILayoutSectionPath, type IMenuButtonItemsVisibility, type IScheduleEmailContext } from "../../../types.js";
import { type IDashboardWidgetOverlay } from "../../types/commonTypes.js";
import { type FilterViewDialogMode, type IUiState } from "./uiState.js";
type UiReducer<A extends Action = AnyAction> = CaseReducer<IUiState, A>;
type ToggleWidgetsOverlay = {
    refs: (ObjRef | undefined)[];
    visible: boolean;
};
export declare const uiReducers: {
    openSettingsDialog: UiReducer<AnyAction>;
    closeSettingsDialog: UiReducer<AnyAction>;
    openDensityDialog: UiReducer<AnyAction>;
    closeDensityDialog: UiReducer<AnyAction>;
    setDensity: UiReducer<{
        payload: DashboardDensity;
        type: string;
    }>;
    openScheduleEmailDialog: UiReducer<{
        payload: IScheduleEmailContext & {
            openedFrom?: string | undefined;
        };
        type: string;
    }>;
    closeScheduleEmailDialog: UiReducer<AnyAction>;
    setScheduleEmailDialogDefaultAttachment: UiReducer<{
        payload: ObjRef;
        type: string;
    }>;
    resetScheduleEmailDialogDefaultAttachment: UiReducer<AnyAction>;
    openScheduleEmailManagementDialog: UiReducer<{
        payload: IScheduleEmailContext & {
            openedFrom?: string | undefined;
        };
        type: string;
    }>;
    closeScheduleEmailManagementDialog: UiReducer<AnyAction>;
    openAlertingManagementDialog: UiReducer<{
        payload: IAlertDialogContext & {
            openedFrom?: string | undefined;
        };
        type: string;
    }>;
    closeAlertingManagementDialog: UiReducer<AnyAction>;
    openAlertingDialog: UiReducer<{
        payload: IAlertDialogContext;
        type: string;
    }>;
    closeAlertingDialog: UiReducer<AnyAction>;
    openSaveAsDialog: UiReducer<AnyAction>;
    closeSaveAsDialog: UiReducer<AnyAction>;
    setFilterBarExpanded: UiReducer<{
        payload: boolean;
        type: string;
    }>;
    closeKpiAlertDialog: UiReducer<AnyAction>;
    openKpiAlertDialog: UiReducer<{
        payload: ObjRef;
        type: string;
    }>;
    highlightKpiAlert: UiReducer<{
        payload: ObjRef;
        type: string;
    }>;
    openShareDialog: UiReducer<AnyAction>;
    closeShareDialog: UiReducer<AnyAction>;
    openDeleteDialog: UiReducer<AnyAction>;
    closeDeleteDialog: UiReducer<AnyAction>;
    openKpiDeleteDialog: UiReducer<{
        payload: ILayoutItemPath;
        type: string;
    }>;
    closeKpiDeleteDialog: UiReducer<AnyAction>;
    setMenuButtonItemsVisibility: UiReducer<{
        payload: IMenuButtonItemsVisibility;
        type: string;
    }>;
    selectWidget: UiReducer<{
        payload: ObjRef;
        type: string;
    }>;
    clearWidgetSelection: UiReducer<AnyAction>;
    setConfigurationPanelOpened: UiReducer<{
        payload: boolean;
        type: string;
    }>;
    setWidgetDateDatasetAutoSelect: UiReducer<{
        payload: boolean;
        type: string;
    }>;
    requestInsightListUpdate: UiReducer<AnyAction>;
    setWidgetLoadingAdditionalDataStarted: UiReducer<{
        payload: ObjRef;
        type: string;
    }>;
    setWidgetLoadingAdditionalDataStopped: UiReducer<{
        payload: ObjRef;
        type: string;
    }>;
    setFilterAttributeSelectionOpen: UiReducer<{
        payload: boolean;
        type: string;
    }>;
    selectFilterIndex: UiReducer<{
        payload: number;
        type: string;
    }>;
    clearFilterIndexSelection: UiReducer<AnyAction>;
    setActiveSection: UiReducer<{
        payload: ILayoutSectionPath;
        type: string;
    }>;
    clearActiveSection: UiReducer<AnyAction>;
    openCancelEditModeDialog: UiReducer<AnyAction>;
    closeCancelEditModeDialog: UiReducer<AnyAction>;
    resetInvalidDrillWidgetRefs: UiReducer<AnyAction>;
    resetSanitizedDrillWidgetRefs: UiReducer<AnyAction>;
    resetAllInvalidCustomUrlDrillParameterWidgets: UiReducer<AnyAction>;
    resetAllInvalidCustomUrlDrillParameterWidgetsWarnings: UiReducer<AnyAction>;
    addInvalidDrillWidgetRefs: UiReducer<{
        payload: ObjRef[];
        type: string;
    }>;
    addSanitizedDrillWidgetRefs: UiReducer<{
        payload: ObjRef[];
        type: string;
    }>;
    setInvalidCustomUrlDrillParameterWidgets: UiReducer<{
        payload: {
            widget: IInsightWidget;
            invalidDrills: IDrillToCustomUrl[];
        }[];
        type: string;
    }>;
    removeInvalidDrillWidgetRefs: UiReducer<{
        payload: ObjRef[];
        type: string;
    }>;
    removeSanitizedDrillWidgetRefs: UiReducer<{
        payload: ObjRef[];
        type: string;
    }>;
    resetInvalidCustomUrlDrillParameterWidget: UiReducer<{
        payload: IInsightWidget[];
        type: string;
    }>;
    setDraggingWidgetSource: UiReducer<{
        payload: DraggableLayoutItem;
        type: string;
    }>;
    clearDraggingWidgetSource: UiReducer<{
        payload: void;
        type: string;
    }>;
    setDraggingWidgetTarget: UiReducer<{
        payload: {
            path: ILayoutItemPath;
            triggeringDropZoneType: DropZoneType;
        };
        type: string;
    }>;
    clearDraggingWidgetTarget: UiReducer<{
        payload: void;
        type: string;
    }>;
    toggleWidgetsOverlay: UiReducer<{
        payload: ToggleWidgetsOverlay;
        type: string;
    }>;
    setWidgetsOverlay: UiReducer<{
        payload: Record<string, IDashboardWidgetOverlay>;
        type: string;
    }>;
    hideAllWidgetsOverlay: UiReducer<AnyAction>;
    toggleFilterViewsDialog: UiReducer<{
        payload: {
            open?: boolean | undefined;
            mode?: FilterViewDialogMode | undefined;
        } | undefined;
        type: string;
    }>;
    openWidgetDeleteDialog: UiReducer<{
        payload: ObjRef;
        type: string;
    }>;
    closeWidgetDeleteDialog: UiReducer<AnyAction>;
    changeIgnoreExecutionTimestamp: UiReducer<{
        payload: boolean;
        type: string;
    }>;
    setIncompatibleDefaultFiltersOverrideMessage: UiReducer<AnyAction>;
    resetIncompatibleDefaultFiltersOverrideMessage: UiReducer<AnyAction>;
    invalidateAutomationItems: UiReducer<AnyAction>;
};
export {};
//# sourceMappingURL=uiReducers.d.ts.map