import * as _angular_core from '@angular/core'; interface TbxPagination { /** Gets or sets the total number of items. */ totalItems: number; /** Gets or sets the current page. */ currentPage: number; /** Gets or sets the number of items to display in a page. */ pageSize: number; /** Gets or sets the total number of pages based on total items and page size. */ totalPages: number; /** Gets or sets the start page number. */ startPage: number; /** Gets or sets the end page number. */ endPage: number; /** Gets or sets the index of the start item. */ startIndex: number; /** Gets or sets the index of the end item. */ endIndex: number; /** Gets or sets the number of pages. */ pages: number[]; } /** Models the data emitted on a page change event. */ interface TbxPaginationEvent { totalItems: number; selectedPage: number; selectedPageSize: number; totalPages: number; startPage: number; endPage: number; startIndex: number; endIndex: number; pages: number[]; } /** * Gets pagination information based on the specified information. * @param totalItems The total items. * @param currentPage The current page. * @param pageSize The number of items to display in the page. * @returns A {@link TbxPagination} with the pagination information. */ declare const calculatePages: (totalItems: number, currentPage?: number, pageSize?: number) => TbxPagination; /** * Displays pagination controls using Bootstrap's Pagination class. */ declare class TbxPaginationComponent { /** An array of sizes that can be selected (defaults to 10, 15, 25, 50, and 100). */ sizeOptions: _angular_core.InputSignal; /** Show/hide the drop-down to allow user to select different page sizes. */ showSizeOptions: _angular_core.InputSignal; /** The number of items per page to be displayed (defaults to 25). */ selectedSize: _angular_core.ModelSignal; /** The event when the user clicks on a page button. */ pageChange: _angular_core.OutputEmitterRef; /** Stores the pagination calculation. */ pagination?: TbxPagination; /** Stores a reference to the items to paginate against. */ private internalItemCount; /** The items to use in calculating the number of pages. */ get totalItems(): number; set totalItems(count: number); /** * Called when the user clicks on a page button. * @param page The page to display. * @param event The event details. */ onPageChange(page: number, event: MouseEvent): void; /** Called when the user selects a page size. */ selectSizeChange(): void; private calculate; private createPaginationEvent; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } export { TbxPaginationComponent, calculatePages }; export type { TbxPagination, TbxPaginationEvent };