import { CreateItemWishlistHeaderRequest, CreateItemWishlistHdrRequest, UpdateItemWishlistHdrRequest } from '../schemas';
import type { ItemsClient } from '../client';
type ExecuteRequest = ItemsClient['executeRequest'];
/**
 * Creates the itemWishlist resource methods
 * OpenAPI Path: /item-wishlist/{usersId} → itemWishlist.* (with required parameter)
 * @description Methods for managing user wishlists
 */
export declare function createItemWishlistResource(executeRequest: ExecuteRequest): {
    /**
     * List user wishlists
     * @description Get wishlists for a specific user
     * @fullPath api.items.itemWishlist.list
     * @service items
     * @domain user-preferences
     * @discoverable true
     */
    list: (usersId: number, params?: Record<string, unknown>) => Promise<{
        params: Record<string, unknown> | unknown[];
        data: import("zod").objectInputType<{
            itemWishlistHdrUid: import("zod").ZodNumber;
        }, import("zod").ZodTypeAny, "passthrough">[];
        options: Record<string, unknown> | unknown[];
        status: number;
        message: string;
        count: number;
        total: number;
        totalResults: number;
    }>;
    /**
     * Create user wishlist
     * @description Create new wishlist for a user
     * @fullPath api.items.itemWishlist.create
     * @service items
     * @domain user-preferences
     * @discoverable true
     */
    create: (usersId: number, data: CreateItemWishlistHeaderRequest) => Promise<{
        params: Record<string, unknown> | unknown[];
        data: {
            itemWishlistHdrUid: number;
        } & {
            [k: string]: unknown;
        };
        options: Record<string, unknown> | unknown[];
        status: number;
        message: string;
        count: number;
        total: number;
        totalResults: number;
    }>;
    /**
     * OpenAPI Path: /item-wishlist/{usersId}/hdr/{itemWishlistHdrUid} → itemWishlist.hdr.*
     * @description Nested path for wishlist headers
     */
    hdr: {
        /**
         * Get wishlist header
         * @description Get specific wishlist header details
         * @fullPath api.items.itemWishlist.hdr.get
         * @service items
         * @domain user-preferences
         * @discoverable true
         */
        get: (usersId: number, itemWishlistHdrUid: number) => Promise<{
            params: Record<string, unknown> | unknown[];
            data: {
                itemWishlistHdrUid: number;
            } & {
                [k: string]: unknown;
            };
            options: Record<string, unknown> | unknown[];
            status: number;
            message: string;
            count: number;
            total: number;
            totalResults: number;
        }>;
        /**
         * Create wishlist header
         * @description Create new wishlist header
         * @fullPath api.items.itemWishlist.hdr.create
         * @service items
         * @domain user-preferences
         * @discoverable true
         */
        create: (usersId: number, itemWishlistHdrUid: number, data: CreateItemWishlistHdrRequest) => Promise<{
            params: Record<string, unknown> | unknown[];
            data: {
                itemWishlistHdrUid: number;
            } & {
                [k: string]: unknown;
            };
            options: Record<string, unknown> | unknown[];
            status: number;
            message: string;
            count: number;
            total: number;
            totalResults: number;
        }>;
        /**
         * Update wishlist header
         * @description Update existing wishlist header
         * @fullPath api.items.itemWishlist.hdr.update
         * @service items
         * @domain user-preferences
         * @discoverable true
         */
        update: (usersId: number, itemWishlistHdrUid: number, data: UpdateItemWishlistHdrRequest) => Promise<{
            params: Record<string, unknown> | unknown[];
            data: {
                itemWishlistHdrUid: number;
            } & {
                [k: string]: unknown;
            };
            options: Record<string, unknown> | unknown[];
            status: number;
            message: string;
            count: number;
            total: number;
            totalResults: number;
        }>;
        /**
         * Delete wishlist header
         * @description Delete existing wishlist header
         * @fullPath api.items.itemWishlist.hdr.delete
         * @service items
         * @domain user-preferences
         * @discoverable true
         */
        delete: (usersId: number, itemWishlistHdrUid: number) => Promise<{
            params: Record<string, unknown> | unknown[];
            data: {
                itemWishlistHdrUid: number;
            } & {
                [k: string]: unknown;
            };
            options: Record<string, unknown> | unknown[];
            status: number;
            message: string;
            count: number;
            total: number;
            totalResults: number;
        }>;
        /**
         * OpenAPI Path: /item-wishlist/{usersId}/hdr/{itemWishlistHdrUid}/line/{itemWishlistLineUid} → itemWishlist.hdr.line.*
         * @description Deep nested path for wishlist lines
         */
        line: {
            /**
             * Delete wishlist line
             * @description Remove item from wishlist
             * @fullPath api.items.itemWishlist.hdr.line.delete
             * @service items
             * @domain user-preferences
             * @discoverable true
             */
            delete: (usersId: number, itemWishlistHdrUid: number, itemWishlistLineUid: number) => Promise<{
                params: Record<string, unknown> | unknown[];
                data: {
                    itemWishlistLineUid: number;
                } & {
                    [k: string]: unknown;
                };
                options: Record<string, unknown> | unknown[];
                status: number;
                message: string;
                count: number;
                total: number;
                totalResults: number;
            }>;
        };
    };
};
/**
 * Creates the itemWishlistData resource methods (data-only versions)
 */
export declare function createItemWishlistDataResource(itemWishlist: ReturnType<typeof createItemWishlistResource>): {
    list: (usersId: number, params?: Record<string, unknown>) => Promise<import("zod").objectInputType<{
        itemWishlistHdrUid: import("zod").ZodNumber;
    }, import("zod").ZodTypeAny, "passthrough">[]>;
    create: (usersId: number, data: CreateItemWishlistHeaderRequest) => Promise<{
        itemWishlistHdrUid: number;
    } & {
        [k: string]: unknown;
    }>;
    hdr: {
        get: (usersId: number, itemWishlistHdrUid: number) => Promise<{
            itemWishlistHdrUid: number;
        } & {
            [k: string]: unknown;
        }>;
        create: (usersId: number, itemWishlistHdrUid: number, data: CreateItemWishlistHdrRequest) => Promise<{
            itemWishlistHdrUid: number;
        } & {
            [k: string]: unknown;
        }>;
        update: (usersId: number, itemWishlistHdrUid: number, data: UpdateItemWishlistHdrRequest) => Promise<{
            itemWishlistHdrUid: number;
        } & {
            [k: string]: unknown;
        }>;
        delete: (usersId: number, itemWishlistHdrUid: number) => Promise<{
            itemWishlistHdrUid: number;
        } & {
            [k: string]: unknown;
        }>;
        line: {
            delete: (usersId: number, itemWishlistHdrUid: number, itemWishlistLineUid: number) => Promise<{
                itemWishlistLineUid: number;
            } & {
                [k: string]: unknown;
            }>;
        };
    };
};
export type ItemWishlistResource = ReturnType<typeof createItemWishlistResource>;
export type ItemWishlistDataResource = ReturnType<typeof createItemWishlistDataResource>;
export {};
//# sourceMappingURL=item-wishlist.d.ts.map