import { LitElement, nothing } from 'lit'; import { type StateController } from '../controllers/state.js'; /** * Pagination toolbar rendered beneath the grid body. * * @remarks * Drives {@link PaginationController} on the host grid. The component is purely * presentational — page transitions go through the controller so they emit the * cancellable `pageChanging` event and the post-update `pageChanged` event. * * @element apex-grid-paginator * * @csspart paginator - The root container. * @csspart paginator-size - The page-size selector wrapper. * @csspart paginator-info - The "1–25 of 100" status label. * @csspart paginator-controls - The first/prev/next/last button cluster. * @csspart paginator-page - The "Page X of N" status label. */ export default class ApexGridPaginator extends LitElement { #private; static get tagName(): "apex-grid-paginator"; static styles: import("lit").CSSResult; /** * Registers the `` element and its dependencies. Idempotent. */ static register(): void; state: StateController; /** * The page-size choices rendered in the rows-per-page selector. * * @remarks * Defaults to `[10, 25, 50, 100]`. */ pageSizeOptions: number[]; /** * Accessible label for the rows-per-page selector. */ pageSizeLabel: string; protected get controller(): import("../controllers/pagination.js").PaginationController; protected renderSizeSelect(): import("lit-html").TemplateResult<1>; protected renderInfo(): import("lit-html").TemplateResult<1>; protected renderButton(opts: { id: string; icon: string; label: string; disabled: boolean; onClick: () => void; }): import("lit-html").TemplateResult<1>; protected renderControls(): import("lit-html").TemplateResult<1>; protected render(): import("lit-html").TemplateResult<1> | typeof nothing; } declare global { interface HTMLElementTagNameMap { [ApexGridPaginator.tagName]: ApexGridPaginator; } }