///
///
import { IStoreState, IRow, ID } from './index.data';
import { getRow } from './store/selectors';
import { getRightCell as _getRightCell } from './store/selectors/cell';
import { getSelectedRow } from './store/selectors/row';
import * as R from 'rambda';
import { IRowWithCell } from './SpreadSheetProvider/index.data';
import { makeStoreState } from './SpreadSheetProvider/helper';
export { getFormattedValue } from './cellTypes/numeric/NumericRenderer';
export { getValue } from './utils';
export { getCellij } from './store/selectors/cell';
export { getColumnWithCellsByIndex, getColumn } from './store/selectors/column';
/**** 这里包含了所有对客户组件提供的helper方法 *****/
/**
* 如果有选择行或单元格, 并且是单选, 则找出其level=1的行 ( 顶级行 )
* A
* A1
* A2
* 则getTopRow(A2) => A
*/
export declare function getTopRow(state: IStoreState): IRow | null;
export declare const getRightCell: typeof _getRightCell;
export declare function getRowNoValue(state: IStoreState, rowId: ID, templates?: string[]): string;
export { getSelectedRow };
export declare function getNormalizedState(state: IStoreState, rowNoTemplates?: string[]): IStoreState;
/**
* @param state
* @param withNullPlacement 如果合并单元格造成的空单元格, 是否使用占位单元格?
* 例: cells:[{id:1,colspan:2}] => 可能扩展出 cells:[{id:1,colspan:2}, null]
*/
export declare function getRowsWithCells(state: IStoreState, withNullPlacement?: boolean): IRowWithCell[];
export { makeStoreState };
export declare const getRowById: typeof getRow;
export declare const getCellById: typeof import("./store/selectors/base")._getCell;
export declare function attachCellLabel(state: IStoreState): {
cells: R.Dictionary<{
label: string;
id: ID;
rowId?: string | number | undefined;
i?: number | undefined;
j?: number | undefined;
colspan?: number | undefined;
rowspan?: number | undefined;
style?: import("react").CSSProperties | undefined;
format?: import("./index.data").NumericFormat | undefined;
value?: any;
type?: string | undefined;
dataType?: string | undefined;
locked?: boolean | undefined;
delay?: boolean | undefined;
meta?: any;
formula?: string | undefined;
formulaDisabled?: boolean | undefined;
error?: string | null | undefined;
}>;
env?: "test" | undefined;
id: ID;
columns: import("./index.data").IColumn[];
rows: IRow[];
bodyCellNamePolicy?: import("./index.data").IBodyCellNamePolicy | undefined;
treeContext: Record;
usage: import("./index.data").EditorUsage;
mode: any;
isActiving: boolean;
collapsedRowIds: ID[];
cellDeps: Record;
varDeps: Record;
variables: Record;
highlightedCells: {
id: ID;
/**
* 初始化时, 填充row的i, 填充cell.ij
* 底层未提供此方法
* @param cells
*/
color: string;
}[];
lazyLoad?: boolean | undefined;
freezeAt: {
i: number;
j: number;
};
scrollX: number;
scrollY: number;
rowDimensions: import("./index.data").IRowDimensions;
colDimensions: import("./index.data").IColDimensions;
containerBox: {
w: number;
h: number;
};
padding: {
bottom: number;
right: number;
};
readyDimensions?: boolean | undefined;
selectionType: "row" | "cell" | "column" | null;
selectedRowRange: [ID, ID];
selectedCellRange: [ID, ID];
selectedColumnRange: [ID, ID];
};
/**
* 初始化时, 填充row的i, 填充cell.ij
* 底层未提供此方法
* @param cells
*/
export declare function fillRowiAndCellij(rows: IRowWithCell[]): IRowWithCell[];