import Vue from 'vue';
import { PaginationConfig } from '../config-provider/config-receiver';
import { ClassName } from '../common';
import { TdPaginationProps } from './type';
export declare type PageSizeChangeParams = Parameters<TdPaginationProps['onPageSizeChange']>;
export declare type CurrentChangeParams = Parameters<TdPaginationProps['onCurrentChange']>;
export declare type ChangeEventParams = Parameters<TdPaginationProps['onChange']>;
declare const _default: import("vue/types/vue").ExtendedVue<{
    useGlobalIcon(tdIcon: Record<string, any>): import("tdesign-icons-vue").GlobalIconConfig;
} & Record<never, any> & import("../config-provider/config-receiver").ConfigComponent & Vue & {
    t<T>(pattern: T, placement?: import("../config-provider/config-receiver").Placement): string;
} & {
    global: PaginationConfig;
    classPrefix: string;
    componentName: string;
    commonSizeClassName: Record<string, string>;
    commonStatusClassName: Record<string, string>;
}, {
    prevMore: boolean;
    nextMore: boolean;
    jumpIndex: number;
}, {
    toPage(pageIndex: number, isTriggerChange?: boolean): void;
    prevPage(): void;
    nextPage(): void;
    prevMorePage(): void;
    nextMorePage(): void;
    getButtonClass(index: number): ClassName;
    onSelectorChange(e: string): void;
    onJumperChange(val: String): void;
}, {
    paginationClass: ClassName;
    totalClass: ClassName;
    sizerClass: ClassName;
    preBtnClass: ClassName;
    nextBtnClass: ClassName;
    btnWrapClass: ClassName;
    btnMoreClass: ClassName;
    jumperClass: ClassName;
    jumperInputClass: ClassName;
    pageCount: number;
    sizeOptions: {
        label: string;
        value: number;
    }[];
    curPageLeftCount: number;
    curPageRightCount: number;
    isPrevMoreShow: boolean;
    isNextMoreShow: boolean;
    pages: number[];
    isFolded: boolean;
    isMidEllipsis: boolean;
}, {
    current: number;
    pageSize: number;
    defaultCurrent: number;
    disabled: boolean;
    foldedMaxPageBtn: number;
    maxPageBtn: number;
    pageEllipsisMode: "mid" | "both-ends";
    defaultPageSize: number;
    pageSizeOptions: (number | {
        label: string;
        value: number;
    })[];
    selectProps: import("../select").SelectProps;
    showFirstAndLastPageBtn: boolean;
    showJumper: boolean;
    showPageNumber: boolean;
    showPageSize: boolean;
    showPreviousAndNextBtn: boolean;
    size: "small" | "medium";
    theme: "default" | "simple";
    total: number;
    totalContent: boolean | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    onChange: (pageInfo: import("./type").PageInfo) => void;
    onCurrentChange: (current: number, pageInfo: import("./type").PageInfo) => void;
    onPageSizeChange: (pageSize: number, pageInfo: import("./type").PageInfo) => void;
}>;
export default _default;
