import { Component, ModuleDeclaration, L10n, EmitType, KeyboardEventArgs } from '@syncfusion/ej2-base';
import { INotifyPropertyChanged } from '@syncfusion/ej2-base';
import { PagerModel } from './pager-model';
import { PagerDropDown } from './pager-dropdown';
import { NumericContainer } from './numeric-container';
import { PagerMessage } from './pager-message';
import { ExternalMessage } from './external-message';
/** @hidden */
export interface IRender {
render(): void;
refresh(): void;
}
/**
* @hidden
*/
export interface keyPressHandlerKeyboardEventArgs extends KeyboardEvent {
cancel?: boolean;
}
/**
* Represents the `Pager` component.
* ```html
*
* ```
* ```typescript
*
* ```
*/
export declare class Pager extends Component implements INotifyPropertyChanged {
/*** @hidden */
totalPages: number;
/** @hidden */
templateFn: Function;
/** @hidden */
hasParent: boolean;
/*** @hidden */
previousPageNo: number;
/** @hidden */
isAllPage: boolean;
checkAll: boolean;
/** @hidden */
isPagerResized: boolean;
/** @hidden */
keyAction: string;
/** @hidden */
avgNumItems: number;
private averageDetailWidth;
private defaultConstants;
private pageRefresh;
/** @hidden */
parent: object;
private firstPagerFocus;
/** @hidden */
isCancel: boolean;
/** @hidden */
isInteracted: boolean;
/*** @hidden */
localeObj: L10n;
/**
* `containerModule` is used to manipulate numeric container behavior of Pager.
*/
containerModule: NumericContainer;
/**
* `pagerMessageModule` is used to manipulate pager message of Pager.
*/
pagerMessageModule: PagerMessage;
/**
* `externalMessageModule` is used to manipulate external message of Pager.
*/
externalMessageModule: ExternalMessage;
/**
* @hidden
* `pagerdropdownModule` is used to manipulate pageSizes of Pager.
*/
pagerdropdownModule: PagerDropDown;
/**
* If `enableQueryString` set to true,
* then it pass current page information as a query string along with the URL while navigating to other page.
*
* @default false
*/
enableQueryString: boolean;
/**
* If `enableExternalMessage` set to true, then it adds the message to Pager.
*
* @default false
*/
enableExternalMessage: boolean;
/**
* If `enablePagerMessage` set to true, then it adds the pager information.
*
* @default true
*/
enablePagerMessage: boolean;
/**
* 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 null
*/
totalRecordsCount: number;
/**
* Defines the external message of Pager.
*
* @default null
*/
externalMessage: string;
/**
* If `pageSizes` set to true or Array of values,
* It renders DropDownList in the pager which allow us to select pageSize from DropDownList.
*
* @default false
*/
pageSizes: boolean | (number | string)[];
/**
* Defines the template as string or HTML element ID which renders customized elements in pager instead of default elements.
*
* @default null
* @aspType string
*/
template: string | Function;
/**
* Defines the customized text to append with numeric items.
*
* @default null
*/
customText: string;
/**
* Triggers when click on the numeric items.
*
* @default null
*/
click: EmitType