import { default as Module } from '../../core/Module';
import { default as Tabulator } from '../../core/Tabulator';

export default class Import extends Module {
    static readonly moduleName = "import";
    static readonly importers: {
        array: typeof import('./defaults/importers/array').default;
        csv: typeof import('./defaults/importers/csv').default;
        json: typeof import('./defaults/importers/json').default;
        xlsx: (this: Tabulator, input: ArrayBuffer | string) => any[][];
    };
    constructor(table: Tabulator);
    initialize(): void;
    loadDataCheck(data: any): boolean;
    loadData(data: any, _params: any, _config: any, _silent: any, _previousData: any): Promise<any>;
    lookupImporter(importFormat?: string | ((...args: any[]) => any)): any;
    importFromFile(importFormat?: string | ((...args: any[]) => any), extension?: string, importReader?: string): Promise<any> | undefined;
    pickFile(extensions?: string, importReader?: string): Promise<string | ArrayBuffer>;
    importData(importer: (...args: any[]) => any, fileContents: string | ArrayBuffer): Promise<any>;
    structureData(parsedData: any): any;
    mutateData(data: any): any;
    transformHeader(headers: any[]): any[];
    transformData(row: any[]): any[];
    structureArrayToObject(parsedData: any[][]): Array<Record<string, any>>;
    structureArrayToColumns(parsedData: any[][]): Array<Record<string, any>>;
    validateFile(file: File): boolean | any;
    validateData(data: any): Promise<any> | any;
    setData(data: any): Promise<any>;
}
