import * as _angular_core from '@angular/core'; /** * @license * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://github.com/thekhegay/ngwr/blob/main/LICENSE */ /** * Horizontal alignment of the pagination row. */ type WrPaginationAlign = 'start' | 'center' | 'end'; /** * @license * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://github.com/thekhegay/ngwr/blob/main/LICENSE */ /** * Corner treatment for pagination cells. * * - `rounded` (default) — matches the rest of the form vocabulary. * - `square` — sharp corners; reads as a tighter numeric grid. */ type WrPaginationShape = 'rounded' | 'square'; /** * @license * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://github.com/thekhegay/ngwr/blob/main/LICENSE */ /** * Size variant. Cascades the matching `` size to every cell. */ type WrPaginationSize = 'sm' | 'md' | 'lg'; declare const ELLIPSIS: "\u2026"; type PageEntry = number | typeof ELLIPSIS; /** * Numbered page navigator with optional total / page-size controls. * * Two-way binds `currentPage` and `pageSize` via signal `model()` inputs. * * @example * ```html * * ``` * * @see https://ngwr.dev/components/pagination */ declare class WrPagination { /** Currently displayed page (1-based). Two-way bindable. */ readonly currentPage: _angular_core.ModelSignal; /** Items per page. Two-way bindable. */ readonly pageSize: _angular_core.ModelSignal; /** Total item count across all pages. */ readonly total: _angular_core.InputSignalWithTransform; /** Options shown in the page-size dropdown. */ readonly pageSizeOptions: _angular_core.InputSignal; /** Render the page-size dropdown. @default false */ readonly showSizeChanger: _angular_core.InputSignalWithTransform; /** Render the "X–Y of Z" total label. @default false */ readonly showTotal: _angular_core.InputSignalWithTransform; /** Horizontal alignment. @default 'start' */ readonly align: _angular_core.InputSignal; /** Size variant — cascades to every internal button. @default 'sm' */ readonly size: _angular_core.InputSignal; /** Cell corner treatment. @default 'rounded' */ readonly shape: _angular_core.InputSignal; /** Disable interaction. @default false */ readonly disabled: _angular_core.InputSignalWithTransform; /** * Collapse to a compact `‹ page / total ›` pager when the control's own box * is too narrow for the full numbered strip (a container query on its own * width, not the viewport). @default false */ readonly responsive: _angular_core.InputSignalWithTransform; /** Localised text between range and total ("X–Y of Z"). Falls back to `pagination.of` then `'of'`. */ readonly ofLabel: _angular_core.InputSignal; /** Previous-page button aria-label. Falls back to `pagination.prev`. */ readonly prevLabel: _angular_core.InputSignal; /** Next-page button aria-label. Falls back to `pagination.next`. */ readonly nextLabel: _angular_core.InputSignal; /** "Items per page" label. Falls back to `pagination.itemsPerPage`. */ readonly itemsPerPageLabel: _angular_core.InputSignal; /** Resolved labels. */ protected readonly resolvedOf: _angular_core.Signal; protected readonly resolvedPrev: _angular_core.Signal; protected readonly resolvedNext: _angular_core.Signal; protected readonly resolvedItemsPerPage: _angular_core.Signal; /** Internal: total page count. */ protected readonly totalPages: _angular_core.Signal; /** Internal: "X–Y of Z" string. */ protected readonly rangeLabel: _angular_core.Signal; /** * Internal: page list with ellipses. Window of 7 visible page slots. * * 1 … 5 6 [7] 8 9 … 20 */ protected readonly pages: _angular_core.Signal; protected readonly ellipsis: "…"; protected readonly classes: _angular_core.Signal; protected isCurrent(page: number): boolean; protected goTo(page: number | typeof ELLIPSIS): void; protected onSizeChange(size: number): void; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } export { WrPagination }; export type { WrPaginationAlign };