import type { PropType } from 'vue';
declare const _default: import("vue").DefineComponent<{
    /**
     * The active state of the button
     * @type Boolean
     * @default false
     * @name active
     */
    active: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * Display the button as a block, spanning the full container width
     * @type Boolean
     * @default false
     * @name block
     */
    block: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * Display the button as a circle
     * @type Boolean
     * @default false
     * @name circle
     */
    circle: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * The color variant of the button
     * @type primary | success | light | dark | info | success | warning | danger
     * @default
     * @name color
     */
    color: {
        type: StringConstructor;
        default: undefined;
    };
    /**
     * The disabled state of the button
     * @type Boolean
     * @default false
     * @name disabled
     */
    disabled: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * Renders the component as an anchor link with a `href` attribute
     * @type String
     * @default undefined
     * @name to
     */
    href: {
        type: StringConstructor;
        default: undefined;
    };
    /**
     * Display the button as a link
     * @type Boolean
     * @default false
     * @name link
     */
    link: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * The loading state of the button
     * @type Boolean
     * @default false
     * @name loading
     */
    loading: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * Display the button loading icon when loading state is active
     * @type Boolean
     * @default true
     * @name showLoadingIcon
     */
    showLoadingIcon: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * Display the button as an outline button
     * @type Boolean
     * @default false
     * @name outline
     */
    outline: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * Set the HTML tag to be used for rendering the button
     * @type String
     * @default button
     * @name tag
     */
    tag: {
        type: StringConstructor;
        default: string;
    };
    /**
     * The tabindex of the button
     * @type Number | String
     * @default 0
     * @name tabindex
     */
    tabindex: {
        type: PropType<string | number>;
        default: number;
    };
    /**
     * Renders the component as a Router Link component with a `to` attribute
     * @type String
     * @default undefined
     * @name to
     */
    to: {
        type: PropType<string | object>;
        default: undefined;
    };
    /**
     * The type of the button
     * @type button | submit | reset | undefined
     * @default
     * @name type
     */
    type: {
        type: PropType<string>;
        default: string;
    };
    /**
     * The size variant of the button
     * @type sm | md | lg
     * @default
     * @name size
     */
    size: {
        type: StringConstructor;
        default: undefined;
    };
}, {
    bindings: import("vue").ComputedRef<{
        role: string | null;
        type: string | null;
        tabindex: string | number;
        disabled: any;
        'aria-disabled': string | null;
        'aria-pressed': string | null;
        'aria-busy': string | null;
        'aria-live': string;
        to: string | object;
    } | {
        role: string | null;
        type: string | null;
        tabindex: string | number;
        disabled: any;
        'aria-disabled': string | null;
        'aria-pressed': string | null;
        'aria-busy': string | null;
        'aria-live': string;
        href: string;
    } | {
        role: string | null;
        type: string | null;
        tabindex: string | number;
        disabled: any;
        'aria-disabled': string | null;
        'aria-pressed': string | null;
        'aria-busy': string | null;
        'aria-live': string;
    }>;
    classes: import("vue").ComputedRef<{
        [x: string]: any;
        '-active': boolean;
        '-block': boolean;
        '-circle': boolean;
        '-disabled': any;
        '-link': boolean;
        '-outline': boolean;
        '-loading': boolean;
    }>;
    currentTag: import("vue").Ref<string>;
    tag: any;
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
    /**
     * The active state of the button
     * @type Boolean
     * @default false
     * @name active
     */
    active: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * Display the button as a block, spanning the full container width
     * @type Boolean
     * @default false
     * @name block
     */
    block: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * Display the button as a circle
     * @type Boolean
     * @default false
     * @name circle
     */
    circle: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * The color variant of the button
     * @type primary | success | light | dark | info | success | warning | danger
     * @default
     * @name color
     */
    color: {
        type: StringConstructor;
        default: undefined;
    };
    /**
     * The disabled state of the button
     * @type Boolean
     * @default false
     * @name disabled
     */
    disabled: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * Renders the component as an anchor link with a `href` attribute
     * @type String
     * @default undefined
     * @name to
     */
    href: {
        type: StringConstructor;
        default: undefined;
    };
    /**
     * Display the button as a link
     * @type Boolean
     * @default false
     * @name link
     */
    link: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * The loading state of the button
     * @type Boolean
     * @default false
     * @name loading
     */
    loading: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * Display the button loading icon when loading state is active
     * @type Boolean
     * @default true
     * @name showLoadingIcon
     */
    showLoadingIcon: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * Display the button as an outline button
     * @type Boolean
     * @default false
     * @name outline
     */
    outline: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * Set the HTML tag to be used for rendering the button
     * @type String
     * @default button
     * @name tag
     */
    tag: {
        type: StringConstructor;
        default: string;
    };
    /**
     * The tabindex of the button
     * @type Number | String
     * @default 0
     * @name tabindex
     */
    tabindex: {
        type: PropType<string | number>;
        default: number;
    };
    /**
     * Renders the component as a Router Link component with a `to` attribute
     * @type String
     * @default undefined
     * @name to
     */
    to: {
        type: PropType<string | object>;
        default: undefined;
    };
    /**
     * The type of the button
     * @type button | submit | reset | undefined
     * @default
     * @name type
     */
    type: {
        type: PropType<string>;
        default: string;
    };
    /**
     * The size variant of the button
     * @type sm | md | lg
     * @default
     * @name size
     */
    size: {
        type: StringConstructor;
        default: undefined;
    };
}>>, {
    circle: boolean;
    color: string;
    size: string;
    link: boolean;
    disabled: boolean;
    type: string;
    active: boolean;
    href: string;
    tabindex: string | number;
    tag: string;
    to: string | object;
    block: boolean;
    loading: boolean;
    showLoadingIcon: boolean;
    outline: boolean;
}, {}>;
export default _default;
