export interface ExcelTemplate {
    fileName?: string;
    columns: ExcelTempateColumn[];
}
export interface ExcelTempateColumn {
    field: string;
    title: string;
    required?: boolean;
    color?: string;
    width?: string;
    description?: string;
}
export interface ExcelConfig {
    removable?: boolean;
    name?: string;
    fullPath?: string;
}
export interface ExcelConfiguration {
    generateTemplate(excelTemplate: ExcelTemplate): Promise<{
        filePath: string;
    }>;
    uploadTemplate(key?: string, validator?: (fileName: string) => string): Promise<ExcelConfig>;
    downloadTemplate(filePath: string, fileName?: string): Promise<void>;
    generateExcelDataByTemplate(filePath: string, columns: any[], items: any[], fileName?: string): Promise<{
        filePath: string;
    }>;
    getFiles(key?: string): Promise<ExcelConfig[]>;
    remove(key?: string, name?: string): Promise<void>;
}
