import { BButtonProps } from '../../types/ComponentProps';
import { ColorVariant } from '../../types/ColorTypes';
declare let __VLS_typeProps: Omit<BButtonProps, 'pressed'>;
type __VLS_PublicProps = {
    'pressed'?: BButtonProps['pressed'];
} & typeof __VLS_typeProps;
declare function __VLS_template(): {
    slots: Readonly<{
        default?: (props: Record<string, never>) => any;
        loading?: (props: Record<string, never>) => any;
        'loading-spinner'?: (props: Record<string, never>) => any;
    }> & {
        default?: (props: Record<string, never>) => any;
        loading?: (props: Record<string, never>) => any;
        'loading-spinner'?: (props: Record<string, never>) => any;
    };
    refs: {
        _element: unknown;
    };
    attrs: Partial<{}>;
};
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": (pressed: boolean | undefined) => any;
}, string, import('vue').PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
    onClick?: ((value: MouseEvent) => any) | undefined;
    "onUpdate:pressed"?: ((pressed: boolean | undefined) => any) | undefined;
}>, {
    disabled: boolean;
    to: import('vue-router').RouteLocationRaw;
    pill: boolean;
    size: import('../..').Size;
    underlineOffset: 1 | 2 | 3 | "1" | "2" | "3";
    underlineOffsetHover: 1 | 2 | 3 | "1" | "2" | "3";
    underlineOpacity: 0 | 10 | 25 | 50 | 75 | 100 | "0" | "10" | "25" | "50" | "75" | "100";
    underlineOpacityHover: 0 | 10 | 25 | 50 | 75 | 100 | "0" | "10" | "25" | "50" | "75" | "100";
    underlineVariant: ColorVariant | null;
    active: boolean;
    activeClass: string;
    exactActiveClass: string;
    href: string;
    icon: boolean;
    opacity: 10 | 25 | 50 | 75 | 100 | "10" | "25" | "50" | "75" | "100";
    opacityHover: 10 | 25 | 50 | 75 | 100 | "10" | "25" | "50" | "75" | "100";
    rel: string;
    replace: boolean;
    routerComponentName: string;
    routerTag: string;
    stretched: boolean;
    target: import('../..').LinkTarget;
    variant: (import('../..').ButtonVariant | ("link-primary" | "link-secondary" | "link-success" | "link-danger" | "link-warning" | "link-info" | "link-light" | "link-dark")) | null;
    type: import('../..').ButtonType;
    tag: string;
    loading: boolean;
    loadingFill: boolean;
    loadingText: string;
    squared: boolean;
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
export default _default;
type __VLS_WithTemplateSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};
