import * as i0 from '@angular/core'; import { OnChanges, EventEmitter, SimpleChanges, InjectionToken, OnInit, OnDestroy } from '@angular/core'; import * as i1 from '@angular/router'; import * as i1$1 from '@sbb-esta/angular/core'; import * as i3 from '@sbb-esta/angular/icon'; import { Observable } from 'rxjs'; type SbbNavigationPageChangeEvent = 'next' | 'previous'; declare class SbbNavigation implements OnChanges { /** The next page descriptor. */ nextPage: string | null; /** The previous page descriptor. */ previousPage: string | null; /** This event can be used by parent components to handle events on page change. */ pageChange: EventEmitter; ngOnChanges(changes: SimpleChanges): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } /** * Change event object that is emitted when the user selects a * different page size or navigates to another page. */ declare class SbbPageEvent { pageIndex: number; previousPageIndex: number; pageSize: number; length: number; /** * * @param pageIndex current page index * @param previousPageIndex index of the page that was selected previously * @param pageSize current page size * @param length current total number of items being paged */ constructor(pageIndex: number, previousPageIndex: number, pageSize: number, length: number); } /** Object that can be used to configure the default options for the paginator module. */ interface SbbPaginatorDefaultOptions { /** Number of items to display on a page. By default set to 50. */ pageSize?: number; } /** Injection token that can be used to provide the default options for the paginator module. */ declare const SBB_PAGINATOR_DEFAULT_OPTIONS: InjectionToken; /** * Component to provide navigation between paged information. Displays the size of the current * page, user-selectable options to change that size, what items are being shown, and * navigational button to go to the previous or next page. */ declare class SbbPaginator implements OnInit, OnDestroy { _labelPreviousPage: string; _labelNextPage: string; private _changeDetectorRef; private _previousPageSize; private _isInitialized; private _initializedStream; /** The zero-based page index of the displayed list of items. Defaulted to 0. */ get pageIndex(): number; set pageIndex(value: number); private _pageIndex; /** The length of the total number of items that are being paginated. Defaulted to 0. */ get length(): number; set length(value: number); private _length; /** Number of items to display on a page. By default set to 50. */ get pageSize(): number; set pageSize(value: number); private _pageSize; /** Whether the paginator is disabled. */ disabled: boolean; /** Event emitted when the paginator changes the page size or page index. */ readonly page: EventEmitter; /** Emits when the paginator is initialized. */ initialized: Observable; constructor(...args: unknown[]); ngOnInit(): void; ngOnDestroy(): void; /** @docs-private */ _pageRange(): Array; /** Advances to the next page if it exists. */ nextPage(): void; /** Move back to the previous page if it exists. */ previousPage(): void; /** Move to the first page if not already there. */ firstPage(): void; /** Move to the last page if not already there. */ lastPage(): void; /** Move to a specific page index. */ selectPage(index: number): void; /** Whether there is a previous page. */ hasPreviousPage(): boolean; /** Whether there is a next page. */ hasNextPage(): boolean; /** Calculate the number of pages */ numberOfPages(): number; /** * Changes the page size so that the first item displayed on the page will still be * displayed using the new page size. * * For example, if the page size is 10 and on the second page (items indexed 10-19) then * switching so that the page size is 5 will set the third page as the current page so * that the 10th item will still be displayed. */ private _changePageSize; /** Emits an event notifying that a change of the paginator's properties has been triggered. */ private _emitPageEvent; /** * @docs-private * Checks whether the buttons for going forwards should be disabled. */ _nextButtonDisabled(): boolean; /** * @docs-private * Checks whether the buttons for going backwards should be disabled. */ _previousButtonDisabled(): boolean; /** Ensures that pageIndex is in range of pages. */ private _coercePageIndexInRange; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; static ngAcceptInputType_disabled: unknown; static ngAcceptInputType_pageIndex: unknown; static ngAcceptInputType_length: unknown; static ngAcceptInputType_pageSize: unknown; } declare class SbbPaginationModule { static ɵfac: i0.ɵɵFactoryDeclaration; static ɵmod: i0.ɵɵNgModuleDeclaration; static ɵinj: i0.ɵɵInjectorDeclaration; } export { SBB_PAGINATOR_DEFAULT_OPTIONS, SbbNavigation, SbbPageEvent, SbbPaginationModule, SbbPaginator }; export type { SbbNavigationPageChangeEvent, SbbPaginatorDefaultOptions };