import { PageInfo } from 'plus-pro-components';
import { CreateComponentPublicInstance, ExtractPropTypes, PropType, ComponentOptionsMixin, VNodeProps, AllowedComponentProps, ComponentCustomProps, ComponentOptionsBase } from 'vue';
import { default as Pagination } from './src/index.vue';

export type PlusPaginationInstance = InstanceType<typeof Pagination>;
export * from './src/type';
export declare const PlusPagination: {
    new (...args: any[]): CreateComponentPublicInstance<Readonly< ExtractPropTypes<{
        align: {
            type: PropType<"right" | "left">;
            default: string;
        };
        modelValue: {
            type: PropType<PageInfo>;
            default: () => {
                page: number;
                pageSize: number;
            };
        };
        total: {
            type: PropType<number>;
            default: number;
        };
        pageSizeList: {
            type: PropType<number[]>;
            default: () => number[];
        };
    }>> & {
        onChange?: ((pageInfo: PageInfo) => any) | undefined;
        "onUpdate:modelValue"?: ((pageInfo: PageInfo) => any) | undefined;
        "onCurrent-change"?: ((value: number) => any) | undefined;
        "onSize-change"?: ((value: number) => any) | undefined;
    }, {}, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
        "update:modelValue": (pageInfo: PageInfo) => void;
        change: (pageInfo: PageInfo) => void;
        "size-change": (value: number) => void;
        "current-change": (value: number) => void;
    }, VNodeProps & AllowedComponentProps & ComponentCustomProps & Readonly< ExtractPropTypes<{
        align: {
            type: PropType<"right" | "left">;
            default: string;
        };
        modelValue: {
            type: PropType<PageInfo>;
            default: () => {
                page: number;
                pageSize: number;
            };
        };
        total: {
            type: PropType<number>;
            default: number;
        };
        pageSizeList: {
            type: PropType<number[]>;
            default: () => number[];
        };
    }>> & {
        onChange?: ((pageInfo: PageInfo) => any) | undefined;
        "onUpdate:modelValue"?: ((pageInfo: PageInfo) => any) | undefined;
        "onCurrent-change"?: ((value: number) => any) | undefined;
        "onSize-change"?: ((value: number) => any) | undefined;
    }, {
        align: "right" | "left";
        modelValue: PageInfo;
        total: number;
        pageSizeList: number[];
    }, true, {}, {}, {
        P: {};
        B: {};
        D: {};
        C: {};
        M: {};
        Defaults: {};
    }, Readonly< ExtractPropTypes<{
        align: {
            type: PropType<"right" | "left">;
            default: string;
        };
        modelValue: {
            type: PropType<PageInfo>;
            default: () => {
                page: number;
                pageSize: number;
            };
        };
        total: {
            type: PropType<number>;
            default: number;
        };
        pageSizeList: {
            type: PropType<number[]>;
            default: () => number[];
        };
    }>> & {
        onChange?: ((pageInfo: PageInfo) => any) | undefined;
        "onUpdate:modelValue"?: ((pageInfo: PageInfo) => any) | undefined;
        "onCurrent-change"?: ((value: number) => any) | undefined;
        "onSize-change"?: ((value: number) => any) | undefined;
    }, {}, {}, {}, {}, {
        align: "right" | "left";
        modelValue: PageInfo;
        total: number;
        pageSizeList: number[];
    }>;
    __isFragment?: undefined;
    __isTeleport?: undefined;
    __isSuspense?: undefined;
} & ComponentOptionsBase<Readonly< ExtractPropTypes<{
    align: {
        type: PropType<"right" | "left">;
        default: string;
    };
    modelValue: {
        type: PropType<PageInfo>;
        default: () => {
            page: number;
            pageSize: number;
        };
    };
    total: {
        type: PropType<number>;
        default: number;
    };
    pageSizeList: {
        type: PropType<number[]>;
        default: () => number[];
    };
}>> & {
    onChange?: ((pageInfo: PageInfo) => any) | undefined;
    "onUpdate:modelValue"?: ((pageInfo: PageInfo) => any) | undefined;
    "onCurrent-change"?: ((value: number) => any) | undefined;
    "onSize-change"?: ((value: number) => any) | undefined;
}, {}, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
    "update:modelValue": (pageInfo: PageInfo) => void;
    change: (pageInfo: PageInfo) => void;
    "size-change": (value: number) => void;
    "current-change": (value: number) => void;
}, string, {
    align: "right" | "left";
    modelValue: PageInfo;
    total: number;
    pageSizeList: number[];
}, {}, string, {}> & VNodeProps & AllowedComponentProps & ComponentCustomProps & (new () => {
    $slots: {
        "pagination-left"?(_: {}): any;
        "pagination-right"?(_: {}): any;
    };
});
