/** * Shared behaviour for all paginator implementations. */ export declare abstract class AbstractPaginator { protected readonly pageItems: T[]; protected perPageCount: number; protected currentPath: string; protected queryParams: Record; protected fragmentString: string | null; /** * @param items - Items for the current page. * @param perPage - Requested page size. * @param path - Base URL path (may include existing query string). * @param query - Extra query parameters merged into generated URLs. * @param fragment - Optional URL fragment (without `#`). */ protected constructor(items: T[], perPage: number, path: string, query?: Record, fragment?: string | null); /** Items on the current page. */ items(): T[]; /** Number of items on this page. */ count(): number; isEmpty(): boolean; isNotEmpty(): boolean; perPage(): number; /** * Append query string values used when building pagination links. */ appends(key: string | Record, value?: string): this; /** Replace the base path used for links. */ withPath(path: string): this; /** * Merge query values from the optional global resolver (e.g. current HTTP request). */ withQueryString(): this; /** Set the URL fragment appended to generated links. */ fragment(fragment: string | null): this; firstItem(): T | undefined; lastItem(): T | undefined; [Symbol.iterator](): Iterator; map(callback: (item: T, index: number) => U): U[]; /** @internal */ static currentQueryResolver: (() => Record) | undefined; /** * Register a resolver that {@link withQueryString} merges into link URLs. */ static resolveQueryString(resolver: () => Record): void; abstract toJSON(): unknown; } //# sourceMappingURL=AbstractPaginator.d.ts.map