import type { P21PimClient } from '../client';
import type { InventoryMasterExtensionListParams, InventoryMasterExtensionCreateParams, InventoryMasterExtensionUpdateParams } from '../schemas';
type ExecuteRequest = P21PimClient['executeRequest'];
/**
 * Creates the invMastExt resource methods
 * OpenAPI Path: /inv-mast-ext → invMastExt.*
 * @description Manage extended inventory master data including UPC/EAN codes, brand information, and SEO metadata
 */
export declare function createInvMastExtResource(executeRequest: ExecuteRequest): {
    /**
     * List inventory master extensions with filtering and pagination
     *
     * @fullPath api.p21Pim.invMastExt.list
     * @service p21-pim
     * @domain inventory-management
     * @dataMethod invMastExtData.list
     * @discoverable true
     * @searchTerms ['inventory', 'extensions', 'master data', 'upc', 'ean', 'brand']
     * @relatedEndpoints ['items.invMast', 'nexus.invMast']
     * @commonPatterns ['Manage inventory extensions', 'Handle product metadata']
     *
     * @param params Query parameters for filtering and pagination
     * @returns Paginated list of inventory master extensions
     */
    list: (params?: InventoryMasterExtensionListParams) => Promise<{
        params: Record<string, unknown> | unknown[];
        data: import("zod").objectInputType<{
            invMastExtUid: import("zod").ZodNumber;
        }, import("zod").ZodTypeAny, "passthrough">[];
        options: Record<string, unknown> | unknown[];
        status: number;
        message: string;
        count: number;
        total: number;
        totalResults: number;
    }>;
    /**
     * Get a specific inventory master extension by UID
     *
     * @fullPath api.p21Pim.invMastExt.get
     * @service p21-pim
     * @domain inventory-management
     * @dataMethod invMastExtData.get
     * @discoverable true
     * @searchTerms ['inventory', 'extensions', 'master data']
     * @relatedEndpoints ['items.invMast']
     * @commonPatterns ['Retrieve inventory extension details']
     *
     * @param invMastExtUid Inventory master extension UID (must match OpenAPI parameter name)
     * @returns Single inventory master extension record
     */
    get: (invMastExtUid: number) => Promise<{
        params: Record<string, unknown> | unknown[];
        data: {
            invMastExtUid: number;
        } & {
            [k: string]: unknown;
        };
        options: Record<string, unknown> | unknown[];
        status: number;
        message: string;
        count: number;
        total: number;
        totalResults: number;
    }>;
    /**
     * Create a new inventory master extension record
     *
     * @fullPath api.p21Pim.invMastExt.create
     * @service p21-pim
     * @domain inventory-management
     * @dataMethod invMastExtData.create
     * @discoverable true
     * @searchTerms ['inventory', 'create', 'extensions']
     * @relatedEndpoints ['items.invMast']
     * @commonPatterns ['Create inventory extension']
     *
     * @param data Extension data for creation
     * @returns Created inventory master extension
     */
    create: (data: InventoryMasterExtensionCreateParams) => Promise<{
        params: Record<string, unknown> | unknown[];
        data: {
            invMastExtUid: number;
        } & {
            [k: string]: unknown;
        };
        options: Record<string, unknown> | unknown[];
        status: number;
        message: string;
        count: number;
        total: number;
        totalResults: number;
    }>;
    /**
     * Update an existing inventory master extension
     *
     * @fullPath api.p21Pim.invMastExt.update
     * @service p21-pim
     * @domain inventory-management
     * @dataMethod invMastExtData.update
     * @discoverable true
     * @searchTerms ['inventory', 'update', 'extensions']
     * @relatedEndpoints ['items.invMast']
     * @commonPatterns ['Update inventory extension']
     *
     * @param invMastExtUid Inventory master extension UID (must match OpenAPI parameter name)
     * @param data Extension data for update
     * @returns Updated inventory master extension
     */
    update: (invMastExtUid: number, data: InventoryMasterExtensionUpdateParams) => Promise<{
        params: Record<string, unknown> | unknown[];
        data: {
            invMastExtUid: number;
        } & {
            [k: string]: unknown;
        };
        options: Record<string, unknown> | unknown[];
        status: number;
        message: string;
        count: number;
        total: number;
        totalResults: number;
    }>;
    /**
     * Soft delete an inventory master extension (sets status_cd to 700)
     *
     * @fullPath api.p21Pim.invMastExt.delete
     * @service p21-pim
     * @domain inventory-management
     * @dataMethod invMastExtData.delete
     * @discoverable true
     * @searchTerms ['inventory', 'delete', 'extensions']
     * @relatedEndpoints ['items.invMast']
     * @commonPatterns ['Delete inventory extension']
     *
     * @param invMastExtUid Inventory master extension UID (must match OpenAPI parameter name)
     * @returns Deleted inventory master extension confirmation
     */
    delete: (invMastExtUid: number) => Promise<{
        params: Record<string, unknown> | unknown[];
        data: {
            invMastExtUid: number;
        } & {
            [k: string]: unknown;
        };
        options: Record<string, unknown> | unknown[];
        status: number;
        message: string;
        count: number;
        total: number;
        totalResults: number;
    }>;
};
/**
 * Creates the invMastExtData resource methods (data-only versions)
 */
export declare function createInvMastExtDataResource(invMastExt: ReturnType<typeof createInvMastExtResource>): {
    list: (params?: InventoryMasterExtensionListParams) => Promise<import("zod").objectInputType<{
        invMastExtUid: import("zod").ZodNumber;
    }, import("zod").ZodTypeAny, "passthrough">[]>;
    get: (invMastExtUid: number) => Promise<{
        invMastExtUid: number;
    } & {
        [k: string]: unknown;
    }>;
    create: (data: InventoryMasterExtensionCreateParams) => Promise<{
        invMastExtUid: number;
    } & {
        [k: string]: unknown;
    }>;
    update: (invMastExtUid: number, data: InventoryMasterExtensionUpdateParams) => Promise<{
        invMastExtUid: number;
    } & {
        [k: string]: unknown;
    }>;
    delete: (invMastExtUid: number) => Promise<{
        invMastExtUid: number;
    } & {
        [k: string]: unknown;
    }>;
};
export type InvMastExtResource = ReturnType<typeof createInvMastExtResource>;
export type InvMastExtDataResource = ReturnType<typeof createInvMastExtDataResource>;
export {};
//# sourceMappingURL=inv-mast-ext.d.ts.map