import GC from '@grapecity/spread-sheets';
export interface FillRangeData {
    o: string;
    p: 'fill';
    s: string;
    r: number;
    c: number;
    cc: number;
    rc: number;
    values: RangeInfo;
}
interface CellSpan {
    row: number;
    col: number;
    rowCount: number;
    colCount: number;
}
export interface CellInfo {
    value: unknown;
    style: object | null;
    formula: string | null;
    formatter: string | null;
    hyperlink: object | null;
    validator: object | null;
}
export interface RangeInfo {
    spans: CellSpan[];
    values: {
        [key: string]: CellInfo | null;
    };
}
export declare function getCellKey(row: number, col: number): string;
export declare function getRangeInfo(sheet: GC.Spread.Sheets.Worksheet, row: number, col: number, rowCount: number, colCount: number): RangeInfo;
export declare function fillRange(sheet: GC.Spread.Sheets.Worksheet, row: number, col: number, rowCount: number, colCount: number, info: RangeInfo): void;
export declare function enumRangeCells(data: FillRangeData, callback: (row: number, col: number, cell: CellInfo) => void): void;
export declare function getColumnInfo(sheet: GC.Spread.Sheets.Worksheet, fromCol: number, count: number): RangeInfo;
export declare function fillColumn(sheet: GC.Spread.Sheets.Worksheet, fromCol: number, count: number, info: RangeInfo): void;
export declare function getRowInfo(sheet: GC.Spread.Sheets.Worksheet, fromRow: number, count: number): RangeInfo;
export declare function fillRow(sheet: GC.Spread.Sheets.Worksheet, fromRow: number, count: number, info: RangeInfo): void;
export declare function getCellInfo(sheet: GC.Spread.Sheets.Worksheet, row: number, col: number): CellInfo | null;
export declare function setCellInfo(sheet: GC.Spread.Sheets.Worksheet, row: number, col: number, cellInfo: CellInfo | null): void;
export {};
