import type { ProductEntity, ProductEntityDenormalized } from '../../entities/types/index.js'; import type { Label, Promotion } from '@farfetch/blackout-client'; import type { StoreState } from '../../types/index.js'; /** * Returns a specific product by its id. * * @param state - Application state. * @param productId - Numeric identifier of the product. * * @returns Product normalized. */ export declare const getProduct: (state: StoreState, productId: ProductEntity['id']) => ProductEntity | undefined; /** * Returns a specific product denormalized by its id . * * @param state - Application state. * @param productId - Numeric identifier of the product. * * @returns Product normalized. */ export declare const getProductDenormalized: (state: StoreState, productId: ProductEntity['id']) => ProductEntityDenormalized | undefined; /** * Checks if a specific product is "one size" by its id. * * @param state - Application state. * @param productId - Numeric identifier of the product. * * @returns If a certain product is one size or not. */ export declare const isProductOneSize: (state: StoreState, productId: ProductEntity['id']) => boolean | undefined; /** * Checks if a specific wishlist product is "out of stock" by its id. * * @param state - Application state. * @param productId - Numeric identifier of the product. * * @returns If a certain product is out of stock or not. */ export declare const isProductOutOfStock: (state: StoreState, productId: ProductEntity['id']) => boolean; /** * Returns the list of promotions for a product given its id. * * @param state - Application state. * @param productId - Numeric identifier of the product. * * @returns List of product promotions for the given ID. */ export declare const getProductPromotions: (state: StoreState, productId: ProductEntity['id']) => Promotion[]; /** * Gets all labels of a given product, sorted by the given priority order. * * @param state - Application state. * @param productId - Numeric identifier of the product. * @param sortOrder - Sorting order; can be 'asc' or 'desc'. * * @returns Labels sorted by the given order. */ export declare const getProductLabelsByPriority: (state: StoreState, productId: ProductEntity['id'], sortOrder?: 'asc' | 'desc') => Label[];