import { type WithElementRef } from '../utils.js'; import type { HTMLAnchorAttributes, HTMLButtonAttributes } from 'svelte/elements'; import { type VariantProps } from 'tailwind-variants'; import type { IconSource } from '@steeze-ui/svelte-icon'; export declare const buttonVariants: import("tailwind-variants").TVReturnType<{ variant: { primary: string; warning: string; danger: string; outline: string; ghost: string; secondary: string; selected: string; dark: string; 'dark-ghost': string; }; size: { sm: string; md: string; lg: string; }; iconOnly: { true: string; false: string; }; hasIcon: { true: string; false: string; }; stackedLeft: { true: string; false: string; }; stackedRight: { true: string; false: string; }; }, undefined, "inline-flex items-center justify-center font-medium text-base whitespace-nowrap focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-border-selected focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-30 relative overflow-hidden box-border cursor-pointer", { variant: { primary: string; warning: string; danger: string; outline: string; ghost: string; secondary: string; selected: string; dark: string; 'dark-ghost': string; }; size: { sm: string; md: string; lg: string; }; iconOnly: { true: string; false: string; }; hasIcon: { true: string; false: string; }; stackedLeft: { true: string; false: string; }; stackedRight: { true: string; false: string; }; }, undefined, import("tailwind-variants").TVReturnType<{ variant: { primary: string; warning: string; danger: string; outline: string; ghost: string; secondary: string; selected: string; dark: string; 'dark-ghost': string; }; size: { sm: string; md: string; lg: string; }; iconOnly: { true: string; false: string; }; hasIcon: { true: string; false: string; }; stackedLeft: { true: string; false: string; }; stackedRight: { true: string; false: string; }; }, undefined, "inline-flex items-center justify-center font-medium text-base whitespace-nowrap focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-border-selected focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-30 relative overflow-hidden box-border cursor-pointer", unknown, unknown, undefined>>; export type ButtonVariant = VariantProps['variant']; export type ButtonSize = VariantProps['size']; export type ButtonProps = WithElementRef & WithElementRef & { variant?: ButtonVariant; size?: ButtonSize; icon?: IconSource; iconPosition?: 'left' | 'right'; iconClass?: string; stackedLeft?: boolean; stackedRight?: boolean; shortcut?: boolean; }; declare const Button: import("svelte").Component; type Button = ReturnType; export default Button;