import { PurchaseOrderReceiptListParamsSchema, PurchaseOrderReceiptCreateRequestSchema, PurchaseOrderReceiptUpdateRequestSchema } from '../schemas';
import type { z } from 'zod';
import type { NexusClient } from '../client';
type ExecuteRequest = NexusClient['executeRequest'];
type PurchaseOrderReceiptListParams = z.infer<typeof PurchaseOrderReceiptListParamsSchema>;
type PurchaseOrderReceiptCreateRequest = z.infer<typeof PurchaseOrderReceiptCreateRequestSchema>;
type PurchaseOrderReceiptUpdateRequest = z.infer<typeof PurchaseOrderReceiptUpdateRequestSchema>;
/**
 * Creates the purchaseOrderReceipt resource methods
 * OpenAPI Path: /purchase-order-receipt → purchaseOrderReceipt.*
 * @description Methods for managing purchase order receipt documents for comprehensive receipt tracking and processing
 */
export declare function createPurchaseOrderReceiptResource(executeRequest: ExecuteRequest): {
    /**
     * Retrieve a list of purchase order receipt documents with optional filtering
     * @description Returns purchase order receipts with pagination and filtering by PO number, status, or receipt date
     * @fullPath api.nexus.purchaseOrderReceipt.list
     * @service nexus
     * @domain warehouse-management
     * @dataMethod purchaseOrderReceiptData.list
     * @discoverable true
     */
    list: (params?: PurchaseOrderReceiptListParams) => Promise<{
        params: Record<string, unknown> | unknown[];
        data: z.objectInputType<{
            purchaseOrderReceiptUid: z.ZodNumber;
        }, z.ZodTypeAny, "passthrough">[];
        options: Record<string, unknown> | unknown[];
        status: number;
        message: string;
        count: number;
        total: number;
        totalResults: number;
    }>;
    /**
     * Retrieve details for a specific purchase order receipt document
     * @description Returns complete details for a purchase order receipt including JSON data and tracking information
     * @fullPath api.nexus.purchaseOrderReceipt.get
     * @service nexus
     * @domain warehouse-management
     * @dataMethod purchaseOrderReceiptData.get
     * @discoverable true
     */
    get: (purchaseOrderReceiptUid: number | string) => Promise<{
        params: Record<string, unknown> | unknown[];
        data: {
            purchaseOrderReceiptUid: number;
        } & {
            [k: string]: unknown;
        };
        options: Record<string, unknown> | unknown[];
        status: number;
        message: string;
        count: number;
        total: number;
        totalResults: number;
    }>;
    /**
     * Create a new purchase order receipt document
     * @description Creates a purchase order receipt document for comprehensive tracking and audit trail
     * @fullPath api.nexus.purchaseOrderReceipt.create
     * @service nexus
     * @domain warehouse-management
     * @dataMethod purchaseOrderReceiptData.create
     * @discoverable true
     */
    create: (receiptData: PurchaseOrderReceiptCreateRequest) => Promise<{
        params: Record<string, unknown> | unknown[];
        data: {
            purchaseOrderReceiptUid: number;
        } & {
            [k: string]: unknown;
        };
        options: Record<string, unknown> | unknown[];
        status: number;
        message: string;
        count: number;
        total: number;
        totalResults: number;
    }>;
    /**
     * Update an existing purchase order receipt document
     * @description Updates purchase order receipt status, properties, and tracking information
     * @fullPath api.nexus.purchaseOrderReceipt.update
     * @service nexus
     * @domain warehouse-management
     * @dataMethod purchaseOrderReceiptData.update
     * @discoverable true
     */
    update: (purchaseOrderReceiptUid: number | string, updateData: PurchaseOrderReceiptUpdateRequest) => Promise<{
        params: Record<string, unknown> | unknown[];
        data: {
            purchaseOrderReceiptUid: number;
        } & {
            [k: string]: unknown;
        };
        options: Record<string, unknown> | unknown[];
        status: number;
        message: string;
        count: number;
        total: number;
        totalResults: number;
    }>;
    /**
     * Soft delete a purchase order receipt document
     * @description Marks a purchase order receipt as deleted by setting status code to 700
     * @fullPath api.nexus.purchaseOrderReceipt.delete
     * @service nexus
     * @domain warehouse-management
     * @dataMethod purchaseOrderReceiptData.delete
     * @discoverable true
     */
    delete: (purchaseOrderReceiptUid: number | string) => Promise<{
        params: Record<string, unknown> | unknown[];
        data: {
            purchaseOrderReceiptUid: number;
        } & {
            [k: string]: unknown;
        };
        options: Record<string, unknown> | unknown[];
        status: number;
        message: string;
        count: number;
        total: number;
        totalResults: number;
    }>;
};
/**
 * Creates the purchaseOrderReceiptData resource methods (data-only versions)
 */
export declare function createPurchaseOrderReceiptDataResource(purchaseOrderReceipt: ReturnType<typeof createPurchaseOrderReceiptResource>): {
    list: (params?: PurchaseOrderReceiptListParams) => Promise<z.objectInputType<{
        purchaseOrderReceiptUid: z.ZodNumber;
    }, z.ZodTypeAny, "passthrough">[]>;
    get: (purchaseOrderReceiptUid: number | string) => Promise<{
        purchaseOrderReceiptUid: number;
    } & {
        [k: string]: unknown;
    }>;
    create: (receiptData: PurchaseOrderReceiptCreateRequest) => Promise<{
        purchaseOrderReceiptUid: number;
    } & {
        [k: string]: unknown;
    }>;
    update: (purchaseOrderReceiptUid: number | string, updateData: PurchaseOrderReceiptUpdateRequest) => Promise<{
        purchaseOrderReceiptUid: number;
    } & {
        [k: string]: unknown;
    }>;
    delete: (purchaseOrderReceiptUid: number | string) => Promise<{
        purchaseOrderReceiptUid: number;
    } & {
        [k: string]: unknown;
    }>;
};
export type PurchaseOrderReceiptResource = ReturnType<typeof createPurchaseOrderReceiptResource>;
export type PurchaseOrderReceiptDataResource = ReturnType<typeof createPurchaseOrderReceiptDataResource>;
export {};
//# sourceMappingURL=purchase-order-receipt.d.ts.map