import { WishListDTO, WishListItemDraftDTO } from '@sentecacommerce/sdk';
import { QueryResult, MutationResultPair, InfiniteQueryResult } from 'react-query';
export declare const cacheKeys: {
    useGet: string;
    useGetCompact: string;
    useIsExisting: string;
};
export declare const WISHLIST_STORAGE_KEY = "__WISHLIST__";
declare type WishlistApiType = {
    readonly useGet: (query?: {
        limit: number;
        offset: number;
    }) => InfiniteQueryResult<WishListDTO, unknown>;
    readonly useGetCompact: () => QueryResult<CompactWishlist, unknown>;
    readonly useIsExisting: (productId: string, variantId: string) => QueryResult<boolean, unknown>;
    readonly useAdd: (onSuccess?: () => void) => MutationResultPair<WishListDTO, unknown, WishListItemDraftDTO, unknown>;
    readonly useSync: (onSuccess?: () => void) => MutationResultPair<WishListDTO, unknown, {
        query?: {
            storeKey?: string;
            currencyCode?: string;
            languageCode?: string;
            priceListKey?: string;
            time?: number;
            merchantKey?: string;
            expand?: string;
            project?: string;
        };
    }, unknown>;
    readonly useRemove: (onSuccess?: () => void) => MutationResultPair<WishListDTO, unknown, {
        productId: string;
        variantId?: string;
        collapseKey?: string;
    }, unknown>;
    readonly useRemoveBulk: (onSuccess?: () => void) => MutationResultPair<WishListDTO, unknown, {
        productId: string;
        collapseKey?: string;
        variantId?: string;
    }[], unknown>;
};
export declare type CompactWishlist = {
    items: {
        [productId: string]: {
            [variantId: string]: string | undefined;
        };
    };
    itemsCount: number;
};
export declare const WishlistApiFactory: {
    getInstance: () => WishlistApiType;
};
export declare const wishlistApi: WishlistApiType;
export {};
