import { IkasCustomerReviewList, IkasProduct } from "../../../storefront-models/src"; /** * Calculates the total number of pages for a customer review list based on count and limit. * * @ai-category CustomerReview, Pagination * @ai-related hasCustomerReviewListPrevPage, hasCustomerReviewListNextPage, getCustomerReviewListPage * * @param list - The customer review list to calculate page count for. * @returns The total number of pages. * * @example * ```typescript * import { getCustomerReviewListPageCount } from "@ikas/bp-storefront"; * const totalPages = getCustomerReviewListPageCount(reviewList); * ``` */ export declare function getCustomerReviewListPageCount(list: IkasCustomerReviewList): number; /** * Checks whether the customer review list has a previous page available for navigation. * * @ai-category CustomerReview, Pagination * @ai-related hasCustomerReviewListNextPage, getCustomerReviewListPrev, getCustomerReviewListPageCount * * @param list - The customer review list to check for a previous page. * @returns True if a previous page exists, false otherwise. * * @example * ```typescript * import { hasCustomerReviewListPrevPage } from "@ikas/bp-storefront"; * if (hasCustomerReviewListPrevPage(reviewList)) { * // Show previous page button * } * ``` */ export declare function hasCustomerReviewListPrevPage(list: IkasCustomerReviewList): boolean; /** * Checks whether the customer review list has a next page available for navigation. * * @ai-category CustomerReview, Pagination * @ai-related hasCustomerReviewListPrevPage, getCustomerReviewListNextPage, getCustomerReviewListPageCount * * @param list - The customer review list to check for a next page. * @returns True if a next page exists, false otherwise. * * @example * ```typescript * import { hasCustomerReviewListNextPage } from "@ikas/bp-storefront"; * if (hasCustomerReviewListNextPage(reviewList)) { * // Show next page button * } * ``` */ export declare function hasCustomerReviewListNextPage(list: IkasCustomerReviewList): boolean; /** * Fetches and populates the initial data for a customer review list, including the first page of reviews. * * @ai-category CustomerReview, ReviewList * @ai-related getCustomerReviewListPage, getCustomerReviewListNextPage, getCustomerReviewListPrev * * @param list - The customer review list to initialize with data. * @returns A promise that resolves when the initial data has been loaded. * * @example * ```typescript * import { getCustomerReviewListInitialData } from "@ikas/bp-storefront"; * await getCustomerReviewListInitialData(reviewList); * ``` */ export declare function getCustomerReviewListInitialData(list: IkasCustomerReviewList): Promise; /** * Fetches the previous page of customer reviews and prepends them to the existing list data. * * @ai-category CustomerReview, Pagination * @ai-related hasCustomerReviewListPrevPage, getCustomerReviewListNextPage, getCustomerReviewListPage * * @param list - The customer review list to load the previous page for. * @returns A promise that resolves when the previous page has been loaded and prepended. * * @example * ```typescript * import { getCustomerReviewListPrev, hasCustomerReviewListPrevPage } from "@ikas/bp-storefront"; * if (hasCustomerReviewListPrevPage(reviewList)) { * await getCustomerReviewListPrev(reviewList); * } * ``` */ export declare function getCustomerReviewListPrev(list: IkasCustomerReviewList): Promise; /** * Fetches the next page of customer reviews and appends them to the existing list data. * * @ai-category CustomerReview, Pagination * @ai-related hasCustomerReviewListNextPage, getCustomerReviewListPrev, getCustomerReviewListPage * * @param list - The customer review list to load the next page for. * @returns A promise that resolves when the next page has been loaded and appended. * * @example * ```typescript * import { getCustomerReviewListNextPage, hasCustomerReviewListNextPage } from "@ikas/bp-storefront"; * if (hasCustomerReviewListNextPage(reviewList)) { * await getCustomerReviewListNextPage(reviewList); * } * ``` */ export declare function getCustomerReviewListNextPage(list: IkasCustomerReviewList): Promise; /** * Navigates to a specific page of customer reviews, replacing the current list data with the requested page. * * @ai-category CustomerReview, Pagination * @ai-related getCustomerReviewListNextPage, getCustomerReviewListPrev, getCustomerReviewListPageCount * * @param list - The customer review list to load the page for. * @param page - The page number to navigate to. * @returns A promise that resolves when the specified page has been loaded. * * @example * ```typescript * import { getCustomerReviewListPage } from "@ikas/bp-storefront"; * await getCustomerReviewListPage(reviewList, 3); * ``` */ export declare function getCustomerReviewListPage(list: IkasCustomerReviewList, page: number): Promise; /** * Retrieves customer reviews for a specific product, including reviews for bundle sub-products if applicable. * * @ai-category CustomerReview, ProductReview * @ai-related getCustomerReviewListInitialData, getCustomerReviewListPage, getCustomerReviewListNextPage * * @param product - The product to fetch customer reviews for. * @param limit - The maximum number of reviews per page (defaults to 5). * @param page - The page number to fetch (defaults to 1). * @param hasImage - Optional filter to only include reviews that have images. * @returns A promise that resolves to an initialized customer review list with the fetched data. * * @example * ```typescript * import { getProductCustomerReviews } from "@ikas/bp-storefront"; * const reviewList = await getProductCustomerReviews(product, 10, 1, true); * ``` */ export declare function getProductCustomerReviews(product: IkasProduct, limit?: number, page?: number, hasImage?: boolean): Promise;