import { StoreType, RectType, ZoneType, PointType, RangeType, PositionType, RawCellType, OperatorType, FilterConfig } from '../types'; import { Sheet } from '@gridsheet/core'; type StoreWithCallback = StoreType & { callback?: (store: StoreType) => void; }; export declare const reducer: (store: StoreType, action: { type: number; value: T; }) => StoreType; export declare class CoreAction { static head: number; private actionId; /** Whether this action mutates sheet data (triggers loading indicator). */ mutation: boolean; reduce(store: StoreType, payload: T): StoreWithCallback; call(payload: T): { type: number; value: T; }; bind(): (payload: T) => { type: number; value: T; }; } /** Returns true if the given action type is a mutation (heavy operation). */ export declare const isMutationAction: (type: number) => boolean; export declare const setSearchQuery: (payload: string | undefined) => { type: number; value: string | undefined; }; export declare const setSearchCaseSensitive: (payload: boolean) => { type: number; value: boolean; }; export declare const setSearchRegex: (payload: boolean) => { type: number; value: boolean; }; export declare const setSearchRange: (payload: ZoneType | undefined) => { type: number; value: ZoneType | undefined; }; export declare const setEditingAddress: (payload: string) => { type: number; value: string; }; export declare const setAutofillDraggingTo: (payload: PointType | null) => { type: number; value: PointType | null; }; export declare const submitAutofill: (payload: PointType) => { type: number; value: PointType; }; export declare const setContextMenuPosition: (payload: PositionType) => { type: number; value: PositionType; }; export declare const setResizingPositionY: (payload: [number, number, number]) => { type: number; value: [number, number, number]; }; export declare const setResizingPositionX: (payload: [number, number, number]) => { type: number; value: [number, number, number]; }; export declare const setEntering: (payload: boolean) => { type: number; value: boolean; }; export declare const updateSheet: (payload: Sheet) => { type: number; value: Sheet; }; export declare const setEditorRect: (payload: RectType) => { type: number; value: RectType; }; export declare const setDragging: (payload: boolean) => { type: number; value: boolean; }; export declare const blur: (payload: null) => { type: number; value: null; }; export declare const copy: (payload: ZoneType) => { type: number; value: ZoneType; }; export declare const cut: (payload: ZoneType) => { type: number; value: ZoneType; }; export declare const paste: (payload: { matrix: RawCellType[][]; onlyValue: boolean; }) => { type: number; value: { matrix: RawCellType[][]; onlyValue: boolean; }; }; export declare const escape: (payload: null) => { type: number; value: null; }; export declare const choose: (payload: PointType) => { type: number; value: PointType; }; export declare const select: (payload: ZoneType) => { type: number; value: ZoneType; }; export declare const selectRows: (payload: { range: RangeType; numCols: number; }) => { type: number; value: { range: RangeType; numCols: number; }; }; export declare const selectCols: (payload: { range: RangeType; numRows: number; }) => { type: number; value: { range: RangeType; numRows: number; }; }; export declare const drag: (payload: PointType) => { type: number; value: PointType; }; export declare const search: (payload: number) => { type: number; value: number; }; export declare const write: (payload: { value: string; point?: PointType; }) => { type: number; value: { value: string; point?: PointType; }; }; export declare const clear: (payload: null) => { type: number; value: null; }; export declare const undo: (payload: null) => { type: number; value: null; }; export declare const redo: (payload: null) => { type: number; value: null; }; export declare const arrow: (payload: { shiftKey: boolean; deltaY: number; deltaX: number; numRows: number; numCols: number; }) => { type: number; value: { shiftKey: boolean; deltaY: number; deltaX: number; numRows: number; numCols: number; }; }; export declare const walk: (payload: { deltaY: number; deltaX: number; numRows: number; numCols: number; }) => { type: number; value: { deltaY: number; deltaX: number; numRows: number; numCols: number; }; }; export declare const setInputting: (payload: string) => { type: number; value: string; }; export declare const insertRowsAbove: (payload: { numRows: number; y: number; operator?: OperatorType; }) => { type: number; value: { numRows: number; y: number; operator?: OperatorType; }; }; export declare const insertRowsBelow: (payload: { numRows: number; y: number; operator?: OperatorType; }) => { type: number; value: { numRows: number; y: number; operator?: OperatorType; }; }; export declare const insertColsLeft: (payload: { numCols: number; x: number; operator?: OperatorType; }) => { type: number; value: { numCols: number; x: number; operator?: OperatorType; }; }; export declare const insertColsRight: (payload: { numCols: number; x: number; operator?: OperatorType; }) => { type: number; value: { numCols: number; x: number; operator?: OperatorType; }; }; export declare const removeRows: (payload: { numRows: number; y: number; operator?: OperatorType; }) => { type: number; value: { numRows: number; y: number; operator?: OperatorType; }; }; export declare const removeCols: (payload: { numCols: number; x: number; operator?: OperatorType; }) => { type: number; value: { numCols: number; x: number; operator?: OperatorType; }; }; export declare const sortRows: (payload: { x: number; direction: "asc" | "desc"; }) => { type: number; value: { x: number; direction: "asc" | "desc"; }; }; export declare const filterRows: (payload: { x?: number; filter?: FilterConfig; }) => { type: number; value: { x?: number; filter?: FilterConfig; }; }; export declare const setColumnMenu: (payload: { x: number; position: { y: number; x: number; }; } | null) => { type: number; value: { x: number; position: { y: number; x: number; }; } | null; }; export declare const setRowMenu: (payload: { y: number; position: { y: number; x: number; }; } | null) => { type: number; value: { y: number; position: { y: number; x: number; }; } | null; }; export declare const setEditorHovering: (payload: boolean) => { type: number; value: boolean; }; export declare const setStore: (payload: Partial) => { type: number; value: Partial; }; export declare const userActions: { blur: (payload: null) => { type: number; value: null; }; copy: (payload: ZoneType) => { type: number; value: ZoneType; }; cut: (payload: ZoneType) => { type: number; value: ZoneType; }; paste: (payload: { matrix: RawCellType[][]; onlyValue: boolean; }) => { type: number; value: { matrix: RawCellType[][]; onlyValue: boolean; }; }; escape: (payload: null) => { type: number; value: null; }; choose: (payload: PointType) => { type: number; value: PointType; }; select: (payload: ZoneType) => { type: number; value: ZoneType; }; selectRows: (payload: { range: RangeType; numCols: number; }) => { type: number; value: { range: RangeType; numCols: number; }; }; selectCols: (payload: { range: RangeType; numRows: number; }) => { type: number; value: { range: RangeType; numRows: number; }; }; drag: (payload: PointType) => { type: number; value: PointType; }; search: (payload: number) => { type: number; value: number; }; write: (payload: { value: string; point?: PointType; }) => { type: number; value: { value: string; point?: PointType; }; }; clear: (payload: null) => { type: number; value: null; }; undo: (payload: null) => { type: number; value: null; }; redo: (payload: null) => { type: number; value: null; }; arrow: (payload: { shiftKey: boolean; deltaY: number; deltaX: number; numRows: number; numCols: number; }) => { type: number; value: { shiftKey: boolean; deltaY: number; deltaX: number; numRows: number; numCols: number; }; }; walk: (payload: { deltaY: number; deltaX: number; numRows: number; numCols: number; }) => { type: number; value: { deltaY: number; deltaX: number; numRows: number; numCols: number; }; }; insertRowsAbove: (payload: { numRows: number; y: number; operator?: OperatorType; }) => { type: number; value: { numRows: number; y: number; operator?: OperatorType; }; }; insertRowsBelow: (payload: { numRows: number; y: number; operator?: OperatorType; }) => { type: number; value: { numRows: number; y: number; operator?: OperatorType; }; }; insertColsLeft: (payload: { numCols: number; x: number; operator?: OperatorType; }) => { type: number; value: { numCols: number; x: number; operator?: OperatorType; }; }; insertColsRight: (payload: { numCols: number; x: number; operator?: OperatorType; }) => { type: number; value: { numCols: number; x: number; operator?: OperatorType; }; }; removeRows: (payload: { numRows: number; y: number; operator?: OperatorType; }) => { type: number; value: { numRows: number; y: number; operator?: OperatorType; }; }; removeCols: (payload: { numCols: number; x: number; operator?: OperatorType; }) => { type: number; value: { numCols: number; x: number; operator?: OperatorType; }; }; sortRows: (payload: { x: number; direction: "asc" | "desc"; }) => { type: number; value: { x: number; direction: "asc" | "desc"; }; }; filterRows: (payload: { x?: number; filter?: FilterConfig; }) => { type: number; value: { x?: number; filter?: FilterConfig; }; }; }; export {}; //# sourceMappingURL=actions.d.ts.map