import { IconType, ExtendedThemeType, TranslatableString, GradientProp, GradientDirProp } from '..';
type __VLS_Props = {
disabled?: boolean;
icon?: IconType;
iconEnd?: IconType;
iconSize?: number | string;
iconMobileSize?: number | string;
color?: ExtendedThemeType;
variant?: 'solid' | 'flat' | 'outline' | 'soft' | 'frost';
/** Boolean variant shorthands: — same as variant="flat" */
flat?: boolean;
outline?: boolean;
/** Soft variant: light tinted bg + full-color text & border, driven by `color`.
Shorthand for variant="soft". e.g. */
soft?: boolean;
/** Frost variant: translucent + blur, tinted by `color`. Reads beautifully
over photos / gradients / dark heroes. Shorthand for variant="frost". */
frost?: boolean;
/** Gradient fill (white text). Boolean = auto (a darker shade of `color`);
or a space-separated tone list — "purple" pairs with `color`
(blue→purple), "blue purple pink" defines all stops. */
gradient?: GradientProp;
/** Gradient direction: a named direction ("to-br") or an angle in degrees
(45 or "45"). Defaults to 135deg. */
gradientDir?: GradientDirProp;
/** Solid fill + a hairline border (keeps the background, unlike `outline`). */
frame?: boolean;
/** @deprecated Use `outline` */
border?: boolean;
thin?: boolean;
size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl';
/** Boolean size shorthands: */
xs?: boolean;
sm?: boolean;
md?: boolean;
lg?: boolean;
xl?: boolean;
type?: 'button' | 'submit' | 'reset';
loading?: boolean;
role?: string;
value?: TranslatableString;
to?: string | Record;
href?: string;
round?: boolean;
is?: string;
ripple?: boolean;
fullWidth?: boolean;
fullWidthMobile?: boolean;
alignTxt?: 'center' | 'start' | 'end';
alignTxtMobile?: 'center' | 'start' | 'end';
onClick?: (e: MouseEvent) => void;
confirm?: boolean | string;
};
declare function __VLS_template(): {
attrs: Partial<{}>;
slots: {
default?(_: {}): any;
};
refs: {};
rootEl: any;
};
type __VLS_TemplateResult = ReturnType;
declare const __VLS_component: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
confirmed: (event: MouseEvent) => any;
}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
onConfirmed?: ((event: MouseEvent) => any) | undefined;
}>, {
onClick: (e: MouseEvent) => void;
round: boolean;
type: "button" | "submit" | "reset";
disabled: boolean;
border: boolean;
outline: boolean;
fullWidth: boolean;
ripple: boolean;
loading: boolean;
role: string;
is: string;
fullWidthMobile: boolean;
alignTxt: "center" | "start" | "end";
alignTxtMobile: "center" | "start" | "end";
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
declare const _default: __VLS_WithTemplateSlots;
export default _default;
type __VLS_WithTemplateSlots = T & {
new (): {
$slots: S;
};
};
//# sourceMappingURL=Btn.vue.d.ts.map