export declare const VaButton: {
    new (...args: any[]): import("vue").CreateComponentPublicInstance<Readonly<import("vue").ExtractPropTypes<{
        tag: {
            type: StringConstructor;
            default: string;
        };
        type: {
            type: StringConstructor;
            default: string;
        };
        block: {
            type: BooleanConstructor;
            default: boolean;
        };
        disabled: {
            type: BooleanConstructor;
            default: boolean;
        };
        color: {
            type: import("vue").PropType<import("../../composables").ColorName>;
            default: string;
        };
        textColor: {
            type: StringConstructor;
            default: string;
        };
        textOpacity: {
            type: (StringConstructor | NumberConstructor)[];
            default: number;
        };
        backgroundOpacity: {
            type: (StringConstructor | NumberConstructor)[];
            default: number;
        };
        borderColor: {
            type: StringConstructor;
            default: string;
        };
        gradient: {
            type: BooleanConstructor;
            default: boolean;
        };
        plain: {
            type: BooleanConstructor;
            default: boolean;
        };
        round: {
            type: BooleanConstructor;
            default: boolean;
        };
        size: {
            type: import("vue").PropType<"small" | "medium" | "large">;
            default: string;
            validator: (v: string) => boolean;
        };
        icon: {
            type: StringConstructor;
            default: string;
        };
        iconRight: {
            type: StringConstructor;
            default: string;
        };
        iconColor: {
            type: StringConstructor;
            default: string;
        };
        to: {
            type: import("vue").PropType<string | Record<string, any>>;
            default: undefined;
        };
        replace: {
            type: BooleanConstructor;
            default: undefined;
        };
        append: {
            type: BooleanConstructor;
            default: undefined;
        };
        exact: {
            type: BooleanConstructor;
            default: undefined;
        };
        activeClass: {
            type: StringConstructor;
            default: undefined;
        };
        exactActiveClass: {
            type: StringConstructor;
            default: undefined;
        };
        href: {
            type: StringConstructor;
            default: undefined;
        };
        target: {
            type: StringConstructor;
            default: undefined;
        };
        loading: {
            type: BooleanConstructor;
            default: boolean;
        };
        pressedBehavior: {
            type: import("vue").PropType<"opacity" | "mask">;
            default: string;
            validator: (value: string) => boolean;
        };
        pressedOpacity: {
            type: NumberConstructor;
            default: number;
        };
        pressedMaskColor: {
            type: StringConstructor;
            default: string;
        };
        hoverBehavior: {
            type: import("vue").PropType<"opacity" | "mask">;
            default: string;
            validator: (value: string) => boolean;
        };
        hoverOpacity: {
            type: (StringConstructor | NumberConstructor)[];
            default: number;
        };
        hoverMaskColor: {
            type: StringConstructor;
            default: string;
        };
        sizesConfig: {
            type: import("vue").PropType<Record<string, any>>;
            default: () => import("../../services/global-config").SizeConfig;
        };
        fontSizesConfig: {
            type: import("vue").PropType<Record<string, any>>;
            default: () => import("../../services/global-config").SizeConfig;
        };
        preset: {
            type: import("vue").PropType<import("../../composables").PresetPropValue>;
            default: undefined;
        };
    }>>, {
        focus: () => void;
        blur: () => void;
    }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & Readonly<import("vue").ExtractPropTypes<{
        tag: {
            type: StringConstructor;
            default: string;
        };
        type: {
            type: StringConstructor;
            default: string;
        };
        block: {
            type: BooleanConstructor;
            default: boolean;
        };
        disabled: {
            type: BooleanConstructor;
            default: boolean;
        };
        color: {
            type: import("vue").PropType<import("../../composables").ColorName>;
            default: string;
        };
        textColor: {
            type: StringConstructor;
            default: string;
        };
        textOpacity: {
            type: (StringConstructor | NumberConstructor)[];
            default: number;
        };
        backgroundOpacity: {
            type: (StringConstructor | NumberConstructor)[];
            default: number;
        };
        borderColor: {
            type: StringConstructor;
            default: string;
        };
        gradient: {
            type: BooleanConstructor;
            default: boolean;
        };
        plain: {
            type: BooleanConstructor;
            default: boolean;
        };
        round: {
            type: BooleanConstructor;
            default: boolean;
        };
        size: {
            type: import("vue").PropType<"small" | "medium" | "large">;
            default: string;
            validator: (v: string) => boolean;
        };
        icon: {
            type: StringConstructor;
            default: string;
        };
        iconRight: {
            type: StringConstructor;
            default: string;
        };
        iconColor: {
            type: StringConstructor;
            default: string;
        };
        to: {
            type: import("vue").PropType<string | Record<string, any>>;
            default: undefined;
        };
        replace: {
            type: BooleanConstructor;
            default: undefined;
        };
        append: {
            type: BooleanConstructor;
            default: undefined;
        };
        exact: {
            type: BooleanConstructor;
            default: undefined;
        };
        activeClass: {
            type: StringConstructor;
            default: undefined;
        };
        exactActiveClass: {
            type: StringConstructor;
            default: undefined;
        };
        href: {
            type: StringConstructor;
            default: undefined;
        };
        target: {
            type: StringConstructor;
            default: undefined;
        };
        loading: {
            type: BooleanConstructor;
            default: boolean;
        };
        pressedBehavior: {
            type: import("vue").PropType<"opacity" | "mask">;
            default: string;
            validator: (value: string) => boolean;
        };
        pressedOpacity: {
            type: NumberConstructor;
            default: number;
        };
        pressedMaskColor: {
            type: StringConstructor;
            default: string;
        };
        hoverBehavior: {
            type: import("vue").PropType<"opacity" | "mask">;
            default: string;
            validator: (value: string) => boolean;
        };
        hoverOpacity: {
            type: (StringConstructor | NumberConstructor)[];
            default: number;
        };
        hoverMaskColor: {
            type: StringConstructor;
            default: string;
        };
        sizesConfig: {
            type: import("vue").PropType<Record<string, any>>;
            default: () => import("../../services/global-config").SizeConfig;
        };
        fontSizesConfig: {
            type: import("vue").PropType<Record<string, any>>;
            default: () => import("../../services/global-config").SizeConfig;
        };
        preset: {
            type: import("vue").PropType<import("../../composables").PresetPropValue>;
            default: undefined;
        };
    }>>, {
        size: "small" | "medium" | "large";
        replace: boolean;
        type: string;
        preset: import("../../composables").PresetPropValue;
        target: string;
        color: import("../../composables").ColorName;
        textColor: string;
        icon: string;
        borderColor: string;
        gradient: boolean;
        tag: string;
        sizesConfig: Record<string, any>;
        fontSizesConfig: Record<string, any>;
        loading: boolean;
        block: boolean;
        disabled: boolean;
        textOpacity: string | number;
        backgroundOpacity: string | number;
        plain: boolean;
        round: boolean;
        iconRight: string;
        iconColor: string;
        to: string | Record<string, any>;
        append: boolean;
        exact: boolean;
        activeClass: string;
        exactActiveClass: string;
        href: string;
        pressedBehavior: "opacity" | "mask";
        pressedOpacity: number;
        pressedMaskColor: string;
        hoverBehavior: "opacity" | "mask";
        hoverOpacity: string | number;
        hoverMaskColor: string;
    }, true, {}, {}, {
        P: {};
        B: {};
        D: {};
        C: {};
        M: {};
        Defaults: {};
    }, Readonly<import("vue").ExtractPropTypes<{
        tag: {
            type: StringConstructor;
            default: string;
        };
        type: {
            type: StringConstructor;
            default: string;
        };
        block: {
            type: BooleanConstructor;
            default: boolean;
        };
        disabled: {
            type: BooleanConstructor;
            default: boolean;
        };
        color: {
            type: import("vue").PropType<import("../../composables").ColorName>;
            default: string;
        };
        textColor: {
            type: StringConstructor;
            default: string;
        };
        textOpacity: {
            type: (StringConstructor | NumberConstructor)[];
            default: number;
        };
        backgroundOpacity: {
            type: (StringConstructor | NumberConstructor)[];
            default: number;
        };
        borderColor: {
            type: StringConstructor;
            default: string;
        };
        gradient: {
            type: BooleanConstructor;
            default: boolean;
        };
        plain: {
            type: BooleanConstructor;
            default: boolean;
        };
        round: {
            type: BooleanConstructor;
            default: boolean;
        };
        size: {
            type: import("vue").PropType<"small" | "medium" | "large">;
            default: string;
            validator: (v: string) => boolean;
        };
        icon: {
            type: StringConstructor;
            default: string;
        };
        iconRight: {
            type: StringConstructor;
            default: string;
        };
        iconColor: {
            type: StringConstructor;
            default: string;
        };
        to: {
            type: import("vue").PropType<string | Record<string, any>>;
            default: undefined;
        };
        replace: {
            type: BooleanConstructor;
            default: undefined;
        };
        append: {
            type: BooleanConstructor;
            default: undefined;
        };
        exact: {
            type: BooleanConstructor;
            default: undefined;
        };
        activeClass: {
            type: StringConstructor;
            default: undefined;
        };
        exactActiveClass: {
            type: StringConstructor;
            default: undefined;
        };
        href: {
            type: StringConstructor;
            default: undefined;
        };
        target: {
            type: StringConstructor;
            default: undefined;
        };
        loading: {
            type: BooleanConstructor;
            default: boolean;
        };
        pressedBehavior: {
            type: import("vue").PropType<"opacity" | "mask">;
            default: string;
            validator: (value: string) => boolean;
        };
        pressedOpacity: {
            type: NumberConstructor;
            default: number;
        };
        pressedMaskColor: {
            type: StringConstructor;
            default: string;
        };
        hoverBehavior: {
            type: import("vue").PropType<"opacity" | "mask">;
            default: string;
            validator: (value: string) => boolean;
        };
        hoverOpacity: {
            type: (StringConstructor | NumberConstructor)[];
            default: number;
        };
        hoverMaskColor: {
            type: StringConstructor;
            default: string;
        };
        sizesConfig: {
            type: import("vue").PropType<Record<string, any>>;
            default: () => import("../../services/global-config").SizeConfig;
        };
        fontSizesConfig: {
            type: import("vue").PropType<Record<string, any>>;
            default: () => import("../../services/global-config").SizeConfig;
        };
        preset: {
            type: import("vue").PropType<import("../../composables").PresetPropValue>;
            default: undefined;
        };
    }>>, {
        focus: () => void;
        blur: () => void;
    }, {}, {}, {}, {
        size: "small" | "medium" | "large";
        replace: boolean;
        type: string;
        preset: import("../../composables").PresetPropValue;
        target: string;
        color: import("../../composables").ColorName;
        textColor: string;
        icon: string;
        borderColor: string;
        gradient: boolean;
        tag: string;
        sizesConfig: Record<string, any>;
        fontSizesConfig: Record<string, any>;
        loading: boolean;
        block: boolean;
        disabled: boolean;
        textOpacity: string | number;
        backgroundOpacity: string | number;
        plain: boolean;
        round: boolean;
        iconRight: string;
        iconColor: string;
        to: string | Record<string, any>;
        append: boolean;
        exact: boolean;
        activeClass: string;
        exactActiveClass: string;
        href: string;
        pressedBehavior: "opacity" | "mask";
        pressedOpacity: number;
        pressedMaskColor: string;
        hoverBehavior: "opacity" | "mask";
        hoverOpacity: string | number;
        hoverMaskColor: string;
    }>;
    __isFragment?: undefined;
    __isTeleport?: undefined;
    __isSuspense?: undefined;
} & import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
    tag: {
        type: StringConstructor;
        default: string;
    };
    type: {
        type: StringConstructor;
        default: string;
    };
    block: {
        type: BooleanConstructor;
        default: boolean;
    };
    disabled: {
        type: BooleanConstructor;
        default: boolean;
    };
    color: {
        type: import("vue").PropType<import("../../composables").ColorName>;
        default: string;
    };
    textColor: {
        type: StringConstructor;
        default: string;
    };
    textOpacity: {
        type: (StringConstructor | NumberConstructor)[];
        default: number;
    };
    backgroundOpacity: {
        type: (StringConstructor | NumberConstructor)[];
        default: number;
    };
    borderColor: {
        type: StringConstructor;
        default: string;
    };
    gradient: {
        type: BooleanConstructor;
        default: boolean;
    };
    plain: {
        type: BooleanConstructor;
        default: boolean;
    };
    round: {
        type: BooleanConstructor;
        default: boolean;
    };
    size: {
        type: import("vue").PropType<"small" | "medium" | "large">;
        default: string;
        validator: (v: string) => boolean;
    };
    icon: {
        type: StringConstructor;
        default: string;
    };
    iconRight: {
        type: StringConstructor;
        default: string;
    };
    iconColor: {
        type: StringConstructor;
        default: string;
    };
    to: {
        type: import("vue").PropType<string | Record<string, any>>;
        default: undefined;
    };
    replace: {
        type: BooleanConstructor;
        default: undefined;
    };
    append: {
        type: BooleanConstructor;
        default: undefined;
    };
    exact: {
        type: BooleanConstructor;
        default: undefined;
    };
    activeClass: {
        type: StringConstructor;
        default: undefined;
    };
    exactActiveClass: {
        type: StringConstructor;
        default: undefined;
    };
    href: {
        type: StringConstructor;
        default: undefined;
    };
    target: {
        type: StringConstructor;
        default: undefined;
    };
    loading: {
        type: BooleanConstructor;
        default: boolean;
    };
    pressedBehavior: {
        type: import("vue").PropType<"opacity" | "mask">;
        default: string;
        validator: (value: string) => boolean;
    };
    pressedOpacity: {
        type: NumberConstructor;
        default: number;
    };
    pressedMaskColor: {
        type: StringConstructor;
        default: string;
    };
    hoverBehavior: {
        type: import("vue").PropType<"opacity" | "mask">;
        default: string;
        validator: (value: string) => boolean;
    };
    hoverOpacity: {
        type: (StringConstructor | NumberConstructor)[];
        default: number;
    };
    hoverMaskColor: {
        type: StringConstructor;
        default: string;
    };
    sizesConfig: {
        type: import("vue").PropType<Record<string, any>>;
        default: () => import("../../services/global-config").SizeConfig;
    };
    fontSizesConfig: {
        type: import("vue").PropType<Record<string, any>>;
        default: () => import("../../services/global-config").SizeConfig;
    };
    preset: {
        type: import("vue").PropType<import("../../composables").PresetPropValue>;
        default: undefined;
    };
}>>, {
    focus: () => void;
    blur: () => void;
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {
    size: "small" | "medium" | "large";
    replace: boolean;
    type: string;
    preset: import("../../composables").PresetPropValue;
    target: string;
    color: import("../../composables").ColorName;
    textColor: string;
    icon: string;
    borderColor: string;
    gradient: boolean;
    tag: string;
    sizesConfig: Record<string, any>;
    fontSizesConfig: Record<string, any>;
    loading: boolean;
    block: boolean;
    disabled: boolean;
    textOpacity: string | number;
    backgroundOpacity: string | number;
    plain: boolean;
    round: boolean;
    iconRight: string;
    iconColor: string;
    to: string | Record<string, any>;
    append: boolean;
    exact: boolean;
    activeClass: string;
    exactActiveClass: string;
    href: string;
    pressedBehavior: "opacity" | "mask";
    pressedOpacity: number;
    pressedMaskColor: string;
    hoverBehavior: "opacity" | "mask";
    hoverOpacity: string | number;
    hoverMaskColor: string;
}, {}, string, {}> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & (new () => {
    $slots: {
        prepend?(_: {
            icon: string;
            iconAttributes: {
                color: string;
                size: "small" | "medium" | "large";
            };
        }): any;
        default?(_: {}): any;
        append?(_: {
            icon: string;
            iconAttributes: {
                color: string;
                size: "small" | "medium" | "large";
            };
        }): any;
        loading?(_: {
            size: string;
            color: string;
        }): any;
    };
});
