import { HTMLAttributes, ReactElement, RefAttributes } from 'react';
export declare const defaultConstants: {
[key: string]: string;
};
/**
* Page component props for configuring and rendering a pager.
*/
export interface PageProps {
/**
* Optional ID to uniquely identify the pager.
*
*/
id?: string;
/**
* Defines the records count of visible page.
*
* @default 12
*/
pageSize?: number;
/**
* Defines the number of pages to display in pager container.
*
* @default 10
*/
pageCount?: number;
/**
* Defines the current page number of pager.
*
* @default 1
*/
currentPage?: number;
/**
* Gets or Sets the total records count which is used to render numeric container.
*
* @default 0
*/
totalRecordsCount?: number;
/**
* Overrides the global culture and localization value for this component. Default global culture is 'en-US'.
*
* @default ''
*/
locale?: string;
/**
* Enables right-to-left layout when set to true.
*
* @default false
*/
enableRtl?: boolean;
/**
* Whether keyboard action is enabled for the pager.
*
* @default true
*/
allowKeyboard?: boolean;
/**
* Defines the template as string or React element ID which renders customized elements in pager instead of default elements.
*
* @default null
*/
template?: string | ReactElement | Function;
/**
* Callback when page is initialized and mounted
*
* @default null
*/
created?: (args: {}) => void;
/**
* Triggers when click on the numeric items
*
* @default null
*/
click?: (args: {}) => void;
/**
* Optional function to update ARIA attributes for accessibility enhancements.
*
* @hidden
*/
updateAriaAttribute?: (args: {}) => void;
/**
* Navigates to the target page according to the given number.
*
* @param {number} pageNo - Defines the page number to navigate.
* @returns {void}
*/
goToPage?: (pageNo: number) => void;
/**
* If `enableExternalMessage` set to true, then it adds the message to Pager.
*
* @default false
*/
enableExternalMessage?: boolean;
/**
* Defines the external message of Pager.
*
* @default null
*/
externalMessage?: string;
/**
* @hidden
*/
className?: string;
}
/**
* Interface for pager reference exposed to parent components
*/
export interface PagerRef extends PageProps {
/**
* Reference to the pager root DOM element
*/
element?: HTMLDivElement | null;
/**
* Optional ID to uniquely identify the pager.
*/
id?: string;
/**
* Defines the records count of visible page.
*/
pageSize?: number;
/**
* Defines the number of pages to display in pager container.
*/
pageCount?: number;
/**
* Defines the current page number of pager.
*/
currentPage?: number;
/**
* Gets or Sets the total records count which is used to render numeric container.
*/
totalRecordsCount?: number;
/**
* Overrides the global culture and localization value for this component. Default global culture is 'en-US'.
*/
locale?: string;
/**
* Enables right-to-left layout when set to true.
*/
enableRtl?: boolean;
/**
* Defines the total number of pages count which is used to render numeric container.
*/
totalPages?: number;
/**
* Defines the template as string or React element ID which renders customized elements in pager instead of default elements.
*/
template?: string | ReactElement | Function;
/**
* Callback when page is initialized and mounted
*/
created?: (args: {}) => void;
/**
* Triggers when click on the numeric items
*/
click?: (args: {}) => void;
/**
* Optional function to update ARIA attributes for accessibility enhancements.
* @hidden
*/
updateAriaAttribute?: (args: {}) => void;
/**
* Navigates to the specified target page.
*
* @param {number} pageNo - Defines the page number to navigate.
* @returns {void}
*/
goToPage?: (pageNo: number) => void;
/**
* If `enableExternalMessage` set to true, then it adds the message to Pager.
*
*/
enableExternalMessage?: boolean;
/**
* Defines the text of the external message.
*
* @param {string} message - Defines the message to update.
* @returns {void}
*/
updateExternalMessage?: (message: string) => void;
/**
* Defines the external message of Pager.
*
*/
externalMessage?: string;
/**
* @hidden
*/
className?: string;
}
/**
* Interface representing the page component methods.
*/
export interface IPager extends PageProps {
/**
* This is page component element.
*
* @private
* @default null
*/
element?: HTMLElement | null;
}
type IPageProps = IPager & HTMLAttributes;
/**
* `Pager` is a feature-rich Paging implementation for React applications
* It supports totalRecordsCount, pageSize behavior.
*
* @component
* @example
* ```tsx
*
*
*
* @param {Partial} props - Configuration for the pager including current page, total pages, and page count state
* @param {RefObject} ref - Forwarded ref that exposes imperative methods for parent components
* @returns {JSX.Element} The rendered pager element
* ```
*/
export declare const Pager: React.ForwardRefExoticComponent>;
export default Pager;