import { ListController } from "./listController"; import { IListPageRender } from "../interface/list"; export declare class PageController extends ListController { /** Default size of a "page" in "blocks" */ private static readonly PAGE_STRIDE; static single(load: () => Promise): PageController; /** Factory for a ListController that loads data in pages */ static paging(load: (offset: number, limit: number) => Promise): PageController; private pageStride; /** Update the number of "blocks" to render in a single page */ set blockStride(value: number); /** Zero-indexed page number */ private page; /** Zero-indexed page update */ private updatePage; /** 1-indexed page number */ get currentPage(): number; /** Number of pages to fit loaded list items */ get lastPage(): number; get canPageForward(): boolean; get canPageBackward(): boolean; get rowsPerPage(): number; /** Set page */ setPage(page: number): void; /** Change page relative to current page */ pageRelative(offset: number): void; render(callback: (params: IListPageRender) => C): C[]; debug(): { blockStride: number; page: number; data: number; filtered: number; blocks: number; start: number; end: number; }; /** Initialise page & ensure page range is available in blockStore */ protected updateBlockRange(): void; }