declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
    grow: {
        type: BooleanConstructor;
        default: boolean;
    };
    gradient: {
        type: BooleanConstructor;
        default: boolean;
    };
    preset: {
        type: import("vue").PropType<import("../../composables").PresetPropValue>;
        default: undefined;
    };
    size: {
        type: import("vue").PropType<NonNullable<"small" | "medium" | "large" | undefined>>;
        required: true;
        default: "small" | "medium" | "large" | undefined;
    };
    replace: {
        type: import("vue").PropType<NonNullable<boolean | undefined>>;
        required: true;
        default: boolean | undefined;
    };
    type: {
        type: import("vue").PropType<string>;
        required: true;
        default: string | undefined;
    };
    target: {
        type: import("vue").PropType<string>;
        required: true;
        default: string | undefined;
    };
    color: {
        type: import("vue").PropType<NonNullable<import("../../composables").ColorName | undefined>>;
        required: true;
        default: import("../../composables").ColorName | undefined;
    };
    textColor: {
        type: import("vue").PropType<string>;
        required: true;
        default: string | undefined;
    };
    icon: {
        type: import("vue").PropType<string>;
        required: true;
        default: string | undefined;
    };
    borderColor: {
        type: import("vue").PropType<string>;
        required: true;
        default: string | undefined;
    };
    tag: {
        type: import("vue").PropType<string>;
        required: true;
        default: string | undefined;
    };
    sizesConfig: {
        type: import("vue").PropType<Record<string, any>>;
        required: true;
        default: Record<string, any> | undefined;
    };
    fontSizesConfig: {
        type: import("vue").PropType<Record<string, any>>;
        required: true;
        default: Record<string, any> | undefined;
    };
    loading: {
        type: import("vue").PropType<NonNullable<boolean | undefined>>;
        required: true;
        default: boolean | undefined;
    };
    disabled: {
        type: import("vue").PropType<NonNullable<boolean | undefined>>;
        required: true;
        default: boolean | undefined;
    };
    textOpacity: {
        type: import("vue").PropType<NonNullable<string | number | undefined>>;
        required: true;
        default: string | number | undefined;
    };
    backgroundOpacity: {
        type: import("vue").PropType<NonNullable<string | number | undefined>>;
        required: true;
        default: string | number | undefined;
    };
    plain: {
        type: import("vue").PropType<NonNullable<boolean | undefined>>;
        required: true;
        default: boolean | undefined;
    };
    round: {
        type: import("vue").PropType<NonNullable<boolean | undefined>>;
        required: true;
        default: boolean | undefined;
    };
    iconRight: {
        type: import("vue").PropType<string>;
        required: true;
        default: string | undefined;
    };
    iconColor: {
        type: import("vue").PropType<string>;
        required: true;
        default: string | undefined;
    };
    to: {
        type: import("vue").PropType<NonNullable<string | Record<string, any> | undefined>>;
        required: true;
        default: string | Record<string, any> | undefined;
    };
    append: {
        type: import("vue").PropType<NonNullable<boolean | undefined>>;
        required: true;
        default: boolean | undefined;
    };
    exact: {
        type: import("vue").PropType<NonNullable<boolean | undefined>>;
        required: true;
        default: boolean | undefined;
    };
    activeClass: {
        type: import("vue").PropType<string>;
        required: true;
        default: string | undefined;
    };
    exactActiveClass: {
        type: import("vue").PropType<string>;
        required: true;
        default: string | undefined;
    };
    href: {
        type: import("vue").PropType<string>;
        required: true;
        default: string | undefined;
    };
    pressedBehavior: {
        type: import("vue").PropType<NonNullable<"opacity" | "mask" | undefined>>;
        required: true;
        default: "opacity" | "mask" | undefined;
    };
    pressedOpacity: {
        type: import("vue").PropType<number>;
        required: true;
        default: number | undefined;
    };
    pressedMaskColor: {
        type: import("vue").PropType<string>;
        required: true;
        default: string | undefined;
    };
    hoverBehavior: {
        type: import("vue").PropType<NonNullable<"opacity" | "mask" | undefined>>;
        required: true;
        default: "opacity" | "mask" | undefined;
    };
    hoverOpacity: {
        type: import("vue").PropType<NonNullable<string | number | undefined>>;
        required: true;
        default: string | number | undefined;
    };
    hoverMaskColor: {
        type: import("vue").PropType<string>;
        required: true;
        default: string | undefined;
    };
}, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
    grow: {
        type: BooleanConstructor;
        default: boolean;
    };
    gradient: {
        type: BooleanConstructor;
        default: boolean;
    };
    preset: {
        type: import("vue").PropType<import("../../composables").PresetPropValue>;
        default: undefined;
    };
    size: {
        type: import("vue").PropType<NonNullable<"small" | "medium" | "large" | undefined>>;
        required: true;
        default: "small" | "medium" | "large" | undefined;
    };
    replace: {
        type: import("vue").PropType<NonNullable<boolean | undefined>>;
        required: true;
        default: boolean | undefined;
    };
    type: {
        type: import("vue").PropType<string>;
        required: true;
        default: string | undefined;
    };
    target: {
        type: import("vue").PropType<string>;
        required: true;
        default: string | undefined;
    };
    color: {
        type: import("vue").PropType<NonNullable<import("../../composables").ColorName | undefined>>;
        required: true;
        default: import("../../composables").ColorName | undefined;
    };
    textColor: {
        type: import("vue").PropType<string>;
        required: true;
        default: string | undefined;
    };
    icon: {
        type: import("vue").PropType<string>;
        required: true;
        default: string | undefined;
    };
    borderColor: {
        type: import("vue").PropType<string>;
        required: true;
        default: string | undefined;
    };
    tag: {
        type: import("vue").PropType<string>;
        required: true;
        default: string | undefined;
    };
    sizesConfig: {
        type: import("vue").PropType<Record<string, any>>;
        required: true;
        default: Record<string, any> | undefined;
    };
    fontSizesConfig: {
        type: import("vue").PropType<Record<string, any>>;
        required: true;
        default: Record<string, any> | undefined;
    };
    loading: {
        type: import("vue").PropType<NonNullable<boolean | undefined>>;
        required: true;
        default: boolean | undefined;
    };
    disabled: {
        type: import("vue").PropType<NonNullable<boolean | undefined>>;
        required: true;
        default: boolean | undefined;
    };
    textOpacity: {
        type: import("vue").PropType<NonNullable<string | number | undefined>>;
        required: true;
        default: string | number | undefined;
    };
    backgroundOpacity: {
        type: import("vue").PropType<NonNullable<string | number | undefined>>;
        required: true;
        default: string | number | undefined;
    };
    plain: {
        type: import("vue").PropType<NonNullable<boolean | undefined>>;
        required: true;
        default: boolean | undefined;
    };
    round: {
        type: import("vue").PropType<NonNullable<boolean | undefined>>;
        required: true;
        default: boolean | undefined;
    };
    iconRight: {
        type: import("vue").PropType<string>;
        required: true;
        default: string | undefined;
    };
    iconColor: {
        type: import("vue").PropType<string>;
        required: true;
        default: string | undefined;
    };
    to: {
        type: import("vue").PropType<NonNullable<string | Record<string, any> | undefined>>;
        required: true;
        default: string | Record<string, any> | undefined;
    };
    append: {
        type: import("vue").PropType<NonNullable<boolean | undefined>>;
        required: true;
        default: boolean | undefined;
    };
    exact: {
        type: import("vue").PropType<NonNullable<boolean | undefined>>;
        required: true;
        default: boolean | undefined;
    };
    activeClass: {
        type: import("vue").PropType<string>;
        required: true;
        default: string | undefined;
    };
    exactActiveClass: {
        type: import("vue").PropType<string>;
        required: true;
        default: string | undefined;
    };
    href: {
        type: import("vue").PropType<string>;
        required: true;
        default: string | undefined;
    };
    pressedBehavior: {
        type: import("vue").PropType<NonNullable<"opacity" | "mask" | undefined>>;
        required: true;
        default: "opacity" | "mask" | undefined;
    };
    pressedOpacity: {
        type: import("vue").PropType<number>;
        required: true;
        default: number | undefined;
    };
    pressedMaskColor: {
        type: import("vue").PropType<string>;
        required: true;
        default: string | undefined;
    };
    hoverBehavior: {
        type: import("vue").PropType<NonNullable<"opacity" | "mask" | undefined>>;
        required: true;
        default: "opacity" | "mask" | undefined;
    };
    hoverOpacity: {
        type: import("vue").PropType<NonNullable<string | number | undefined>>;
        required: true;
        default: string | number | undefined;
    };
    hoverMaskColor: {
        type: import("vue").PropType<string>;
        required: true;
        default: string | undefined;
    };
}>>, {
    size: NonNullable<"small" | "medium" | "large" | undefined>;
    replace: NonNullable<boolean | undefined>;
    type: string;
    preset: import("../../composables").PresetPropValue;
    target: string;
    color: NonNullable<import("../../composables").ColorName | undefined>;
    textColor: string;
    icon: string;
    borderColor: string;
    gradient: boolean;
    tag: string;
    sizesConfig: Record<string, any>;
    fontSizesConfig: Record<string, any>;
    loading: NonNullable<boolean | undefined>;
    disabled: NonNullable<boolean | undefined>;
    textOpacity: NonNullable<string | number | undefined>;
    backgroundOpacity: NonNullable<string | number | undefined>;
    plain: NonNullable<boolean | undefined>;
    round: NonNullable<boolean | undefined>;
    iconRight: string;
    iconColor: string;
    to: NonNullable<string | Record<string, any> | undefined>;
    append: NonNullable<boolean | undefined>;
    exact: NonNullable<boolean | undefined>;
    activeClass: string;
    exactActiveClass: string;
    href: string;
    pressedBehavior: NonNullable<"opacity" | "mask" | undefined>;
    pressedOpacity: number;
    pressedMaskColor: string;
    hoverBehavior: NonNullable<"opacity" | "mask" | undefined>;
    hoverOpacity: NonNullable<string | number | undefined>;
    hoverMaskColor: string;
    grow: boolean;
}, {}>, {
    default?(_: {}): any;
}>;
export default _default;
type __VLS_WithTemplateSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};
