import type { pluginsDefinition, ColumnsDefine } from '@visactor/vtable';
import type { ExcelImportOptions, ImportResult, MultiSheetImportResult } from './excel-import/types';
export type { ExcelImportOptions, ImportResult, MultiSheetImportResult, SheetData } from './excel-import/types';
export declare class ExcelImportPlugin implements pluginsDefinition.IVTablePlugin {
    id: string;
    name: string;
    runTime: "initialized"[];
    private options;
    private table;
    constructor(options?: ExcelImportOptions);
    run(...args: any[]): void;
    private _importFile;
    private _selectFile;
    private _importFileFromDialogForVTableSheet;
    private _importMultipleSheetsFromFileDialog;
    private _detectVTableSheet;
    private _getFileExtension;
    release(): void;
    import(type: 'file' | 'csv' | 'json' | 'html', source?: string | object, options?: Partial<ExcelImportOptions>): Promise<ImportResult | MultiSheetImportResult>;
    private _importFromFileDialog;
    private _importFromString;
    private _importFromData;
    private _parseFile;
    private _parseExcelFile;
    private _parseCsvFile;
    private _parseJsonFile;
    private _parseHtmlFile;
    private _buildColumnsFromHeaders;
    static importExcelToVTableData(file: File, options?: ExcelImportOptions): Promise<{
        columns: ColumnsDefine;
        records: Record<string, unknown>[];
    }>;
    private static detectHeaderRowCount;
    private static buildColumns;
    private _parseCSVString;
    private _parseJSONString;
    private _parseHTMLString;
    private _parseJSONData;
    private static _generateJavaScriptExport;
    private _exportToJS;
    private _processBatchRecords;
}
