///
import { TreeContext } from 'valor-app-utils';
import { FormulaManagerConfig as FormulaManagerConfig_ } from './formula-manager/index.data';
import { getQueries } from './SpreadSheetProvider/helper';
export declare type ID = number | string;
export declare type IRowType = 'header' | 'body' | 'footer';
export declare type IDimension = {
width: number;
height: number;
left: number;
top: number;
offsetWidth: number;
offsetHeight: number;
offsetLeft: number;
offsetTop: number;
};
export interface NumericFormat {
decimalLength?: number;
scale?: number;
zeroValue?: boolean;
percent?: boolean;
showThousandsSeparator?: boolean;
}
export declare type ICellType = 'text' | 'numeric' | 'row-no' | string;
export declare type ICellNN = {
id: ID;
rowId?: ID;
i?: number;
j?: number;
colspan?: number;
rowspan?: number;
style?: React.CSSProperties;
format?: NumericFormat;
value?: any;
type?: ICellType;
dataType?: string;
locked?: boolean;
delay?: boolean;
meta?: any;
formula?: string;
formulaDisabled?: boolean;
error?: string | null;
};
export declare type ICell = ICellNN | null;
export declare type IColumnWithCells = IColumn & {
cells: ICell[];
};
export declare type IRow = {
id: ID;
type?: IRowType;
area?: 'tree' | 'flatten';
meta?: any;
sealed?: boolean;
level?: number;
i?: number;
style?: React.CSSProperties;
cellIds?: (ID | null)[];
additions?: any;
height?: number;
};
export declare type IColumn = {
id?: ID;
j?: number;
width: number;
type?: ICellType;
format?: NumericFormat;
};
export declare type ISelectionType = 'row' | 'cell' | 'column';
export declare type ISize = {
rowCount: number;
colCount: number;
};
export declare type IRowDimensions = {
[rowId: string]: {
top: number;
height: number;
offsetTop: number;
offsetHeight: number;
};
};
export declare type IColDimensions = {
[colId: string]: {
left: number;
width: number;
offsetLeft: number;
offsetWidth: number;
};
};
export declare type ISelection = {
selectionType: ISelectionType | null;
selectedRowRange: [ID, ID];
selectedCellRange: [ID, ID];
selectedColumnRange: [ID, ID];
};
export interface IBodyCellNamePolicy {
rowNameJ: number;
colNames: Record;
}
export declare type IStoreState = {
env?: 'test';
id: ID;
columns: IColumn[];
rows: IRow[];
cells: {
[id: string]: ICellNN;
};
bodyCellNamePolicy?: IBodyCellNamePolicy;
treeContext: TreeContext;
usage: EditorUsage;
mode: any;
isActiving: boolean;
collapsedRowIds: ID[];
cellDeps: Record;
varDeps: Record;
variables: Record;
highlightedCells: {
id: ID;
color: string;
}[];
lazyLoad?: boolean;
freezeAt: {
i: number;
j: number;
};
scrollX: number;
scrollY: number;
rowDimensions: IRowDimensions;
colDimensions: IColDimensions;
containerBox: {
w: number;
h: number;
};
padding: {
bottom: number;
right: number;
};
readyDimensions?: boolean;
} & ISelection;
export declare type EditorUsage = 'editor' | 'cell-picker' | 'row-picker';
export declare type FormulaManagerConfig = FormulaManagerConfig_;
export declare type SheetQueries = ReturnType;