import { type Identifier, type ObjRef, type Uri } 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";
/**
 * @alpha
 */
export interface IInvalidCustomUrlDrillParameterInfo {
    widgetId: Identifier;
    widgetUri: Uri;
    widgetRef: ObjRef;
    drillsWithInvalidParametersLocalIds: string[];
    showMessage: boolean;
}
/**
 * @beta
 */
export type FilterViewDialogMode = "list" | "add";
/**
 * @beta
 */
export interface IUiState {
    scheduleEmailManagementDialog: {
        open: boolean;
        context?: IScheduleEmailContext;
    };
    scheduleEmailDialog: {
        open: boolean;
        defaultAttachmentRef: ObjRef | undefined;
        returnFocusTo?: string;
        context?: IScheduleEmailContext;
    };
    alertsManagementDialog: {
        open: boolean;
        context?: IAlertDialogContext;
    };
    alertsDialog: {
        open: boolean;
        returnFocusTo?: string;
        context?: IAlertDialogContext;
    };
    automationsManagement: {
        invalidationId: number;
    };
    saveAsDialog: {
        open: boolean;
    };
    settingsDialog: {
        open: boolean;
    };
    densityDialog: {
        open: boolean;
    };
    density: DashboardDensity;
    shareDialog: {
        open: boolean;
    };
    deleteDialog: {
        open: boolean;
    };
    widgetDeleteDialog: {
        open: boolean;
        widgetRef: ObjRef | undefined;
    };
    filterViews: {
        open: boolean;
        mode: FilterViewDialogMode;
    };
    kpiDeleteDialog: {
        /**
         * Undefined means the dialog should be closed
         */
        widgetCoordinates: ILayoutItemPath | undefined;
    };
    cancelEditModeDialog: {
        open: boolean;
    };
    filterBar: {
        expanded: boolean;
    };
    kpiAlerts: {
        openedWidgetRef: ObjRef | undefined;
        highlightedWidgetRef: ObjRef | undefined;
    };
    menuButton: {
        itemsVisibility: IMenuButtonItemsVisibility;
    };
    selectedWidgetRef: ObjRef | undefined;
    configurationPanelOpened: boolean;
    widgetDateDatasetAutoSelect: boolean;
    insightListLastUpdateRequested: number;
    widgetsLoadingAdditionalData: ObjRef[];
    filterAttributeSelectionOpen: boolean;
    selectedFilterIndex: number | undefined;
    activeSection: ILayoutSectionPath | undefined;
    ignoreExecutionTimestamp: boolean;
    filterValidationMessages: {
        incompatibleDefaultFiltersOverride: boolean;
    };
    /** @alpha */
    drillValidationMessages: {
        invalidDrillWidgetRefs: ObjRef[];
        sanitizedDrillWidgetRefs: ObjRef[];
        invalidCustomUrlDrillParameterWidgets: IInvalidCustomUrlDrillParameterInfo[];
    };
    /** @internal */
    draggingWidgetSource: DraggableLayoutItem | undefined;
    draggingWidgetTarget: ILayoutItemPath | undefined;
    /** @internal */
    draggingWidgetTriggeringDropZoneType: DropZoneType | undefined;
    widgetsOverlay: Record<string, IDashboardWidgetOverlay>;
}
export declare const uiInitialState: IUiState;
//# sourceMappingURL=uiState.d.ts.map