import { CreateItemFavoriteRequest, UpdateItemFavoriteRequest } from '../schemas';
import type { ItemsClient } from '../client';
type ExecuteRequest = ItemsClient['executeRequest'];
/**
 * Creates the itemFavorites resource methods
 * OpenAPI Path: /item-favorites/{usersId} → itemFavorites.* (with required parameter)
 * @description Methods for managing user item favorites
 */
export declare function createItemFavoritesResource(executeRequest: ExecuteRequest): {
    /**
     * List user favorites
     * @description Get favorites for a specific user
     * @fullPath api.items.itemFavorites.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<{
            itemFavoritesUid: import("zod").ZodNumber;
        }, import("zod").ZodTypeAny, "passthrough">[];
        options: Record<string, unknown> | unknown[];
        status: number;
        message: string;
        count: number;
        total: number;
        totalResults: number;
    }>;
    /**
     * Create user favorite
     * @description Add item to user's favorites
     * @fullPath api.items.itemFavorites.create
     * @service items
     * @domain user-preferences
     * @discoverable true
     */
    create: (usersId: number, data: CreateItemFavoriteRequest) => Promise<{
        params: Record<string, unknown> | unknown[];
        data: {
            itemFavoritesUid: number;
        } & {
            [k: string]: unknown;
        };
        options: Record<string, unknown> | unknown[];
        status: number;
        message: string;
        count: number;
        total: number;
        totalResults: number;
    }>;
    /**
     * Update user favorite
     * @description Update item in user's favorites
     * @fullPath api.items.itemFavorites.update
     * @service items
     * @domain user-preferences
     * @discoverable true
     */
    update: (usersId: number, invMastUid: number, data: UpdateItemFavoriteRequest) => Promise<{
        params: Record<string, unknown> | unknown[];
        data: {
            itemFavoritesUid: number;
        } & {
            [k: string]: unknown;
        };
        options: Record<string, unknown> | unknown[];
        status: number;
        message: string;
        count: number;
        total: number;
        totalResults: number;
    }>;
    /**
     * Delete user favorite
     * @description Remove item from user's favorites
     * @fullPath api.items.itemFavorites.delete
     * @service items
     * @domain user-preferences
     * @discoverable true
     */
    delete: (usersId: number, invMastUid: number) => Promise<{
        params: Record<string, unknown> | unknown[];
        data: {
            itemFavoritesUid: number;
        } & {
            [k: string]: unknown;
        };
        options: Record<string, unknown> | unknown[];
        status: number;
        message: string;
        count: number;
        total: number;
        totalResults: number;
    }>;
};
/**
 * Creates the itemFavoritesData resource methods (data-only versions)
 */
export declare function createItemFavoritesDataResource(itemFavorites: ReturnType<typeof createItemFavoritesResource>): {
    list: (usersId: number, params?: Record<string, unknown>) => Promise<import("zod").objectInputType<{
        itemFavoritesUid: import("zod").ZodNumber;
    }, import("zod").ZodTypeAny, "passthrough">[]>;
    create: (usersId: number, data: CreateItemFavoriteRequest) => Promise<{
        itemFavoritesUid: number;
    } & {
        [k: string]: unknown;
    }>;
    update: (usersId: number, invMastUid: number, data: UpdateItemFavoriteRequest) => Promise<{
        itemFavoritesUid: number;
    } & {
        [k: string]: unknown;
    }>;
    delete: (usersId: number, invMastUid: number) => Promise<{
        itemFavoritesUid: number;
    } & {
        [k: string]: unknown;
    }>;
};
export type ItemFavoritesResource = ReturnType<typeof createItemFavoritesResource>;
export type ItemFavoritesDataResource = ReturnType<typeof createItemFavoritesDataResource>;
export {};
//# sourceMappingURL=item-favorites.d.ts.map