import * as Types from './types'; import * as Matrix from './matrix'; import * as Point from './point'; import { PointRange } from './point-range'; import { Selection } from './selection'; export { createEmpty as createEmptyMatrix } from './matrix'; export declare const PLAIN_TEXT_MIME = "text/plain"; export declare const FOCUS_WITHIN_SELECTOR = ":focus-within"; /** Move the cursor of given input element to the input's end */ export declare function moveCursorToEnd(el: HTMLInputElement | HTMLTextAreaElement): void; /** * Creates an array of numbers (positive and/or negative) progressing from start up to, but not including, end. A step of -1 is used if a negative start is specified without an end or step. If end is not specified, it's set to start with start then set to 0. * @param end - an integer number specifying at which position to stop (not included). * @param start - An integer number specifying at which position to start. * @param step - An integer number specifying the Increment */ export declare function range(end: number, start?: number, step?: number): number[]; /** Return whether given point is active */ export declare function isActive(active: Types.StoreState['active'], point: Point.Point): boolean; /** Get the offset values of given element */ export declare function getOffsetRect(element: HTMLElement): Types.Dimensions; /** Write given data to clipboard with given event */ export declare function writeTextToClipboard(event: ClipboardEvent, data: string): void; /** Read text from given clipboard event */ export declare function readTextFromClipboard(event: ClipboardEvent): string; export declare function insertColumnDimension(columns: Types.columnDimensions, insertIndex: number, newWidth: number): Types.columnDimensions; export declare function insertRowDimension(rows: Types.rowDimensions, insertIndex: number, newHeight: number): Types.rowDimensions; export declare function deleteRowDimension(rows: Types.rowDimensions, deleteIndex: number): Types.rowDimensions; export declare function deleteColumnDimension(columns: Types.columnDimensions, deleteIndex: number): Types.columnDimensions; /** Get the dimensions of cell at point from state */ export declare function getCellDimensions(point: Point.Point, rowDimensions: Types.StoreState['rowDimensions'] | undefined, columnDimensions: Types.StoreState['columnDimensions'] | undefined): Types.Dimensions | undefined; /** Get the dimensions of customized cell at point from state */ export declare function getScrollCellDimensions(point: Point.Point, rowDimensions: Types.StoreState['rowDimensions'] | undefined, columnDimensions: Types.StoreState['columnDimensions'] | undefined): Types.Dimensions | undefined; /** Get the dimensions of a range of cells */ export declare function getRangeDimensions(rowDimensions: Types.StoreState['rowDimensions'], columnDimensions: Types.StoreState['columnDimensions'], range: PointRange): Types.Dimensions | undefined; /** Get the dimensions of selected */ export declare function getSelectedDimensions(rowDimensions: Types.StoreState['rowDimensions'], columnDimensions: Types.StoreState['columnDimensions'], data: Matrix.Matrix, selected: Selection): Types.Dimensions | undefined; /** Get given data as CSV */ export declare function getCSV(data: Matrix.Matrix): string; /** * Calculate the rows and columns counts of a spreadsheet * @param data - the spreadsheet's data * @param rowLabels - the spreadsheet's row labels (if defined) * @param columnLabels - the spreadsheet's column labels (if defined) * @returns the rows and columns counts of a spreadsheet */ export declare function calculateSpreadsheetSize(data: Matrix.Matrix, rowLabels?: string[], columnLabels?: string[]): Matrix.Size; /** Should spreadsheet handle clipboard event */ export declare function shouldHandleClipboardEvent(root: Element | null, mode: Types.Mode): boolean; export declare function isFocusedWithin(element: Element): boolean; export declare function hasLineBreaker(value: unknown): boolean; export declare const convertPtToPx: (pt: number) => string; export declare const convertPxToPt: (px: string) => number; export declare const EmptyCell: Types.CellBase; export declare const fontFamilyList: { label: string; value: string; }[]; export declare const fontSizeList: number[]; export declare const isPasteAllowed: (currentCell: Types.CellBase | null) => boolean; export declare function getMatrixDimensions(matrixData: [[]]): { rowCount: 1; columnCount: 0; }; export declare function getVisibleRangeDimensions(fullRange: Types.FullRange | null, visibleRange: Types.VisibleRange, rowDimensions: Types.StoreState['rowDimensions'], columnDimensions: Types.StoreState['columnDimensions']): Types.Dimensions | undefined;