import type { SharedWishlist } from '@farfetch/blackout-client'; import type { SharedWishlistEntity, SharedWishlistItemDenormalized, SharedWishlistItemEntity } from '../entities/types/index.js'; import type { StoreState } from '../types/index.js'; /** * Retrieves current user's shared wishlist id. * * @example * ``` * import { getSharedWishlistId } from '@farfetch/blackout-redux'; * * const mapStateToProps = state => ({ * sharedWishlistId: getSharedWishlistId(state) * }); * ``` * * @param state - Application state. * * @returns Shared Wishlist result. */ export declare const getSharedWishlistId: (state: StoreState) => string | null; /** * Retrieves the error state of the current user's shared wishlist. * * @example * ``` * import { getSharedWishlistError } from '@farfetch/blackout-redux'; * * const mapStateToProps = state => ({ * error: getSharedWishlistError(state) * }); * ``` * * @param state - Application state. * * @returns Error information, `undefined` if there are no errors. */ export declare const getSharedWishlistError: (state: StoreState) => import("@farfetch/blackout-client").BlackoutError | null; /** * Retrieves the loading status of the shared wishlist. * * This status is affected by the loading of the shared wishlist itself, as well as any * "add" operation. * * @example * ``` * import { isSharedWishlistLoading } from '@farfetch/blackout-redux'; * * const mapStateToProps = state => ({ * isLoading: isSharedWishlistLoading(state) * }); * ``` * * @param state - Application state. * * @returns Loading status of the wishlist. */ export declare const isSharedWishlistLoading: (state: StoreState) => boolean; /** * Retrieves a specific shared wishlist by its id, with all properties populated (ie, the * product). * * @example * ``` * import { getSharedWishlist } from '@farfetch/blackout-redux'; * * const mapStateToProps = (state, { sharedWishlists: { id } }) => ({ * sharedWishlist: getSharedWishlist(state, id) * }); * ``` * * @param state - Application state. * @param sharedWishlistId - Numeric identifier of the shared wishlist. * * @returns - Shared Wishlist item entity for the given id. */ export declare const getSharedWishlist: (state: StoreState, sharedWishlistId: SharedWishlist['id']) => SharedWishlistEntity | undefined; /** * Retrieves a specific shared wishlist item by its id, with all properties populated (ie, the * product). * * @example * ``` * import { getSharedWishlistItem } from '@farfetch/blackout-redux'; * * const mapStateToProps = (state, { sharedWishlistItem: { id } }) => ({ * sharedWishlistItem: getSharedWishlistItem(state, id) * }); * ``` * * @param state - Application state. * @param sharedWishlistItemId - Numeric identifier of the shared wishlist item. * * @returns - Shared Wishlist item entity for the given id. */ export declare const getSharedWishlistItem: (state: StoreState, sharedWishlistItemId: SharedWishlistItemEntity['id']) => SharedWishlistItemDenormalized | undefined; /** * Retrieves shared wishlist items from a specific wishlist * * @example * ``` * import { getSharedWishlistItems } from '@farfetch/blackout-redux'; * * const mapStateToProps = (state, { sharedWishlists: { id } }) => ({ * sharedWishlistItems: getSharedWishlistItems(state, id) * }); * ``` * * @param state - Application state. * @param sharedWishlistId - The id of the shared wishlist to get the items from. * * @returns - Shared Wishlist Items entity for the given id. */ export declare const getSharedWishlistItems: (state: StoreState, sharedWishlistId: SharedWishlistEntity['id']) => SharedWishlistItemDenormalized[] | undefined;