import { EventEmitter } from '../../stencil-public-runtime'; /** * ## Design System * * Para a documentação completa de design, incluindo diretrizes de uso, acessibilidade e exemplos visuais, consulte o [Design System do GovBR](https://www.gov.br/ds/components/pagination?tab=designer). * * @part nav - Parte para o contêiner raiz da paginação (elemento nav), usada para estilização via ::part(). * @part list - Parte para a lista de páginas (elemento ul), usada para estilização via ::part(). * @part page - Parte para os itens de página numérica (elemento a), usada para estilização via ::part(). * @part prev-button - Parte para o botão de página anterior, usada para estilização via ::part(). * @part next-button - Parte para o botão de próxima página, usada para estilização via ::part(). */ export declare class Pagination { private static instanceCounter; private readonly instanceIndex; /** * Referência ao elemento host do componente. * Utilize esta propriedade para acessar e manipular o elemento do DOM associado ao componente. */ el: HTMLBrPaginationElement; elementInternals: ElementInternals; /** * Estado interno para responsividade. Verdadeiro quando viewport < sm. */ private isSmall; private mqlSmall?; private lastInteraction?; /** * Define se a paginação usará um esquema de cores escuro. * Quando definido como `dark`, aplica a classe `dark-mode` ao container principal. */ readonly colorMode?: 'dark'; /** * Identificador único; gerado automaticamente quando omitido. */ readonly customId: string; /** * Quantidade total de páginas (mínimo 1). */ readonly total: number; /** * Página atual (1-indexada). Valores fora do intervalo serão ajustados. */ current: number; /** * Rótulo acessível do container `nav`. * Se não fornecido, será gerado automaticamente um rótulo descritivo e único * no momento da renderização (ex.: "Paginação: página 2 de 10"). */ readonly ariaLabel: string; /** * Rótulo acessível do botão de página anterior. */ readonly previousLabel: string; /** * Rótulo acessível do botão de próxima página. */ readonly nextLabel: string; /** * Rótulo acessível do botão de reticências que abre a lista de páginas ocultas. */ readonly ellipsisLabel: string; /** * Ajusta a densidade da paginação, alterando o espaçamento interno para um visual mais compacto ou mais expandido. */ readonly density: 'large' | 'medium' | 'small'; /** * Variante de renderização do componente. * - `default`: paginação numérica (padrão) * - `contextual`: paginação contextual com seletores e informação de itens */ readonly variant: 'default' | 'contextual'; /** * Total de itens (aplicável na variante contextual). */ readonly totalItems?: number; /** * Itens por página (aplicável na variante contextual). */ perPage: number; /** * Opções disponíveis de itens por página (variante contextual). */ perPageOptions: number[]; /** * Rótulo do seletor de itens por página (variante contextual). */ readonly perPageLabel: string; /** * Rótulo do seletor "ir para página" (variante contextual). */ readonly goToPageLabel: string; /** * Sufixo textual para a informação de quantidade de itens (variante contextual). */ readonly itemsText: string; /** * Emite quando a página muda por interação do usuário. */ pageChange: EventEmitter<{ page: number; }>; /** * Emite quando o valor de itens por página é alterado (variante contextual). */ perPageChange: EventEmitter<{ perPage: number; }>; handleTotalChange(): void; handleCurrentChange(newValue: number): void; componentWillLoad(): void; connectedCallback(): void; disconnectedCallback(): void; private setupMediaQuery; private cleanupMediaQuery; private getCssClassMap; private clampPage; private readonly goTo; private readonly handlePrevClick; private readonly handleNextClick; private readonly handlePageClickFactory; private readonly handleEllipsisItemClickFactory; private getVisiblePageButtons; private focusPageButtonByIndex; private readonly handlePageKeyDown; private queueFocusAfterNavigation; private getComputedNavAriaLabel; private renderPageButton; private renderEllipsis; private renderPages; private getTotalPages; private getRangeInfo; private readonly handlePerPageChange; private renderPerPageDropdown; private renderPerPageSelect; private readonly handleGoToPageChange; private renderGoToSelect; private renderContextual; render(): any; }