/** @packageDocumentation
 * @module State
 */
import type { ActionsUnion } from "../redux/redux-ts";
/** Action Ids used by Redux and to send sync UI components. Typically used to refresh visibility or enable state of control.
 *  Since these are also used as sync ids they should be in lowercase.
 * @public
 */
export declare enum ConfigurableUiActionId {
    SetSnapMode = "configurableui:set_snapmode",
    SetTheme = "configurableui:set_theme",
    SetToolPrompt = "configurableui:set_toolprompt",
    SetWidgetOpacity = "configurableui:set_widget_opacity",
    SetDragInteraction = "configurableui:set-drag-interaction",
    SetShowWidgetIcon = "configurableui:set-show-widget-icon",
    AutoCollapseUnpinnedPanels = "configurableui:set-auto-collapse-unpinned-panels",
    SetViewOverlayDisplay = "configurableui:set-view-overlay-display",
    AnimateToolSettings = "configurableui:set-animate-tool-settings",
    UseToolAsToolSettingsLabel = "configurableui:set-use-tool-as-tool-settings-label",
    SetToolbarOpacity = "configurableui:set-toolbar-opacity"
}
/** The portion of state managed by the ConfigurableUiReducer.
 * @public
 */
export interface ConfigurableUiState {
    snapMode: number;
    toolPrompt: string;
    theme: string;
    widgetOpacity: number;
    useDragInteraction: boolean;
    showWidgetIcon: boolean;
    autoCollapseUnpinnedPanels: boolean;
    viewOverlayDisplay: boolean;
    animateToolSettings: boolean;
    useToolAsToolSettingsLabel: boolean;
    toolbarOpacity: number;
}
/** An object with a function that creates each ConfigurableUiReducer that can be handled by our reducer.
 * @public
 */
export declare const ConfigurableUiActions: {
    setSnapMode: (snapMode: number) => import("../redux/redux-ts").ActionWithPayload<ConfigurableUiActionId.SetSnapMode, number>;
    setTheme: (theme: string) => import("../redux/redux-ts").ActionWithPayload<ConfigurableUiActionId.SetTheme, string>;
    setToolPrompt: (toolPrompt: string) => import("../redux/redux-ts").ActionWithPayload<ConfigurableUiActionId.SetToolPrompt, string>;
    setWidgetOpacity: (opacity: number) => import("../redux/redux-ts").ActionWithPayload<ConfigurableUiActionId.SetWidgetOpacity, number>;
    setDragInteraction: (dragInteraction: boolean) => import("../redux/redux-ts").ActionWithPayload<ConfigurableUiActionId.SetDragInteraction, boolean>;
    setShowWidgetIcon: (showWidgetIcon: boolean) => import("../redux/redux-ts").ActionWithPayload<ConfigurableUiActionId.SetShowWidgetIcon, boolean>;
    setAutoCollapseUnpinnedPanels: (autoCollapse: boolean) => import("../redux/redux-ts").ActionWithPayload<ConfigurableUiActionId.AutoCollapseUnpinnedPanels, boolean>;
    setViewOverlayDisplay: (displayViewOverlay: boolean) => import("../redux/redux-ts").ActionWithPayload<ConfigurableUiActionId.SetViewOverlayDisplay, boolean>;
    setAnimateToolSettings: (animateToolSettings: boolean) => import("../redux/redux-ts").ActionWithPayload<ConfigurableUiActionId.AnimateToolSettings, boolean>;
    setUseToolAsToolSettingsLabel: (useToolAsToolSettingsLabel: boolean) => import("../redux/redux-ts").ActionWithPayload<ConfigurableUiActionId.UseToolAsToolSettingsLabel, boolean>;
    setToolbarOpacity: (opacity: number) => import("../redux/redux-ts").ActionWithPayload<ConfigurableUiActionId.SetToolbarOpacity, number>;
};
/** Union of ConfigurableUi Redux actions
 * @public
 */
export type ConfigurableUiActionsUnion = ActionsUnion<typeof ConfigurableUiActions>;
/** Handles actions to update ConfigurableUiState.
 * @public
 */
export declare function ConfigurableUiReducer(state: ConfigurableUiState | undefined, action: ConfigurableUiActionsUnion): ConfigurableUiState;
//# sourceMappingURL=state.d.ts.map