export declare enum Direction { UP = "top", RIGHT = "right", DOWN = "bottom", LEFT = "left" } export interface IAutoFillRule { type: string; match: (cellData: Nullable, accessor: any) => boolean; isContinue: (prev: IRuleConfirmedData, cur: Nullable) => boolean; applyFunctions?: APPLY_FUNCTIONS; priority: number; } export interface IRuleConfirmedData { type?: string; cellData: Nullable; } export type APPLY_FUNCTIONS = { [key in APPLY_TYPE]?: (dataWithIndex: ICopyDataInType, len: number, direction: Direction, copyDataPiece: ISourceDataPiece, location?: IAutoFillLocation) => Array>; }; export declare enum APPLY_TYPE { COPY = "copy", SERIES = "series" } export interface IAutoFillLocation { source: IDiscreteRange; target: IDiscreteRange; } export interface IDiscreteRange { rows: number[]; cols: number[]; } export interface ISourceDataPiece { [key: string]: ICopyDataInType[]; } export interface ICopyDataInType { data: Array>; index: ICopyDataInTypeIndexInfo; } export type ICopyDataInTypeIndexInfo = number[]; export type CellValue = string | number | boolean; export interface ICellData { v?: Nullable; t?: Nullable; } export type CustomData = Nullable>; export declare enum CellValueType { STRING = 1, NUMBER = 2, BOOLEAN = 3, FORCE_STRING = 4 } export type Nullable = T | null | undefined | void; export interface IKeyValue { [key: string]: any; } export declare enum DATA_TYPE { NUMBER = "number", DATE = "date", EXTEND_NUMBER = "extendNumber", CHN_NUMBER = "chnNumber", CHN_WEEK2 = "chnWeek2", CHN_WEEK3 = "chnWeek3", LOOP_SERIES = "loopSeries", FORMULA = "formula", OTHER = "other" }