import { VNode } from 'vue';
export type BxButtonProps = {
    size?: 'tiny' | 'small' | 'medium' | 'large';
    round?: boolean;
    circle?: boolean;
    secondary?: boolean;
    tertiary?: boolean;
    quaternary?: boolean;
    disabled?: boolean;
    centered?: boolean;
    active?: boolean;
    tag?: 'a' | 'button';
    loading?: boolean;
    iconOnly?: boolean;
    iconPosition?: 'left' | 'right';
    state?: 'default' | 'active' | 'success' | 'error' | 'warning';
    /** Accessible name. Required for icon-only buttons that have no visible text. */
    ariaLabel?: string;
};
type __VLS_Slots = {
    default?: () => VNode[] | VNode;
    icon?: () => VNode[] | VNode;
};
declare const __VLS_component: import("vue").DefineComponent<BxButtonProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
    click: (event: MouseEvent) => any;
}, string, import("vue").PublicProps, Readonly<BxButtonProps> & Readonly<{
    onClick?: ((event: MouseEvent) => any) | undefined;
}>, {
    round: boolean;
    circle: boolean;
    size: "tiny" | "small" | "medium" | "large";
    active: boolean;
    secondary: boolean;
    tertiary: boolean;
    quaternary: boolean;
    disabled: boolean;
    tag: "a" | "button";
    loading: boolean;
    iconOnly: boolean;
    iconPosition: "left" | "right";
    state: "default" | "active" | "success" | "error" | "warning";
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
export default _default;
type __VLS_WithSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};
