import { PartStatus } from '@prisma/client';
export declare enum StockStatus {
    NORMAL = "NORMAL",
    LOW = "LOW",
    OUT_OF_STOCK = "OUT_OF_STOCK"
}
export declare class CreatePartDto {
    partNumber: string;
    partNameEn: string;
    partNameCn?: string;
    unit?: string;
    source?: string;
    specifications?: string;
    remark?: string;
    currentStock?: number;
    minStock?: number;
    maxStock?: number;
    station?: string;
    warehouseLocation?: string;
    warehouseId?: string;
    storageLocationId?: string;
    imageUrl?: string;
    status?: PartStatus;
    metadata?: any;
    groupIds?: string[];
    customFields?: Record<string, any>;
}
export declare class UpdatePartDto {
    partNumber?: string;
    partNameEn?: string;
    partNameCn?: string;
    unit?: string;
    source?: string;
    specifications?: string;
    remark?: string;
    station?: string;
    warehouseLocation?: string;
    warehouseId?: string;
    storageLocationId?: string;
    currentStock?: number;
    minStock?: number;
    maxStock?: number;
    imageUrl?: string;
    status?: PartStatus;
    groupIds?: string[];
    customFields?: Record<string, any>;
}
export declare class QueryPartsDto {
    search?: string;
    partNumber?: string;
    partNameEn?: string;
    category?: string;
    station?: string;
    warehouseLocation?: string;
    status?: PartStatus;
    stockStatus?: StockStatus;
    page?: number;
    limit?: number;
    sortBy?: string;
    sortOrder?: 'asc' | 'desc';
    lowStock?: boolean;
    outOfStock?: boolean;
    groupIds?: string[];
}
export declare class BulkImportPartsDto {
    parts: CreatePartDto[];
    updateExisting?: boolean;
    skipErrors?: boolean;
}
export declare class GenerateLabelDto {
    partId: string;
    template?: string;
    size?: string;
    quantity?: number;
}
export declare class BulkGenerateLabelsDto {
    partIds: string[];
    template?: string;
    size?: string;
    quantityPerPart?: number;
}
export declare class PrintLabelDto {
    labelId: string;
    printerName?: string;
}
export declare class BulkPrintLabelsDto {
    labelIds: string[];
    printerName?: string;
}
