import * as React from 'react';
import { PaginationCoreMode } from './constants';
export interface PaginationCoreProps {
    /** hook for testing purposes */
    'data-hook'?: string;
    totalPages: number;
    currentPage?: number;
    pageUrl?(pageNumber: number): string;
    onChange?(event: {
        event: React.SyntheticEvent;
        page: number;
    }): void;
    onClick?(event: React.SyntheticEvent): void;
    onDoubleClick?(event: React.SyntheticEvent): void;
    onMouseEnter?(event: React.SyntheticEvent): void;
    onMouseLeave?(event: React.SyntheticEvent): void;
    paginationMode?: 'pages' | 'input' | 'compact' | PaginationCoreMode;
    showFirstLastNavButtons?: boolean;
    firstLabel?: React.ReactNode;
    previousLabel?: React.ReactNode;
    nextLabel?: React.ReactNode;
    lastLabel?: React.ReactNode;
    gapLabel?: React.ReactNode;
    slashLabel?: React.ReactNode;
    rtl?: boolean;
    width?: number;
    showFirstPage?: boolean;
    showLastPage?: boolean;
    showNextLabel?: boolean;
    showPreviousLabel?: boolean;
    showInputModeTotalPages?: boolean;
    responsive?: boolean;
    maxPagesToShow?: number;
    className?: string;
    id?: string;
    updateResponsiveLayout?(callback: () => void): void;
    style?: React.CSSProperties;
    disabled?: boolean;
}
export interface PaginationCoreState {
    pageInputValue: string;
    pageInputHasError: boolean;
}
export default class PaginationCore extends React.Component<PaginationCoreProps, PaginationCoreState> {
    static displayName: string;
    static defaultProps: Partial<PaginationCoreProps>;
    private rootNode;
    private updateRootMinWidth;
    componentDidMount(): void;
    componentDidUpdate(): void;
    private getId;
    private readonly getMaxPagesToShow;
    state: {
        pageInputValue: string;
        pageInputHasError: boolean;
    };
    private renderPageStrip;
    private readonly handlePageInputChange;
    private readonly handlePageInputKeyDown;
    private readonly handlePageInputBlur;
    private readonly handlePageClick;
    private readonly handlePageKeyDown;
    private renderPages;
    private renderPageCompact;
    private renderPageForm;
    private renderEmptyButton;
    private renderNavButton;
    UNSAFE_componentWillReceiveProps(nextProps: PaginationCoreProps): void;
    render(): React.JSX.Element;
}
//# sourceMappingURL=PaginationCore.d.ts.map