import { TransferShippingListParamsSchema, TransferShippingCreateRequestSchema, TransferShippingUpdateRequestSchema } from '../schemas';
import type { z } from 'zod';
import type { NexusClient } from '../client';
type ExecuteRequest = NexusClient['executeRequest'];
type TransferShippingListParams = z.infer<typeof TransferShippingListParamsSchema>;
type TransferShippingCreateRequest = z.infer<typeof TransferShippingCreateRequestSchema>;
type TransferShippingUpdateRequest = z.infer<typeof TransferShippingUpdateRequestSchema>;
/**
 * Creates the transferShipping resource methods
 * OpenAPI Path: /transfer-shipping → transferShipping.*
 * @description Methods for managing transfer shipping documents for comprehensive outbound transfer tracking and logistics
 */
export declare function createTransferShippingResource(executeRequest: ExecuteRequest): {
    /**
     * Retrieve a list of transfer shipping documents with optional filtering
     * @description Returns transfer shipping documents with pagination and filtering by shipping reference, status, or shipping date
     * @fullPath api.nexus.transferShipping.list
     * @service nexus
     * @domain warehouse-management
     * @dataMethod transferShippingData.list
     * @discoverable true
     */
    list: (params?: TransferShippingListParams) => Promise<{
        params: Record<string, unknown> | unknown[];
        data: z.objectInputType<{
            transferReceiptUid: 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 transfer shipping document
     * @description Returns complete details for a transfer shipping document including JSON data and tracking information
     * @fullPath api.nexus.transferShipping.get
     * @service nexus
     * @domain warehouse-management
     * @dataMethod transferShippingData.get
     * @discoverable true
     */
    get: (transferReceiptUid: number | string) => Promise<{
        params: Record<string, unknown> | unknown[];
        data: {
            transferReceiptUid: number;
        } & {
            [k: string]: unknown;
        };
        options: Record<string, unknown> | unknown[];
        status: number;
        message: string;
        count: number;
        total: number;
        totalResults: number;
    }>;
    /**
     * Create a new transfer shipping document
     * @description Creates a transfer shipping document for comprehensive outbound tracking and logistics management
     * @fullPath api.nexus.transferShipping.create
     * @service nexus
     * @domain warehouse-management
     * @dataMethod transferShippingData.create
     * @discoverable true
     */
    create: (shippingData: TransferShippingCreateRequest) => Promise<{
        params: Record<string, unknown> | unknown[];
        data: {
            transferReceiptUid: number;
        } & {
            [k: string]: unknown;
        };
        options: Record<string, unknown> | unknown[];
        status: number;
        message: string;
        count: number;
        total: number;
        totalResults: number;
    }>;
    /**
     * Update an existing transfer shipping document
     * @description Updates transfer shipping status and properties
     * @fullPath api.nexus.transferShipping.update
     * @service nexus
     * @domain warehouse-management
     * @dataMethod transferShippingData.update
     * @discoverable true
     */
    update: (transferReceiptUid: number | string, updateData: TransferShippingUpdateRequest) => Promise<{
        params: Record<string, unknown> | unknown[];
        data: {
            transferReceiptUid: number;
        } & {
            [k: string]: unknown;
        };
        options: Record<string, unknown> | unknown[];
        status: number;
        message: string;
        count: number;
        total: number;
        totalResults: number;
    }>;
    /**
     * Soft delete a transfer shipping document
     * @description Marks a transfer shipping document as deleted
     * @fullPath api.nexus.transferShipping.delete
     * @service nexus
     * @domain warehouse-management
     * @dataMethod transferShippingData.delete
     * @discoverable true
     */
    delete: (transferReceiptUid: number | string) => Promise<{
        params: Record<string, unknown> | unknown[];
        data: {
            transferReceiptUid: number;
        } & {
            [k: string]: unknown;
        };
        options: Record<string, unknown> | unknown[];
        status: number;
        message: string;
        count: number;
        total: number;
        totalResults: number;
    }>;
};
/**
 * Creates the transferShippingData resource methods (data-only versions)
 */
export declare function createTransferShippingDataResource(transferShipping: ReturnType<typeof createTransferShippingResource>): {
    list: (params?: TransferShippingListParams) => Promise<z.objectInputType<{
        transferReceiptUid: z.ZodNumber;
    }, z.ZodTypeAny, "passthrough">[]>;
    get: (transferReceiptUid: number | string) => Promise<{
        transferReceiptUid: number;
    } & {
        [k: string]: unknown;
    }>;
    create: (shippingData: TransferShippingCreateRequest) => Promise<{
        transferReceiptUid: number;
    } & {
        [k: string]: unknown;
    }>;
    update: (transferReceiptUid: number | string, updateData: TransferShippingUpdateRequest) => Promise<{
        transferReceiptUid: number;
    } & {
        [k: string]: unknown;
    }>;
    delete: (transferReceiptUid: number | string) => Promise<{
        transferReceiptUid: number;
    } & {
        [k: string]: unknown;
    }>;
};
export type TransferShippingResource = ReturnType<typeof createTransferShippingResource>;
export type TransferShippingDataResource = ReturnType<typeof createTransferShippingDataResource>;
export {};
//# sourceMappingURL=transfer-shipping.d.ts.map