import * as Redux from 'redux';
import { GridState } from '../../PredefinedConfig/GridState';
import { AdaptableColumn } from '../../PredefinedConfig/Common/AdaptableColumn';
import { SelectedCellInfo } from '../../PredefinedConfig/Selection/SelectedCellInfo';
import { SelectedRowInfo } from '../../PredefinedConfig/Selection/SelectedRowInfo';
import { AdaptableMenuItem } from '../../PredefinedConfig/Common/Menu';
import { CellDataChangedInfo } from '../../PredefinedConfig/Common/CellDataChangedInfo';
import { ColumnSort } from '../../PredefinedConfig/Common/ColumnSort';
import { Layout, CellSummmary, ColumnFilter, GridFilter } from '../../types';
import { IRowNode } from '@ag-grid-community/core';
/**
 * @ReduxAction Columns have been set in the Grid
 */
export declare const GRID_SET_COLUMNS = "GRID_SET_COLUMNS";
/**
 * @ReduxAction A Column has been added to the Grid
 */
export declare const GRID_ADD_COLUMN = "GRID_ADD_COLUMN";
/**
 * @ReduxAction Columns have been added to the Grid
 */
export declare const GRID_ADD_COLUMNS = "GRID_ADD_COLUMNS";
/**
 * @ReduxAction A Column has been removed from the Grid
 */
export declare const GRID_REMOVE_COLUMN = "GRID_REMOVE_COLUMN";
/**
 * @ReduxAction A Column has been edited in the Grid
 */
export declare const GRID_EDIT_COLUMN = "GRID_EDIT_COLUMN";
/**
 * @ReduxAction Sorting has been set in the Grid
 */
export declare const GRID_SET_SORT = "GRID_SET_SORT";
/**
 * @ReduxAction Sorting has been cleared in the Grid
 */
export declare const GRID_CLEAR_SORT = "GRID_CLEAR_SORT";
/**
 * @ReduxAction Cells have been selected in the Grid
 */
export declare const GRID_SET_SELECTED_CELLS = "GRID_SET_SELECTED_CELLS";
/**
 * @ReduxAction Rows have been selected in the Grid
 */
export declare const GRID_SET_SELECTED_ROWS = "GRID_SET_SELECTED_ROWS";
/**
 * @ReduxAction Cell Summary Information has been created
 */
export declare const GRID_CREATE_CELLS_SUMMARY = "GRID_CREATE_CELLS_SUMMARY";
/**
 * @ReduxAction Grid Cell summary is set
 */
export declare const GRID_SET_CELLS_SUMMARY = "GRID_SET_CELLS_SUMMARY";
/**
 * @ReduxAction Grid cells have been refreshed
 */
export declare const GRID_REFRESH_CELLS = "GRID_REFRESH_CELLS";
/**
 * @ReduxAction Module Dropdown menu items have been set
 */
export declare const GRID_SET_SETTINGS_PANEL_ITEMS = "GRID_SET_SETTINGS_PANEL_ITEMS";
/**
 * @ReduxAction Module Button menu items have been set
 */
export declare const GRID_SET_MENU_MODULE_ITEMS = "GRID_SET_MENU_MODULE_ITEMS";
/**
 * @ReduxAction Grid is put in pivot mode
 */
export declare const GRID_SET_PIVOT_MODE_ON = "GRID_SET_PIVOT_MODE_ON";
/**
 * @ReduxAction Grid is taken out of pivot mode
 */
export declare const GRID_SET_PIVOT_MODE_OFF = "GRID_SET_PIVOT_MODE_OFF";
/**
 * @ReduxAction Grid is put in tree mode
 */
export declare const GRID_SET_TREE_MODE_ON = "GRID_SET_TREE_MODE_ON";
/**
 * @ReduxAction Grid is taken out of tree mode
 */
export declare const GRID_SET_TREE_MODE_OFF = "GRID_SET_TREE_MODE_OFF";
export declare const LAYOUT_UPDATE_CURRENT_DRAFT = "LAYOUT_UPDATE_CURRENT_DRAFT";
export declare const LAYOUT_DRAFT_COLUMN_FILTER_ADD = "LAYOUT_DRAFT_COLUMN_FILTER_ADD";
export declare const LAYOUT_DRAFT_COLUMN_FILTER_EDIT = "LAYOUT_DRAFT_COLUMN_FILTER_EDIT";
export declare const LAYOUT_DRAFT_COLUMN_FILTER_SET = "LAYOUT_DRAFT_COLUMN_FILTER_SET";
export declare const LAYOUT_DRAFT_COLUMN_FILTER_CLEAR_ALL = "LAYOUT_DRAFT_COLUMN_FILTER_CLEAR_ALL";
export declare const LAYOUT_DRAFT_COLUMN_FILTER_CLEAR = "LAYOUT_DRAFT_COLUMN_FILTER_CLEAR";
export declare const LAYOUT_DRAFT_COLUMN_FILTER_SUSPEND = "LAYOUT_DRAFT_COLUMN_FILTER_SUSPEND";
export declare const LAYOUT_DRAFT_COLUMN_FILTER_SUSPEND_ALL = "LAYOUT_DRAFT_COLUMN_FILTER_SUSPEND_ALL";
export declare const LAYOUT_DRAFT_COLUMN_FILTER_UNSUSPEND = "LAYOUT_DRAFT_COLUMN_FILTER_UNSUSPEND";
export declare const LAYOUT_DRAFT_COLUMN_FILTER_UNSUSPEND_ALL = "LAYOUT_DRAFT_COLUMN_FILTER_UNSUSPEND_ALL";
export declare const LAYOUT_DRAFT_GRID_FILTER_SET = "LAYOUT_DRAFT_GRID_FILTER_SET";
export interface GridDataChangedAction extends Redux.Action {
    cellDataChangedInfo: CellDataChangedInfo;
}
export interface GridDataEditedAction extends Redux.Action {
    cellDataChangedInfo: CellDataChangedInfo;
}
export interface GridSetColumnsAction extends Redux.Action {
    columns: AdaptableColumn[];
}
export interface GridAddColumnAction extends Redux.Action {
    column: AdaptableColumn;
}
export interface GridAddColumnsAction extends Redux.Action {
    columns: AdaptableColumn[];
}
export interface GridRemoveColumnAction extends Redux.Action {
    column: AdaptableColumn;
}
export interface GridEditColumnAction extends Redux.Action {
    column: AdaptableColumn;
}
export interface GridSetValueLikeEditAction extends Redux.Action {
    cellDataChangedInfo: CellDataChangedInfo;
}
export interface GridSetValueLikeEditBatchAction extends Redux.Action {
    cellDataChangedInfoBatch: CellDataChangedInfo[];
}
export interface GridSelectColumnAction extends Redux.Action {
    columnId: string;
}
export interface GridSetSortAction extends Redux.Action {
    columnSorts: ColumnSort[];
}
export interface GridClearSortAction extends Redux.Action {
}
export interface GridSetAdaptableRestrictionsAction extends Redux.Action {
    adaptableRestrictions: string[];
}
export interface GridSetSelectedCellsAction extends Redux.Action {
    selectedCellInfo: SelectedCellInfo;
}
export interface GridSetSelectedRowsAction extends Redux.Action {
    selectedRowInfo: SelectedRowInfo;
}
export interface GridCreateCellSummaryAction extends Redux.Action {
}
export interface GridSetCellSummaryAction extends Redux.Action {
    cellSummary: CellSummmary;
}
export interface GridRefreshCellsAction extends Redux.Action {
    rowNodes: IRowNode[];
    columnIds: string[];
}
export interface SetSettingsPanelItemsAction extends Redux.Action {
    menuItems: AdaptableMenuItem[];
}
export interface SetMenuModuleItemsAction extends Redux.Action {
    menuItems: AdaptableMenuItem[];
}
export interface SetLiveReportRunningOnAction extends Redux.Action {
}
export interface SetLiveReportRunningOffAction extends Redux.Action {
}
export interface SetPivotModeOnAction extends Redux.Action {
}
export interface SetPivotModeOffAction extends Redux.Action {
}
export interface SetTreeModeOnAction extends Redux.Action {
}
export interface SetTreeModeOffAction extends Redux.Action {
}
export interface LayoutUpdateCurrentDraftAction extends Redux.Action {
    layout: Layout;
}
export interface LayoutDraftColumnFilterAddAction extends Redux.Action {
    columnFilter: ColumnFilter;
}
export interface LayoutDraftColumnFilterEditAction extends Redux.Action {
    columnFilter: ColumnFilter;
}
export interface LayoutDraftColumnFilterSetAction extends Redux.Action {
    columnFilter: ColumnFilter;
}
export interface LayoutDraftColumnFilterClearAction extends Redux.Action {
    columnFilter: ColumnFilter;
}
export interface LayoutDraftColumnFilterClearAllAction extends Redux.Action {
}
export interface LayoutDraftColumnFilterSuspendAction extends Redux.Action {
    columnFilter: ColumnFilter;
}
export interface LayoutDraftColumnFilterSuspendAllAction extends Redux.Action {
}
export interface LayoutDraftColumnFilterUnsuspendAction extends Redux.Action {
    columnFilter: ColumnFilter;
}
export interface LayoutDraftColumnFilterUnsuspendAllAction extends Redux.Action {
}
export interface LayoutDraftGridFilterAddAction extends Redux.Action {
    gridFilter: GridFilter;
}
export declare const GridSetColumns: (Columns: AdaptableColumn[]) => GridSetColumnsAction;
export declare const GridAddColumn: (Column: AdaptableColumn) => GridAddColumnAction;
export declare const GridAddColumns: (Columns: AdaptableColumn[]) => GridAddColumnsAction;
export declare const GridRemoveColumn: (Column: AdaptableColumn) => GridRemoveColumnAction;
export declare const GridEditColumn: (Column: AdaptableColumn) => GridEditColumnAction;
export declare const GridSetSort: (ColumnSorts: ColumnSort[]) => GridSetSortAction;
export declare const GridClearSort: () => GridClearSortAction;
export declare const GridSetSelectedCells: (SelectedCellInfo: SelectedCellInfo<any>) => GridSetSelectedCellsAction;
export declare const GridSetSelectedRows: (SelectedRowInfo: SelectedRowInfo<any>) => GridSetSelectedRowsAction;
export declare const GridCreateCellSummary: () => GridCreateCellSummaryAction;
export declare const GridSetCellSummary: (CellSummary: CellSummmary) => GridSetCellSummaryAction;
export declare const GridRefreshCells: (rowNodes: IRowNode[], columnIds: string[]) => GridRefreshCellsAction;
export declare const SetPivotModeOn: () => SetPivotModeOnAction;
export declare const SetPivotModeOff: () => SetPivotModeOffAction;
export declare const SetTreeModeOn: () => SetTreeModeOnAction;
export declare const SetTreeModeOff: () => SetTreeModeOffAction;
export declare const setSettingsPanelItems: (MenuItems: AdaptableMenuItem[]) => SetSettingsPanelItemsAction;
export declare const SetMenuModuleItems: (MenuItems: AdaptableMenuItem[]) => SetMenuModuleItemsAction;
export declare const LayoutUpdateCurrentDraft: (layout: Layout) => LayoutUpdateCurrentDraftAction;
export declare const LayoutDraftColumnFilterAdd: (columnFilter: ColumnFilter) => LayoutDraftColumnFilterAddAction;
export declare const LayoutDraftColumnFilterEdit: (columnFilter: ColumnFilter) => LayoutDraftColumnFilterEditAction;
export declare const LayoutDraftColumnFilterSet: (columnFilter: ColumnFilter) => LayoutDraftColumnFilterSetAction;
export declare const LayoutDraftColumnFilterClear: (columnFilter: ColumnFilter) => LayoutDraftColumnFilterClearAction;
export declare const LayoutDraftColumnFilterClearAll: () => LayoutDraftColumnFilterClearAllAction;
export declare const LayoutDraftColumnFilterSuspend: (columnFilter: ColumnFilter) => LayoutDraftColumnFilterSuspendAction;
export declare const LayoutDraftColumnFilterSuspendAll: () => LayoutDraftColumnFilterSuspendAllAction;
export declare const LayoutDraftColumnFilterUnsuspend: (columnFilter: ColumnFilter) => LayoutDraftColumnFilterUnsuspendAction;
export declare const LayoutDraftColumnFilterUnsuspendAll: () => LayoutDraftColumnFilterUnsuspendAllAction;
export declare const LayoutDraftGridFilterSet: (gridFilter: GridFilter) => LayoutDraftGridFilterAddAction;
export declare const GridReducer: Redux.Reducer<GridState>;
