import { Pager } from '../../pager/pager';
import { PageSettingsModel } from '../models/page-settings-model';
import { IGrid, IAction, NotifyArgs } from '../base/interface';
/**
 * The `Page` module is used to render pager and handle paging action.
 */
export declare class Page implements IAction {
    private element;
    private pageSettings;
    /** @hidden */
    isForceCancel: boolean;
    private isInitialLoad;
    private isInitialRender;
    private evtHandlers;
    /** @hidden */
    isCancel: boolean;
    private parent;
    /** @hidden */
    pagerObj: Pager;
    private handlers;
    /**
     * Constructor for the Grid paging module
     *
     * @param {IGrid} parent - specifies the IGrid
     * @param {PageSettingsModel} pageSettings - specifies the PageSettingsModel
     * @hidden
     */
    constructor(parent?: IGrid, pageSettings?: PageSettingsModel);
    /**
     * For internal use only - Get the module name.
     *
     * @returns {string} returns the module name
     * @private
     */
    protected getModuleName(): string;
    /**
     * The function used to render pager from grid pageSettings
     *
     * @returns {void}
     * @hidden
     */
    render(): void;
    private onSelect;
    private addAriaAttr;
    private dataReady;
    /**
     * Refreshes the page count, pager information, and external message.
     *
     * @returns {void}
     */
    refresh(): 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;
    /**
     * @param {number} pageSize - specifies the page size
     * @returns {void}
     * @hidden
     */
    setPageSize(pageSize: number): void;
    /**
     * The function used to update pageSettings model
     *
     * @param {NotifyArgs} e - specfies the NotifyArgs
     * @returns {void}
     * @hidden
     */
    updateModel(e?: NotifyArgs): void;
    /**
     * The function used to trigger onActionComplete
     *
     * @param {NotifyArgs} e - specifies the NotifyArgs
     * @returns {void}
     * @hidden
     */
    onActionComplete(e: NotifyArgs): void;
    /**
     * @param {NotifyArgs} e - specifies the NotifyArgs
     * @returns {void}
     * @hidden
     */
    onPropertyChanged(e: NotifyArgs): void;
    private clickHandler;
    private keyPressHandler;
    /**
     * Defines the text of the external message.
     *
     * @param  {string} message - Defines the message to update.
     * @returns {void}
     */
    updateExternalMessage(message: string): void;
    private appendToElement;
    private enableAfterRender;
    /**
     * @returns {void}
     * @hidden
     */
    addEventListener(): void;
    private created;
    private isReactTemplate;
    private renderReactPagerTemplate;
    /**
     * @returns {void}
     * @hidden
     */
    removeEventListener(): void;
    /**
     * To destroy the pager
     *
     * @returns {void}
     * @hidden
     */
    destroy(): void;
    private pagerDestroy;
}
