import { IkasBlogCategoryList } from "../../../storefront-models/src"; /** * Calculates the total number of pages in a blog category list based on item count and page limit. * * @ai-category BlogCategoryList, Pagination * @ai-related hasBlogCategoryListPrevPage, hasBlogCategoryListNextPage, getBlogCategoryListPage * * @param list - The blog category list instance to calculate page count for. * @returns The total number of pages, rounded up to the nearest integer. * * @example * ```typescript * import { getBlogCategoryListPageCount } from "@ikas/bp-storefront"; * * const totalPages = getBlogCategoryListPageCount(blogCategoryList); * console.log(`There are ${totalPages} pages of blog categories.`); * ``` */ export declare function getBlogCategoryListPageCount(list: IkasBlogCategoryList): number; /** * Checks whether the blog category list is configured as a static list with manually selected categories. * * @ai-category BlogCategoryList, Listing * @ai-related getBlogCategoryListInitialData, getBlogCategoryListPageCount * * @param list - The blog category list instance to check. * @returns True if the list type is "STATIC", false otherwise. * * @example * ```typescript * import { isBlogCategoryListStatic } from "@ikas/bp-storefront"; * * if (isBlogCategoryListStatic(blogCategoryList)) { * console.log("This list uses statically selected blog categories."); * } * ``` */ export declare function isBlogCategoryListStatic(list: IkasBlogCategoryList): boolean; /** * Determines whether a previous page of blog categories is available for loading. * * @ai-category BlogCategoryList, Pagination * @ai-related hasBlogCategoryListNextPage, getBlogCategoryListPrevPage, getBlogCategoryListPageCount * * @param list - The blog category list instance to check. * @returns True if there is a previous page available, false if the list is static or already at the first page. * * @example * ```typescript * import { hasBlogCategoryListPrevPage } from "@ikas/bp-storefront"; * * if (hasBlogCategoryListPrevPage(blogCategoryList)) { * console.log("Previous page of blog categories is available."); * } * ``` */ export declare function hasBlogCategoryListPrevPage(list: IkasBlogCategoryList): boolean; /** * Determines whether a next page of blog categories is available for loading. * * @ai-category BlogCategoryList, Pagination * @ai-related hasBlogCategoryListPrevPage, getBlogCategoryListNextPage, getBlogCategoryListPageCount * * @param list - The blog category list instance to check. * @returns True if there are more pages of blog categories beyond the current page, false if the list is static or at the last page. * * @example * ```typescript * import { hasBlogCategoryListNextPage } from "@ikas/bp-storefront"; * * if (hasBlogCategoryListNextPage(blogCategoryList)) { * console.log("More blog categories are available on the next page."); * } * ``` */ export declare function hasBlogCategoryListNextPage(list: IkasBlogCategoryList): boolean; /** * Fetches and populates the initial data for a blog category list, handling both static and dynamic list types. * * @ai-category BlogCategoryList, Listing * @ai-related isBlogCategoryListStatic, getBlogCategoryListPageCount, getBlogCategoryListPage * * @param list - The blog category list instance to initialize with data from the API. * @returns A promise that resolves when the initial data has been loaded and assigned to the list. * * @example * ```typescript * import { getBlogCategoryListInitialData } from "@ikas/bp-storefront"; * * await getBlogCategoryListInitialData(blogCategoryList); * console.log("Blog category list initialized:", blogCategoryList.data); * ``` */ export declare function getBlogCategoryListInitialData(list: IkasBlogCategoryList): Promise; /** * Loads the previous page of blog categories and prepends the results to the existing list data. * * @ai-category BlogCategoryList, Pagination * @ai-related getBlogCategoryListNextPage, hasBlogCategoryListPrevPage, getBlogCategoryListPage * * @param list - The blog category list instance to load the previous page for. * @returns A promise that resolves when the previous page data has been prepended, or returns immediately if the list is static, already loading, or has no previous page. * * @example * ```typescript * import { getBlogCategoryListPrevPage } from "@ikas/bp-storefront"; * * await getBlogCategoryListPrevPage(blogCategoryList); * console.log("Previous page loaded:", blogCategoryList.data); * ``` */ export declare function getBlogCategoryListPrevPage(list: IkasBlogCategoryList): Promise; /** * Loads the next page of blog categories and appends the results to the existing list data. * * @ai-category BlogCategoryList, Pagination * @ai-related getBlogCategoryListPrevPage, hasBlogCategoryListNextPage, getBlogCategoryListPage * * @param list - The blog category list instance to load the next page for. * @returns A promise that resolves when the next page data has been appended, or returns immediately if the list is static, already loading, or has no next page. * * @example * ```typescript * import { getBlogCategoryListNextPage } from "@ikas/bp-storefront"; * * await getBlogCategoryListNextPage(blogCategoryList); * console.log("Next page loaded:", blogCategoryList.data); * ``` */ export declare function getBlogCategoryListNextPage(list: IkasBlogCategoryList): Promise; /** * Navigates to a specific page of blog categories, replacing the current list data with the requested page. * * @ai-category BlogCategoryList, Pagination * @ai-related getBlogCategoryListPrevPage, getBlogCategoryListNextPage, getBlogCategoryListPageCount * * @param list - The blog category list instance to navigate. * @param page - The page number to load. * @returns A promise that resolves when the specified page data has been loaded, or returns immediately if the list is static or already loading. * * @example * ```typescript * import { getBlogCategoryListPage } from "@ikas/bp-storefront"; * * await getBlogCategoryListPage(blogCategoryList, 3); * console.log("Page 3 loaded:", blogCategoryList.data); * ``` */ export declare function getBlogCategoryListPage(list: IkasBlogCategoryList, page: number): Promise;