import * as React from 'react'; import { IAnalyticableOnChange, IControlled, IDisableable, IHasRawProps, UuiContexts } from '@epam/uui-core'; export interface PaginatorRenderParams extends IHasRawProps> { /** Array of pages that should be rendered */ pages: PaginatorItem[]; /** Call to go to the next page */ goToNext(): void; /** Call to go to the previous page */ goToPrev(): void; /** True, if current page is last */ isLast: boolean; /** True, if current page is first */ isFirst: boolean; } interface PaginatorItem { /** Type of item. * Page - usual page item * Spacer - item to indicate skipped pages between current page set and start or end of the page list. Usually rendered as '...' * */ type: 'page' | 'spacer'; /** Number of the page */ pageNumber?: number; /** True, if this page is currently selected */ isActive?: boolean; /** Called when page is clicked */ onClick?(): void; } export interface PaginatorProps extends IControlled, IAnalyticableOnChange, IDisableable, IHasRawProps> { /** Total number of pages */ totalPages: number; /** Override default rendering, keeping the component behavior */ render?(params: PaginatorRenderParams): any; } export declare class Paginator extends React.Component { static contextType: React.Context>; context: UuiContexts; private getCurrentPage; isFirst: () => boolean; isLast: () => boolean; getPagesView(): PaginatorItem[]; goToNext: () => void; goToPrev: () => void; render(): any; } export {}; //# sourceMappingURL=Paginator.d.ts.map