/**
 * @license chowa v1.1.3
 *
 * Copyright (c) Chowa Techonlogies Co.,Ltd.(http://www.chowa.cn).
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */
import * as React from 'react';
import * as PropTypes from 'prop-types';
export interface PaginationProps {
    className?: string;
    style?: React.CSSProperties;
    pageSize?: number;
    total: number;
    withQuickJumper?: boolean;
    onChange?: (pageNumber: number) => void;
    current?: number;
    hideOnSinglePage?: boolean;
    preBtnText?: string;
    nextBtnText?: string;
    justify?: 'start' | 'end' | 'center';
    compact?: boolean;
    bordered?: boolean;
    pageBtnAmount?: number;
    pageSizeOptions?: number[];
    pageSizeUnit?: string;
    onPageSizeChange?: (pageSize: number) => void;
    simple?: boolean;
}
export interface PaginationState {
    selfPageNumber: number;
    selfPageSize: number;
    pageTotal: number;
    jumpPageNumber: number;
}
declare class Pagination extends React.PureComponent<PaginationProps, PaginationState> {
    static propTypes: {
        className: PropTypes.Requireable<string>;
        style: PropTypes.Requireable<object>;
        pageSize: PropTypes.Requireable<number>;
        total: PropTypes.Validator<number>;
        withQuickJumper: PropTypes.Requireable<boolean>;
        onChange: PropTypes.Requireable<(...args: any[]) => any>;
        current: PropTypes.Requireable<number>;
        hideOnSinglePage: PropTypes.Requireable<boolean>;
        preBtnText: PropTypes.Requireable<string>;
        nextBtnText: PropTypes.Requireable<string>;
        justify: PropTypes.Requireable<string>;
        compact: PropTypes.Requireable<boolean>;
        bordered: PropTypes.Requireable<boolean>;
        pageBtnAmount: PropTypes.Requireable<number>;
        pageSizeOptions: PropTypes.Requireable<any[]>;
        pageSizeUnit: PropTypes.Requireable<string>;
        onPageSizeChange: PropTypes.Requireable<(...args: any[]) => any>;
        simple: PropTypes.Requireable<boolean>;
    };
    static defaultProps: {
        pageSize: number;
        withQuickJumper: boolean;
        current: number;
        hideOnSinglePage: boolean;
        justify: string;
        compact: boolean;
        bordered: boolean;
        pageBtnAmount: number;
        simple: boolean;
    };
    constructor(props: PaginationProps);
    componentDidUpdate(preProps: PaginationProps): void;
    private pageSizeChangeHandler;
    private goPrePage;
    private goNextPage;
    private goPrePageByBtnSize;
    private goNextPageByBtnSize;
    private onChangeHandler;
    private onKeyDownHandler;
    private onBlurHandler;
    private pageChange;
    render(): JSX.Element;
}
export default Pagination;
