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;