import { type PropType, type ExtractPublicPropTypes } from 'vue';
import { type ThemeComponent } from '../../composables/useTheme';
declare const paginationVariant: readonly ["simple", "quick", "dots"];
declare const paginationProps: {
    links: BooleanConstructor;
    totalPages: {
        type: NumberConstructor;
        default: number;
    };
    modelValue: {
        type: NumberConstructor;
        default: number;
    };
    variant: {
        type: PropType<"dots" | "simple" | "quick">;
        default: string;
    };
    size: {
        readonly type: PropType<import("../../composables/useCommon").Size>;
        readonly default: "md";
        readonly validator: (value: string) => boolean;
    };
};
export type PaginationVariant = typeof paginationVariant[number];
export type PaginationProps = ExtractPublicPropTypes<typeof paginationProps>;
type InternalClasses = 'wrapper' | 'dots';
export interface PaginationTheme extends ThemeComponent<PaginationProps, InternalClasses> {
}
declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
    links: BooleanConstructor;
    totalPages: {
        type: NumberConstructor;
        default: number;
    };
    modelValue: {
        type: NumberConstructor;
        default: number;
    };
    variant: {
        type: PropType<"dots" | "simple" | "quick">;
        default: string;
    };
    size: {
        readonly type: PropType<import("../../composables/useCommon").Size>;
        readonly default: "md";
        readonly validator: (value: string) => boolean;
    };
}>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "update:modelValue"[], "update:modelValue", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
    links: BooleanConstructor;
    totalPages: {
        type: NumberConstructor;
        default: number;
    };
    modelValue: {
        type: NumberConstructor;
        default: number;
    };
    variant: {
        type: PropType<"dots" | "simple" | "quick">;
        default: string;
    };
    size: {
        readonly type: PropType<import("../../composables/useCommon").Size>;
        readonly default: "md";
        readonly validator: (value: string) => boolean;
    };
}>> & Readonly<{
    "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
}>, {
    size: import("../../composables/useCommon").Size;
    modelValue: number;
    links: boolean;
    totalPages: number;
    variant: "dots" | "simple" | "quick";
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
export default _default;
