import * as Redux from 'redux';
import { CustomToolbar, DashboardButtonContext } from '../../AdaptableOptions/DashboardOptions';
import { AdaptableButton } from '../../AdaptableState/Common/AdaptableButton';
import { AdaptableDashboardToolbar, AdaptableModuleButtons } from '../../AdaptableState/Common/Types';
import { DashboardState, AdaptableCoordinate, DashboardTab } from '../../AdaptableState/DashboardState';
/**
 * @ReduxAction The Module Buttons have been set in the Dashboard
 */
export declare const DASHBOARD_SET_MODULE_BUTTONS = "DASHBOARD_SET_MODULE_BUTTONS";
/**
 * @ReduxAction Active tab has changed
 */
export declare const DASHBOARD_ACTIVE_TAB_INDEX_CHANGE = "DASHBOARD_ACTIVE_TAB_INDEX_CHANGE";
/**
 * @ReduxAction Collapsed Mode has changed
 */
export declare const DASHBOARD_SET_IS_COLLAPSED = "DASHBOARD_SET_IS_COLLAPSED";
/**
 * @ReduxAction Floating Mode has changed
 */
export declare const DASHBOARD_SET_IS_FLOATING = "DASHBOARD_SET_IS_FLOATING";
/**
 * @ReduxAction Inline Mode has changed
 */
export declare const DASHBOARD_SET_IS_INLINE = "DASHBOARD_SET_IS_INLINE";
/**
 * @ReduxAction Visibility has changed
 */
export declare const DASHBOARD_SET_IS_HIDDEN = "DASHBOARD_SET_IS_HIDDEN";
/**
 * @ReduxAction Floating position has changed
 */
export declare const DASHBOARD_SET_FLOATING_POSITION = "DASHBOARD_SET_FLOATING_POSITION";
/**
 * @ReduxAction New Dashboard Tabs have been set
 */
export declare const DASHBOARD_SET_TABS = "DASHBOARD_SET_TABS";
/**
 * @ReduxAction Set Pinned Toolbars Contents
 */
export declare const DASHBOARD_SET_PINNED_TOOLBARS = "DASHBOARD_SET_PINNED_TOOLBARS";
/**
 * @ReduxAction A Toolbar has been closed
 */
export declare const DASHBOARD_CLOSE_TOOLBAR = "DASHBOARD_CLOSE_TOOLBAR";
/**
 * @ReduxAction Dashboard Title has been set
 */
export declare const DASHBOARD_SET_TITLE = "DASHBOARD_SET_TITLE";
/**
 * @ReduxAction Dashboard is ready
 */
export declare const DASHBOARD_READY = "DASHBOARD_READY";
export interface DashboardShowToolbarAction extends Redux.Action {
    toolbar: AdaptableDashboardToolbar | string;
}
export interface DashboardHideToolbarAction extends Redux.Action {
    toolbar: AdaptableDashboardToolbar | string;
}
export interface DashboardMoveItemAction extends Redux.Action {
    toolbar: AdaptableDashboardToolbar;
    NewIndex: number;
}
export interface DashboardSetModuleButtonsAction extends Redux.Action {
    moduleButtons: AdaptableModuleButtons;
}
export interface DashboardSetActiveTabIndexAction extends Redux.Action {
    ActiveTabIndex: number | null;
}
export interface DashboardSetIsCollapsedAction extends Redux.Action {
    IsCollapsed: boolean;
}
export interface DashboardSetIsFloatingAction extends Redux.Action {
    IsFloating: boolean;
}
export interface DashboardSetIsHiddenAction extends Redux.Action {
    IsHidden: boolean;
}
export interface DashboardSetIsInlineAction extends Redux.Action {
    IsInline: boolean;
}
export interface DashboardSetFloatingPositionAction extends Redux.Action {
    FloatingPosition: AdaptableCoordinate;
}
export interface DashboardCloseToolbarAction extends Redux.Action {
    toolbar: AdaptableDashboardToolbar;
}
export interface DashboardSetTabsAction extends Redux.Action {
    Tabs: DashboardTab[];
}
export interface DashboardSetPinnedToolbarsAction extends Redux.Action {
    pinnedToolbars: DashboardState['PinnedToolbars'];
}
export interface DashboardSetCustomToolbarButtonVisibilityAction extends Redux.Action {
    toolbarButton: AdaptableButton<DashboardButtonContext>;
    customToolbar: CustomToolbar;
    visiblityAction: 'Show' | 'Hide';
}
export interface DashboardSetTitleAction extends Redux.Action {
    title: string;
}
export interface DashboardReadyAction extends Redux.Action {
    dashboardState: DashboardState;
}
export declare const DashboardSetModuleButtons: (moduleButtons: AdaptableModuleButtons) => DashboardSetModuleButtonsAction;
export declare const DashboardSetActiveTabIndex: (ActiveTabIndex: number | null) => DashboardSetActiveTabIndexAction;
export declare const DashboardSetIsCollapsed: (IsCollapsed: boolean) => DashboardSetIsCollapsedAction;
export declare const DashboardSetIsFloating: (IsFloating: boolean) => DashboardSetIsFloatingAction;
export declare const DashboardSetIsHidden: (IsHidden: boolean) => DashboardSetIsHiddenAction;
export declare const DashboardSetIsInline: (IsInline: boolean) => DashboardSetIsInlineAction;
export declare const DashboardSetFloatingPosition: (FloatingPosition: AdaptableCoordinate) => DashboardSetFloatingPositionAction;
export declare const DashboardSetTabs: (Tabs: DashboardTab[]) => DashboardSetTabsAction;
export declare const DashboardCloseToolbar: (toolbar: AdaptableDashboardToolbar) => DashboardCloseToolbarAction;
export declare const DashboardSetTitle: (title: string) => DashboardSetTitleAction;
export declare const DashboardReady: (dashboardState: DashboardState) => DashboardReadyAction;
export declare const DashboardSetPinnedToolbars: (pinnedToolbars: DashboardState['PinnedToolbars']) => {
    type: string;
    pinnedToolbars: string[] | import("../../AdaptableState/Common/Types").AdaptableDashboardToolbars;
};
export declare const DashboardReducer: Redux.Reducer<DashboardState>;
