import { SheetSection, SheetExcelOption } from '../common/types/common-type.cjs';
import * as exceljs from 'exceljs';
import { ExcelReaderHelperOptions, CellDataHelper } from '../common/types/excel-reader-helper.type.cjs';
import { CellImportOptions } from '../common/types/import-template.type.cjs';
import '../common/core/Template.cjs';

declare const SYNTAX: {
    VARIABLE_TABLE_SYNTAX: string;
    VARIABLE_SYNTAX: string;
    INDEX_COLUMN_TABLE_SYNTAX: string;
    END_TABLE_SYNYAX: string;
};
declare const DEFAULT_BEGIN_TABLE = -1;
declare const DEFAULT_END_TABLE = -1;
declare const DEFAULT_COLUMN_INDEX = 1;
declare class ReaderExceljsHelper {
    private isSampleExcel;
    private templateManager;
    private onSheet?;
    private onRow?;
    private onCell?;
    isStop: boolean;
    constructor(opts: ExcelReaderHelperOptions);
    load(file: string): Promise<any>;
    load(buffer: Buffer): Promise<any>;
    private eachSheet;
    private convertCell;
    private convertRow;
    static getSection(row: exceljs.Row, beginTable: number, endTable: number): SheetSection;
    static getSection(rowIndex: number, beginTable: number, endTable: number): SheetSection;
    /** Get begin table at by row */
    static beginTableAt(row: exceljs.Row, sheetOpts?: SheetExcelOption<CellImportOptions>, isSampleExcel?: boolean): number | undefined;
    /** Get end table at by row */
    static endTableAt(row: exceljs.Row, sheetOpts?: SheetExcelOption<CellImportOptions>, isSampleExcel?: boolean): number | undefined;
    static isNullableRow(row: exceljs.Row): any;
    /** Get key of table by row */
    static columnTableIndex(row: exceljs.Row, sheetOpts?: SheetExcelOption<CellImportOptions>, isSampleExcel?: boolean): number | undefined;
    static isVariable(cellValue: any): any;
    static getLabel(label: string, isVariable: boolean): string | undefined;
    static getAddress(address: string, section: SheetSection, isVariable: boolean): string;
    static getVariableValue(cell: exceljs.Cell): CellDataHelper["variableValue"];
    static splitAddress(address: string): {
        col: string;
        row: string;
    };
}

export { DEFAULT_BEGIN_TABLE, DEFAULT_COLUMN_INDEX, DEFAULT_END_TABLE, ReaderExceljsHelper, SYNTAX };
