import { Prisma } from '@prisma/client';
import { SupplierService } from "../../../platform-master/services/supplier.service";
import { RobotSkuService } from "../../services/robot-sku.service";
import type { ExecuteResult, FieldMetadata, Importer, ParsedRow, ValidationIssue } from '../importer.interface';
export interface POImporterInput {
    poNo: string;
    supplierCode: string;
    currencyCode: string;
    orderedAt: string;
    expectedAt?: string;
    notes?: string;
    lineNo: number;
    skuCode: string;
    quantity: number;
    unitPrice: number;
}
export declare class PurchaseOrderImporter implements Importer<POImporterInput> {
    private readonly supplierService;
    private readonly skuService;
    private readonly logger;
    readonly type: "PURCHASE_ORDER";
    readonly fieldMetadata: FieldMetadata[];
    constructor(supplierService: SupplierService, skuService: RobotSkuService);
    parseRow(rawRow: Record<string, unknown>, rowNo: number): ParsedRow<POImporterInput>;
    validateReferences(rows: ParsedRow<POImporterInput>[]): Promise<ValidationIssue[]>;
    validateBusinessRules(rows: ParsedRow<POImporterInput>[]): Promise<ValidationIssue[]>;
    execute(rows: POImporterInput[], tx: Prisma.TransactionClient, userId: string, organizationId: string): Promise<ExecuteResult>;
}
