import { BButtonProps } from '../../types/ComponentProps';
import { ColorVariant } from '../../types/ColorTypes';
import { BButtonSlots } from '../../types';
type __VLS_Props = Omit<BButtonProps, 'pressed'>;
type __VLS_PublicProps = {
    'pressed'?: BButtonProps['pressed'];
} & __VLS_Props;
declare function __VLS_template(): {
    attrs: Partial<{}>;
    slots: Readonly<BButtonSlots> & BButtonSlots;
    refs: {
        _element: unknown;
    };
    rootEl: any;
};
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
declare const __VLS_component: import('vue').DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
    click: (value: MouseEvent) => any;
    "update:pressed": (value: boolean | undefined) => any;
}, string, import('vue').PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
    onClick?: ((value: MouseEvent) => any) | undefined;
    "onUpdate:pressed"?: ((value: boolean | undefined) => any) | undefined;
}>, {
    disabled: boolean;
    to: import('vue-router').RouteLocationRaw;
    size: import('../..').Size;
    pill: boolean;
    target: import('../..').LinkTarget;
    type: import('../..').ButtonType;
    routerTag: string;
    active: boolean;
    activeClass: string;
    exactActiveClass: string;
    href: string;
    icon: boolean;
    opacity: import('../..').LinkOpacity;
    opacityHover: import('../..').LinkOpacity;
    rel: string;
    replace: boolean;
    routerComponentName: string | import('vue').Component;
    stretched: boolean;
    underlineOffset: import('../..').UnderlineOffset;
    underlineOffsetHover: import('../..').UnderlineOffset;
    underlineOpacity: import('../..').UnderlineOpacity;
    underlineOpacityHover: import('../..').UnderlineOpacity;
    underlineVariant: ColorVariant | null;
    variant: (import('../..').ButtonVariant | ("link-primary" | "link-secondary" | "link-success" | "link-danger" | "link-warning" | "link-info" | "link-light" | "link-dark")) | null;
    tag: string;
    loading: boolean;
    loadingFill: boolean;
    loadingText: string;
    squared: boolean;
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
    _element: unknown;
}, any>;
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
export default _default;
type __VLS_WithTemplateSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};
