import { PointRange } from './point-range'; import * as Matrix from './matrix'; import * as Types from './types'; import * as Point from './point'; import { Selection, RangeSelection, EntireColumnsSelection, EntireRowsSelection } from './selection'; export declare function applyBoldToCells(currentData: Matrix.Matrix>, selectedRange: PointRange, editable: boolean): Matrix.Matrix>; export declare function applyItalicToCells(currentData: Matrix.Matrix>, selectedRange: PointRange, editable: boolean): Matrix.Matrix>; export declare function applyFontFamily(currentData: Matrix.Matrix>, selectedRange: PointRange, value: string, editable: boolean): Matrix.Matrix>; export declare function applyFontSize(currentData: Matrix.Matrix>, selectedRange: PointRange, value: string, editable: boolean): Matrix.Matrix>; export declare function applyBorderToCells(currentData: Matrix.Matrix>, selectedRange: PointRange, value: string, color: string, editable: boolean): Matrix.Matrix>; export declare function applyTextAlign(currentData: Matrix.Matrix>, selectedRange: PointRange, value: string, editable: boolean): Matrix.Matrix>; export declare function applyUnderlineToCells(currentData: Matrix.Matrix>, selectedRange: PointRange, editable: boolean): Matrix.Matrix>; export declare function isValidHexColor(color: string): boolean; export declare function applyColorToCells(currentData: Matrix.Matrix>, selectedRange: PointRange | null, color: string, editable: boolean): Matrix.Matrix>; export declare function applyBackgroundColorToCells(currentData: Matrix.Matrix>, selectedRange: PointRange | null, backgroundColor: string, editable: boolean): Matrix.Matrix>; export declare function applyFormatePainter(currentData: Matrix.Matrix>, activePoint: Point.Point | null): React.CSSProperties | undefined; export declare function cellFormatePainter(currentData: Matrix.Matrix>, formattedStyle: Types.formattedStyle, activePoint: Point.Point | null): Matrix.Matrix>; export declare function dragEndFormatePainter(currentData: Matrix.Matrix>, selectedRange: PointRange | null, formattedStyle: Types.formattedStyle): Matrix.Matrix>; export declare function dragEndAutoFill(currentData: Matrix.Matrix>, selectedRange: PointRange | null, cellValue: Types.CellBase, activeCell: Point.Point | null, control: boolean): Matrix.Matrix>; export declare function edit(state: Types.StoreState): Types.StoreState; export declare function clear(state: Types.StoreState): Types.StoreState; export declare function clearEditMode(state: Types.StoreState): Types.StoreState; export declare function enterFunctionality(state: Types.StoreState): Types.StoreState; export declare function blur(state: Types.StoreState): Types.StoreState; export declare function view(state: Types.StoreState): Types.StoreState; export declare function commit(changes: Types.CommitChanges): Partial; export declare const go: (rowDelta: number, columnDelta: number) => KeyDownHandler; export type KeyDownHandler = (state: Types.StoreState, event: React.KeyboardEvent) => Types.StoreState | void; export declare enum Direction { Left = "Left", Right = "Right", Top = "Top", Bottom = "Bottom" } export declare function getKeyDownHandler(state: Types.StoreState, event: React.KeyboardEvent): KeyDownHandler | undefined; /** Returns whether the reducer has a handler for the given keydown event */ export declare function hasKeyDownHandler(state: Types.StoreState, event: React.KeyboardEvent): boolean; /** Returns whether the active cell is read only */ export declare function isActiveReadOnly(state: Types.StoreState): boolean; /** Gets active cell from given state */ export declare function getActive(state: Types.StoreState): Types.CellBase | null; /** Modify given edge according to given active point and data */ export declare function modifyEdge(selection: T, active: Point.Point | null, data: Matrix.Matrix, direction: Direction): T; export declare function modifyRangeSelectionEdge(rangeSelection: RangeSelection, active: Point.Point, data: Matrix.Matrix, edge: Direction): RangeSelection; export declare function modifyEntireRowsSelection(selection: EntireRowsSelection, active: Point.Point, data: Matrix.Matrix, edge: Direction): EntireRowsSelection; export declare function modifyEntireColumnsSelection(selection: EntireColumnsSelection, active: Point.Point, data: Matrix.Matrix, edge: Direction): EntireColumnsSelection;