import { type ObjRef } from "@gooddata/sdk-model";
import { type DraggableLayoutItem } from "../../../presentation/dragAndDrop/types.js";
import { type DashboardDensity, type DropZoneType, type IAlertDialogContext, type ILayoutCoordinates, type ILayoutItemPath, type ILayoutSectionPath, type IMenuButtonItemsVisibility, type IScheduleEmailContext } from "../../../types.js";
import { type IDashboardWidgetOverlay } from "../../types/commonTypes.js";
import { type DashboardSelector, type DashboardState } from "../types.js";
import { type FilterViewDialogMode } from "./uiState.js";
/**
 * @alpha
 */
export declare const selectIsScheduleEmailDialogOpen: DashboardSelector<boolean>;
/**
 * @alpha
 */
export declare const selectIsScheduleEmailDialogContext: DashboardSelector<IScheduleEmailContext>;
/**
 * @alpha
 */
export declare const selectScheduleEmailDialogDefaultAttachment: DashboardSelector<ObjRef | undefined>;
/**
 * @internal
 */
export declare const selectScheduleEmailDialogReturnFocusTo: DashboardSelector<string | undefined>;
/**
 * @alpha
 */
export declare const selectIsScheduleEmailManagementDialogOpen: DashboardSelector<boolean>;
/**
 * @alpha
 */
export declare const selectIsScheduleEmailManagementDialogContext: DashboardSelector<IScheduleEmailContext>;
/**
 * @alpha
 */
export declare const selectIsAlertingManagementDialogContext: DashboardSelector<IAlertDialogContext>;
/**
 * @alpha
 */
export declare const selectIsAlertingDialogOpen: DashboardSelector<boolean>;
/**
 * @alpha
 */
export declare const selectAlertingDialogContext: DashboardSelector<IAlertDialogContext>;
/**
 * @internal
 */
export declare const selectAlertingDialogReturnFocusTo: DashboardSelector<string | undefined>;
/**
 * @alpha
 */
export declare const selectIsAlertsManagementDialogOpen: DashboardSelector<boolean>;
/**
 * @alpha
 */
export declare const selectIsSaveAsDialogOpen: DashboardSelector<boolean>;
/**
 * @alpha
 */
export declare const selectIsShareDialogOpen: DashboardSelector<boolean>;
/**
 * @alpha
 */
export declare const selectIsSettingsDialogOpen: DashboardSelector<boolean>;
/**
 * @alpha
 */
export declare const selectIsDensityDialogOpen: DashboardSelector<boolean>;
/**
 * Returns the current dashboard density setting.
 *
 * @remarks
 * The value reflects either the theme-enforced density or the user's local preference.
 * Defaults to "comfortable".
 *
 * @alpha
 */
export declare const selectDashboardDensity: DashboardSelector<DashboardDensity>;
/**
 * @internal
 */
export declare const selectIsDeleteDialogOpen: DashboardSelector<boolean>;
/**
 * @internal
 */
export declare const selectIsWidgetDeleteDialogOpen: DashboardSelector<boolean>;
/**
 * @internal
 */
export declare const selectWidgetDeleteDialogWidgetRef: DashboardSelector<ObjRef | undefined>;
/**
 * @internal
 */
export declare const selectIsKpiDeleteDialogOpen: DashboardSelector<boolean>;
/**
 * @internal
 */
export declare const selectIsCancelEditModeDialogOpen: DashboardSelector<boolean>;
/**
 * @internal
 */
export declare const selectKpiDeleteDialogWidgetLayoutPath: DashboardSelector<ILayoutItemPath | undefined>;
/**
 * @internal
 *
 * @deprecated The selector returns coordinates in its parent layout. The information is not useful on its
 *  own when dashboard uses nested layout. For this case use {@link selectKpiDeleteDialogWidgetLayoutPath} instead.
 *
 *  TODO LX-648: remove this selector, exported only for backward compatible reasons.
 */
export declare const selectKpiDeleteDialogWidgetCoordinates: DashboardSelector<ILayoutCoordinates | undefined>;
/**
 * @alpha
 */
export declare const selectFilterBarExpanded: DashboardSelector<boolean>;
/**
 * @alpha
 */
export declare const selectIsKpiAlertOpenedByWidgetRef: (ref: ObjRef | undefined) => (state: DashboardState) => boolean;
/**
 * @alpha
 */
export declare const selectIsKpiAlertHighlightedByWidgetRef: (ref: ObjRef | undefined) => (state: DashboardState) => boolean;
/**
 * @alpha
 */
export declare const selectMenuButtonItemsVisibility: DashboardSelector<IMenuButtonItemsVisibility>;
/**
 * @internal
 *
 * This selector provides selected widget on dashboard. It DOES NOT provide selected widget inside of selected visualization switcher.
 */
export declare const selectSelectedWidgetRef: DashboardSelector<ObjRef | undefined>;
/**
 * @internal
 */
export declare const selectConfigurationPanelOpened: DashboardSelector<boolean>;
/**
 * @internal
 */
export declare const selectWidgetDateDatasetAutoSelect: DashboardSelector<boolean>;
/**
 * @internal
 */
export declare const selectInsightListLastUpdateRequested: DashboardSelector<number>;
/**
 * @internal
 */
export declare const selectIsWidgetLoadingAdditionalDataByWidgetRef: (refs: ObjRef) => DashboardSelector<boolean>;
/**
 * @alpha
 */
export declare const selectIsFilterAttributeSelectionOpen: DashboardSelector<boolean>;
/**
 * @alpha
 */
export declare const selectSelectedFilterIndex: DashboardSelector<number | undefined>;
/**
 * @internal
 */
export declare const selectIsDraggingWidget: DashboardSelector<boolean>;
/**
 * The selector returns index of active section.
 *
 * @internal
 * @deprecated The selector returns index in its parent section layout. The information is not useful on its
 *  own when dashboard uses nested layout. For this case use {@link selectActiveSection} instead.
 *
 *  TODO LX-648: remove this selector, exported only for backward compatible reasons.
 */
export declare const selectActiveSectionIndex: DashboardSelector<number | undefined>;
/**
 * The selector returns layout path of active section.
 *
 * @internal
 */
export declare const selectActiveSection: DashboardSelector<ILayoutSectionPath | undefined>;
/**
 * @internal
 */
export declare const selectInvalidDrillWidgetRefs: DashboardSelector<ObjRef[]>;
/**
 * @internal
 */
export declare const selectSanitizedDrillWidgetRefs: DashboardSelector<ObjRef[]>;
/**
 * @internal
 */
export declare const selectInvalidUrlDrillParameterWidgetRefs: DashboardSelector<ObjRef[]>;
/**
 * @internal
 */
export declare const selectInvalidUrlDrillParameterWidgetWarnings: DashboardSelector<ObjRef[]>;
/**
 * @internal
 */
export declare const selectInvalidUrlDrillParameterDrillLocalIdsByWidgetRef: (ref: ObjRef) => DashboardSelector<string[]>;
/**
 * @internal
 */
export declare const selectDraggingWidgetSource: DashboardSelector<DraggableLayoutItem | undefined>;
/**
 * @internal
 */
export declare const selectDraggingWidgetTargetLayoutPath: DashboardSelector<ILayoutItemPath | undefined>;
/**
 * @internal
 */
export declare const selectDraggingWidgetTriggeringDropZoneType: DashboardSelector<DropZoneType | undefined>;
/**
 * @internal
 *
 * @deprecated The selector returns coordinates in its parent section layout. The information is not useful on its
 *  own when dashboard uses nested layout. For this case use {@link selectDraggingWidgetTargetLayoutPath} instead.
 *
 *  TODO LX-648: remove this selector, exported only for backward compatible reasons.
 */
export declare const selectDraggingWidgetTarget: DashboardSelector<ILayoutCoordinates | undefined>;
/**
 * @internal
 */
export declare const selectWidgetsOverlay: DashboardSelector<Record<string, IDashboardWidgetOverlay>>;
/**
 * @internal
 */
export declare const selectWidgetsOverlayState: (refs: (ObjRef | undefined)[]) => DashboardSelector<boolean>;
/**
 * @internal
 */
export declare const selectWidgetsModification: (refs: (ObjRef | undefined)[]) => DashboardSelector<("insertedByPlugin" | "modifiedByPlugin")[]>;
/**
 * @internal
 */
export declare const selectSectionModification: (refs: (ObjRef | undefined)[]) => DashboardSelector<("insertedByPlugin" | "modifiedByPlugin")[]>;
/**
 * @internal
 */
export declare const selectIsSectionInsertedByPlugin: (refs: (ObjRef | undefined)[]) => DashboardSelector<boolean>;
/**
 * @internal
 */
export declare const selectIsFilterViewsDialogOpen: DashboardSelector<boolean>;
/**
 * @internal
 */
export declare const selectFilterViewsDialogMode: DashboardSelector<FilterViewDialogMode>;
/**
 * @internal
 */
export declare const selectIgnoreExecutionTimestamp: DashboardSelector<boolean>;
/**
 * @internal
 */
export declare const selectExecutionTimestamp: DashboardSelector<string | undefined>;
/**
 * @internal
 */
export declare const selectFilterValidationIncompatibleDefaultFiltersOverride: DashboardSelector<boolean>;
/**
 * Returns the invalidation ID for automations management.
 * When this value changes (and is not 0 or undefined), the Automations component should reload its data.
 *
 * @alpha
 */
export declare const selectAutomationsInvalidationId: DashboardSelector<number>;
//# sourceMappingURL=uiSelectors.d.ts.map