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; }; };