import { Input } from 'amotify/@fn';
declare global {
    var ExcelJS: any;
}
declare namespace SpreadSheet {
    interface Instance {
        fn: Class;
        prototype: Class;
        (v: any, a: string): any;
    }
    interface Class {
        isValid(): boolean;
        getWorkbook(): any;
        updateFileName(fileName: string): void;
        updateMerges(merges: Merge[][]): void;
        updateStyles(styles: Style[][]): void;
        toJson(): {
            fileName: string;
            sheets: {
                sheetName: string;
                rows: any[];
            }[];
        };
        export(type?: 'xlsx' | 'csv'): void;
    }
    type Json = {
        fileName: string;
        sheets: Sheet[];
    };
    type Sheet = {
        sheetName: string;
        rows: Row[];
        merges?: Merge[];
        styles?: Style[];
    };
    type Row = (string | number)[];
    type Merge = [string, string] | [null, null];
    type Style = {
        type: 'cell' | 'row' | 'column';
        target: string | number | (string | number)[];
        values: {
            [key: string]: any;
        };
    };
    type Methods = {
        readFromFile(file: Input.Filer.CustomFile): Promise<SpreadSheet.Class>;
        readFromJson(v: SpreadSheet.Json): Promise<SpreadSheet.Class>;
    };
}
declare const SpreadSheet: SpreadSheet.Methods;
export { SpreadSheet, SpreadSheet as default };
