import { HTMLAttributes } from 'vue';
type ButtonVariant = 'default' | 'primary' | 'destructive' | 'outline' | 'secondary' | 'ghost' | 'link';
type ButtonSize = 'default' | 'xs' | 'sm' | 'lg' | 'icon' | 'icon-sm' | 'icon-lg';
type __VLS_Props = {
variant?: ButtonVariant;
size?: ButtonSize;
disabled?: boolean;
title?: string;
class?: HTMLAttributes['class'];
};
declare function __VLS_template(): {
attrs: Partial<{}>;
slots: {
default?(_: {}): any;
};
refs: {};
rootEl: HTMLButtonElement;
};
type __VLS_TemplateResult = ReturnType;
declare const __VLS_component: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
size: ButtonSize;
variant: ButtonVariant;
disabled: boolean;
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLButtonElement>;
declare const _default: __VLS_WithTemplateSlots;
export default _default;
type __VLS_WithTemplateSlots = T & {
new (): {
$slots: S;
};
};