import type { CurrentUserPayload } from "../../common/decorators/current-user.decorator";
import { ExcelService } from './services/excel.service';
export declare class ExcelController {
    private readonly excelService;
    constructor(excelService: ExcelService);
    importExcel(rows: any[], fileName: string, fileSize: number, updateExisting: boolean | undefined, groupIds: string[] | undefined, user: CurrentUserPayload): Promise<{
        total: number;
        success: number;
        failed: number;
        updated: number;
        errors: any[];
        warnings: any[];
        importLogId: string;
    } | {
        success: boolean;
        errors: any[];
        message: string;
    }>;
    exportExcel(category?: string, station?: string, warehouseLocation?: string, status?: any): Promise<any[]>;
    getTemplate(): Promise<{
        'Part Number': string;
        'Part Name (EN)': string;
        'Part Name (CN)': string;
        Unit: string;
        Source: string;
        Specifications: string;
        Remark: string;
        Station: string;
        'Warehouse Location': string;
        'Current Stock': string;
        'Min Stock': string;
        'Max Stock': string;
    }[]>;
    validateExcel(body: any): Promise<{
        valid: boolean;
        errors: any[];
        warnings?: any[];
    }>;
    getImportHistory(page?: number, limit?: number): Promise<{
        items: {
            id: string;
            status: import("@prisma/client").$Enums.ImportStatus;
            metadata: import("@prisma/client/runtime/library").JsonValue;
            summary: import("@prisma/client/runtime/library").JsonValue | null;
            startedAt: Date | null;
            completedAt: Date | null;
            errors: import("@prisma/client/runtime/library").JsonValue | null;
            fileName: string;
            fileSize: number;
            totalRows: number;
            fileHash: string | null;
            successRows: number;
            failedRows: number;
            skippedRows: number;
            importedBy: string;
            importedAt: Date;
        }[];
        total: number;
        page: number;
        limit: number;
        totalPages: number;
    }>;
    getImportLog(id: string): Promise<{
        id: string;
        status: import("@prisma/client").$Enums.ImportStatus;
        metadata: import("@prisma/client/runtime/library").JsonValue;
        summary: import("@prisma/client/runtime/library").JsonValue | null;
        startedAt: Date | null;
        completedAt: Date | null;
        errors: import("@prisma/client/runtime/library").JsonValue | null;
        fileName: string;
        fileSize: number;
        totalRows: number;
        fileHash: string | null;
        successRows: number;
        failedRows: number;
        skippedRows: number;
        importedBy: string;
        importedAt: Date;
    }>;
}
