import { UmbControllerBase } from '../../../../../../libs/class-api/index.js'; import type { UmbEntityModel } from '../../../../entity/index.js'; export declare class UmbTargetPaginationManager extends UmbControllerBase { #private; readonly takeSize: import("rxjs").Observable; readonly totalItems: import("rxjs").Observable; readonly totalPrevItems: import("rxjs").Observable; readonly totalNextItems: import("rxjs").Observable; /** * Gets the target that the pagination is based around * @returns {UmbEntityModel | undefined} - The target item that the pagination is based around * @memberof UmbTargetPaginationManager */ getBaseTarget(): UmbEntityModel | undefined; /** * Set the target that the pagination will be based around * @param {(UmbEntityModel | undefined)} target - The target * @memberof UmbTargetPaginationManager */ setBaseTarget(target: UmbEntityModel | undefined): void; /** * Gets a new baseTarget from the already loaded items * @returns {UmbEntityModel | undefined} - The new target item or undefined if no new target could be found * @memberof UmbTargetPaginationManager */ getNewBaseTarget(): UmbEntityModel | undefined; /** * Checks if the Base Target is part of the current items * @returns {boolean} True if the Base Target is in the current items, false otherwise * @memberof UmbTargetPaginationManager */ hasBaseTargetInCurrentItems(): boolean; /** * Gets the number of items per page * @returns {number} * @memberof UmbPaginationManager */ getTakeSize(): number; /** * Sets the number of items per page and recalculates the total number of pages * @param {number} pageSize * @memberof UmbPaginationManager */ setTakeSize(pageSize: number): void; /** * Gets the items currently used in the pagination calculations. * @returns {Array} - The current items that are part of the paging * @memberof UmbTargetPaginationManager */ getCurrentItems(): Array; /** * Sets the items that will be used in the pagination manager. The items will be used to calculate start and end targets. * @param {Array} items - The items to set * @memberof UmbTargetPaginationManager */ setCurrentItems(items: Array): void; /** * Prepend more items to the manager. Use when more items before the base target has been loaded. * @param {Array} items - The items to prepend * @memberof UmbTargetPaginationManager */ prependCurrentItems(items: Array): void; /** * Append more items to the manager. Use when more item after the base target has been loaded. * @param {Array} items - The items to append * @returns {void} * @memberof UmbTargetPaginationManager */ appendCurrentItems(items: Array): void; /** * Removes an item from the current items * @param {UmbEntityModel} entity * @memberof UmbTargetPaginationManager */ removeFromCurrentItems(entity: UmbEntityModel): void; /** * Gets the total number of items * @returns {number} * @memberof UmbPaginationManager */ getTotalItems(): number; /** * Sets the total number of items and recalculates the total number of pages * @param {number} totalItems * @memberof UmbPaginationManager */ setTotalItems(totalItems: number): void; /** * Gets the first target of the current item. Use for loading more items before the base target * @returns {UmbEntityModel} - The target item to load more items before * @memberof UmbTargetPaginationManager */ getStartTarget(): UmbEntityModel; /** * Gets a new start target for the current item. Use for loading more items before the base target * @returns {UmbEntityModel | undefined} - The target item to load more items before * @memberof UmbTargetPaginationManager */ getNewStartTarget(): UmbEntityModel | undefined; /** * Gets the last target of the current items. Use for load more items after the base target * @returns {UmbEntityModel} - The target item to load more items before * @memberof UmbTargetPaginationManager */ getEndTarget(): UmbEntityModel; /** * Gets a new end target for the current item. Use for loading more items after the base target * @returns {UmbEntityModel | undefined} - The target item to load more items after * @memberof UmbTargetPaginationManager */ getNewEndTarget(): UmbEntityModel | undefined; setTotalItemsBeforeStartTarget(totalItems: number | undefined): void; setTotalItemsAfterEndTarget(totalItems: number | undefined): void; /** * Gets the number of current items before the target * @returns {number} - The number of items * @memberof UmbTargetPaginationManager */ getNumberOfCurrentItemsBeforeBaseTarget(): number; /** * Gets the number of current items after the target * @returns {number} - The number of items * @memberof UmbTargetPaginationManager */ getNumberOfCurrentItemsAfterBaseTarget(): number; /** * Clears the pagination manager values and resets them to their default values * @memberof UmbPaginationManager */ clear(): void; }