import { StockTransactionsService } from "./stock-transactions.service";
export declare class StockTransactionsController {
    private readonly svc;
    constructor(svc: StockTransactionsService);
    createStockIn(body: {
        warehouseId: string;
        itemId: string;
        batchNumber: string;
        expiryDate: string;
        quantityMt: number;
        supplierName?: string;
        supplierTrn?: string;
        documentNumber?: string;
        documentDate?: string;
        referenceNumber?: string;
        unit?: string;
        unitPrice?: number;
    }, req: Request & {
        user: {
            name: string;
        };
    }): Promise<{
        id: string;
        type: any;
        warehouseId: any;
        itemId: any;
        batchId: any;
        quantityMt: any;
        transactionDate: any;
        approvalStatus: any;
        approvedBy: any;
        approvedAt: any;
        rejectedBy: any;
        rejectedAt: any;
        rejectedReason: any;
        submittedBy: any;
        supplierName: any;
        supplierTrn: any;
        documentNumber: any;
        documentDate: any;
        referenceNumber: any;
        unit: any;
        unitPrice: any;
        jobCardReference: any;
        expiryDate: any;
        createdAt: any;
    }>;
    createStockOut(body: {
        warehouseId: string;
        itemId: string;
        batchId?: string;
        expiryDate?: string;
        quantityMt: number;
    }, req: Request & {
        user: {
            name: string;
        };
    }): Promise<{
        id: string;
        type: any;
        warehouseId: any;
        itemId: any;
        batchId: any;
        quantityMt: any;
        transactionDate: any;
        approvalStatus: any;
        approvedBy: any;
        approvedAt: any;
        rejectedBy: any;
        rejectedAt: any;
        rejectedReason: any;
        submittedBy: any;
        supplierName: any;
        supplierTrn: any;
        documentNumber: any;
        documentDate: any;
        referenceNumber: any;
        unit: any;
        unitPrice: any;
        jobCardReference: any;
        expiryDate: any;
        createdAt: any;
    }>;
    findPending(): Promise<{
        warehouseName: string | null;
        itemCode: string | null;
        itemName: string | null;
        batchNumber: string | null;
        expiryDate: any;
        id: string;
        type: any;
        warehouseId: any;
        itemId: any;
        batchId: any;
        quantityMt: any;
        transactionDate: any;
        approvalStatus: any;
        approvedBy: any;
        approvedAt: any;
        rejectedBy: any;
        rejectedAt: any;
        rejectedReason: any;
        submittedBy: any;
        supplierName: any;
        supplierTrn: any;
        documentNumber: any;
        documentDate: any;
        referenceNumber: any;
        unit: any;
        unitPrice: any;
        jobCardReference: any;
        createdAt: any;
    }[]>;
    findAll(status?: string, page?: string, limit?: string): Promise<{
        warehouseName: string | null;
        itemCode: string | null;
        itemName: string | null;
        batchNumber: string | null;
        expiryDate: any;
        id: string;
        type: any;
        warehouseId: any;
        itemId: any;
        batchId: any;
        quantityMt: any;
        transactionDate: any;
        approvalStatus: any;
        approvedBy: any;
        approvedAt: any;
        rejectedBy: any;
        rejectedAt: any;
        rejectedReason: any;
        submittedBy: any;
        supplierName: any;
        supplierTrn: any;
        documentNumber: any;
        documentDate: any;
        referenceNumber: any;
        unit: any;
        unitPrice: any;
        jobCardReference: any;
        createdAt: any;
    }[]>;
    approve(id: string, req: Request & {
        user: {
            name: string;
            role: string;
        };
    }): Promise<{
        id: string;
        type: any;
        warehouseId: any;
        itemId: any;
        batchId: any;
        quantityMt: any;
        transactionDate: any;
        approvalStatus: any;
        approvedBy: any;
        approvedAt: any;
        rejectedBy: any;
        rejectedAt: any;
        rejectedReason: any;
        submittedBy: any;
        supplierName: any;
        supplierTrn: any;
        documentNumber: any;
        documentDate: any;
        referenceNumber: any;
        unit: any;
        unitPrice: any;
        jobCardReference: any;
        expiryDate: any;
        createdAt: any;
    }>;
    reject(id: string, body: {
        reason?: string;
    }, req: Request & {
        user: {
            name: string;
            role: string;
        };
    }): Promise<{
        id: string;
        type: any;
        warehouseId: any;
        itemId: any;
        batchId: any;
        quantityMt: any;
        transactionDate: any;
        approvalStatus: any;
        approvedBy: any;
        approvedAt: any;
        rejectedBy: any;
        rejectedAt: any;
        rejectedReason: any;
        submittedBy: any;
        supplierName: any;
        supplierTrn: any;
        documentNumber: any;
        documentDate: any;
        referenceNumber: any;
        unit: any;
        unitPrice: any;
        jobCardReference: any;
        expiryDate: any;
        createdAt: any;
    }>;
}
