import { WheelProcessService } from './wheel-process.service';
import { ProcessImportCommitDto, ProcessListQuery } from '../process-shared/process-shared.dto';
import { ProcessRecordWriteDto } from '../process-shared/process-shared.types';
type UploadedMemoryFile = {
    originalname: string;
    buffer: Buffer;
};
export declare class WheelProcessController {
    private readonly wheelProcessService;
    constructor(wheelProcessService: WheelProcessService);
    list(query: ProcessListQuery): Promise<{
        items: any;
        meta: {
            total: any;
            page: number;
            pageSize: number;
            totalPages: number;
        };
        filterOptions: {
            processTypes: string[];
            statuses: string[];
            finishVariants: string[];
            inches: string[];
            holders: never[] | {
                id: string;
                sourceId: number | null;
                status: string;
                createdAt: Date;
                updatedAt: Date;
                holderCode: string;
                holderName: string;
                holderInchValue: number;
                holderInch: string;
                bodyName: string;
                bodyCode: string;
                yorkeName: string | null;
                yorkeCode: string | null;
                yorkeLoad: number | null;
            }[];
            wheels: {
                id: string;
                sourceId: number | null;
                wheelInchValue: number;
                wheelName: string;
                wheelCode: string;
                wheelSize: string;
                wheelSizeCode: string;
                wheelType: string;
                wheelTypeCode: string;
                bearingType: string;
                bearingCode: string;
                dustCoverName: string;
                dustCoverCode: string;
                wheelColor: string;
                wheelColorCode: string;
                dynamicLoadCarryCapacity: string;
                dynamicLoadCarryCapacityCode: string;
                wheelTypeSubName: string;
                wheelTypeSubNameCode: string;
                status: string;
                createdAt: Date;
                updatedAt: Date;
            }[] | never[];
            plates: never[] | {
                id: string;
                sourceId: number | null;
                bearingType: string;
                bearingCode: string;
                status: string;
                createdAt: Date;
                updatedAt: Date;
                holderCode: string;
                plateCode: string;
                plateName: string;
                brakeName: string;
                brakeType: string;
                brakeTypeCode: string;
                loadCarryingType: string;
                loadCarryingCode: string;
                mountingType: string;
                mountingCode: string;
                fittingSize: string;
                fittingSizeCode: string;
                fittingType: string;
                fittingCode: string;
                yokeName: string | null;
                yokeCode: string | null;
            }[];
            materials: {
                id: string;
                materialCode: string;
                materialName: string;
                categoryName: string;
                uomCode: string;
                costPerUnit: number;
            }[];
            machines: {
                id: string;
                status: string;
                createdAt: Date;
                updatedAt: Date;
                name: string | null;
                moduleType: string;
                machineryName: string;
                machineryNumber: string;
                eachHp: number;
                hourRate: number;
                code: string | null;
                tonnage: number | null;
                noOfPlatens: number | null;
                platenSize: string | null;
                powerPackHp: number | null;
                heaterCapacity: number | null;
                heaterPerPlaten: number | null;
                noOfPlates: number | null;
                coolingTower: number | null;
                powerPack: number | null;
                heaterPack: number | null;
                coolingTowerCost: number | null;
            }[];
        };
    }>;
    options(): Promise<{
        processTypes: string[];
        statuses: string[];
        finishVariants: string[];
        inches: string[];
        holders: never[] | {
            id: string;
            sourceId: number | null;
            status: string;
            createdAt: Date;
            updatedAt: Date;
            holderCode: string;
            holderName: string;
            holderInchValue: number;
            holderInch: string;
            bodyName: string;
            bodyCode: string;
            yorkeName: string | null;
            yorkeCode: string | null;
            yorkeLoad: number | null;
        }[];
        wheels: {
            id: string;
            sourceId: number | null;
            wheelInchValue: number;
            wheelName: string;
            wheelCode: string;
            wheelSize: string;
            wheelSizeCode: string;
            wheelType: string;
            wheelTypeCode: string;
            bearingType: string;
            bearingCode: string;
            dustCoverName: string;
            dustCoverCode: string;
            wheelColor: string;
            wheelColorCode: string;
            dynamicLoadCarryCapacity: string;
            dynamicLoadCarryCapacityCode: string;
            wheelTypeSubName: string;
            wheelTypeSubNameCode: string;
            status: string;
            createdAt: Date;
            updatedAt: Date;
        }[] | never[];
        plates: never[] | {
            id: string;
            sourceId: number | null;
            bearingType: string;
            bearingCode: string;
            status: string;
            createdAt: Date;
            updatedAt: Date;
            holderCode: string;
            plateCode: string;
            plateName: string;
            brakeName: string;
            brakeType: string;
            brakeTypeCode: string;
            loadCarryingType: string;
            loadCarryingCode: string;
            mountingType: string;
            mountingCode: string;
            fittingSize: string;
            fittingSizeCode: string;
            fittingType: string;
            fittingCode: string;
            yokeName: string | null;
            yokeCode: string | null;
        }[];
        materials: {
            id: string;
            materialCode: string;
            materialName: string;
            categoryName: string;
            uomCode: string;
            costPerUnit: number;
        }[];
        machines: {
            id: string;
            status: string;
            createdAt: Date;
            updatedAt: Date;
            name: string | null;
            moduleType: string;
            machineryName: string;
            machineryNumber: string;
            eachHp: number;
            hourRate: number;
            code: string | null;
            tonnage: number | null;
            noOfPlatens: number | null;
            platenSize: string | null;
            powerPackHp: number | null;
            heaterCapacity: number | null;
            heaterPerPlaten: number | null;
            noOfPlates: number | null;
            coolingTower: number | null;
            powerPack: number | null;
            heaterPack: number | null;
            coolingTowerCost: number | null;
        }[];
    }>;
    calculate(body: ProcessRecordWriteDto): Promise<import("../process-shared/process-shared.types").CalculatedProcessRecord>;
    export(query: ProcessListQuery & {
        format?: string;
    }): Promise<import("../common/tabular-file.util").ExportFile>;
    sample(format?: string): import("../common/tabular-file.util").ExportFile;
    previewImport(file: UploadedMemoryFile): {
        fileName: string;
        rows: import("../process-shared/process-shared.types").ProcessImportPreviewRow[];
        total: number;
        valid: number;
        invalid: number;
    };
    importFile(file: UploadedMemoryFile, mode?: 'validOnly' | 'allOrNothing'): Promise<{
        created: number;
        updated: number;
        failed: number;
        errors: string[];
    }>;
    commitImport(body: ProcessImportCommitDto): Promise<{
        created: number;
        updated: number;
        failed: number;
        errors: string[];
    }>;
    detail(id: string): Promise<ProcessRecordWriteDto>;
    create(body: ProcessRecordWriteDto): Promise<ProcessRecordWriteDto>;
    update(id: string, body: ProcessRecordWriteDto): Promise<ProcessRecordWriteDto>;
    delete(id: string): Promise<{
        deleted: boolean;
    }>;
}
export {};
